検索
ホームページバックエンド開発Python チュートリアル【Python学習】オブジェクト指向プログラミング

プロセス指向プログラミングでは、コンピューター プログラムを一連のコマンド セット、つまり一連の関数を順次実行するものとみなします。 。プログラミングを簡素化するために、プロセス指向の関数は引き続きサブ関数に分割されます。つまり、大きな関数が小さな関数に分割されて、システムの複雑さが軽減されます。

Python と Java はどちらもオブジェクト指向言語です。オブジェクト指向プログラミングの特徴データのカプセル化、継承、ポリモーフィズム
1. クラスとインスタンス
オブジェクト指向プログラミングの最も重要な概念はクラスとインスタンスです)、クラスは Student クラスなどの抽象テンプレートであり、インスタンスはクラスに基づいて作成された特定の「オブジェクト」であることを覚えておく必要があります。各オブジェクトには同じメソッドがありますが、そのデータは異なる場合があります。
Python では、クラス キーワードはクラスを定義するためにも使用されます。クラスの後にはクラス名が続きますが、最初は大文字にする必要があります。その後の括弧は、どのクラスを継承するか、つまりその親クラスを示します。

class Student(object):
    pass

この変数には属性を自由にバインドできます

>>>nick.name = 'Liu Ling Hao'
>>>nick.name
'Liu Ling Hao'

後で定義されるさまざまな関数はメソッドです。要約オブジェクト = 属性メソッド

クラスはテンプレートとして機能できるため、インスタンスを作成するときに、バインドする必要があると思われるいくつかの属性を強制的に入力できます。現時点では、より特別な __init__ メソッドを使用する必要があります。 (int の前後に 2 つのアンダースコアがあります)

__init__ メソッドの最初のパラメーターは常に self で、作成されたインスタンス自体を表します。

class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = scor
>>> bart = Student('Bart Simpson', 59)
>>> bart.name
'Bart Simpson'
>>> bart.score
59

__init__ メソッドがある場合、インスタンスの作成時に空のパラメーターを渡すことはできません。__init__ メソッドに一致するパラメーターを渡す必要があります2. カプセル化、継承、ポリモーフィズム

オブジェクト指向プログラミングの重要な機能は、データのカプセル化です。

上の例の名前とスコアと同様に、クラス内で定義された関数を通じて直接アクセスできます。たとえば、データの一部を追加したり、リストを並べ替えたりできます。実装はできますが、実装はできません。インテリアは、どう調整するかで決まる。

クラスを定義する際、既存のクラスを継承することができ、新たに作成したクラスをサブクラス(Subclass)、継承したクラスを基底クラスまたは親クラスと呼びます。クラス(ベースクラス、スーパークラス)。

継承の利点は、親クラスのすべての機能を取得できることです。サブクラスの場合は、親クラスに基づいて書き続けることができるため、より便利です。

class Person(object):
    def idea(self):
        print('study is happy')class Liu(Person):
    pass
liu =Liu()liu.idea

study is happy

もちろん、サブクラスが親クラスと同じメソッドがある場合、親クラスのメソッドを自動的にオーバーライドします。

ポリモーフィズム: 異なるオブジェクトが同じメソッドの異なるアクションに応答する

>>>class Nick1:
    def name(self):
          	 print("我是1")
>>>class Nick2:
    def name(self):
    		 print("我是2") 
>>>a = Nick1()
>>>b = Nick2()
>>>a.name
我是1
>>>b.name
我是2

使用されている関数名は同じですが、実装は異なります。

def run(animal):
    animal.run()
    animal.run()
    >>> run(Animal())
Animal is running...
Animal is running...
>>> run_twice(Dog())
Dog is running...
Dog is running...

ポリモーフィズムの利点は、Dog または他の動物を渡す必要がある場合、Dog はすべて Animal タイプであるため、Animal タイプを受け取るだけで済み、Animal タイプに従って動作することです。 Animal 型には run() メソッドがあるため、渡された型は、Animal クラスまたはサブクラスである限り、実際の型の run() メソッドを自動的に呼び出します。これがポリモーフィズムです。

[おすすめコース: Python ビデオ チュートリアル

]###

以上が【Python学習】オブジェクト指向プログラミングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Python:自動化、スクリプト、およびタスク管理Python:自動化、スクリプト、およびタスク管理Apr 16, 2025 am 12:14 AM

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

Pythonと時間:勉強時間を最大限に活用するPythonと時間:勉強時間を最大限に活用するApr 14, 2025 am 12:02 AM

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Python:ゲーム、GUIなどPython:ゲーム、GUIなどApr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール