ホームページ >バックエンド開発 >Python チュートリアル >Pythonでクラスを定義できるのでしょうか?

Pythonでクラスを定義できるのでしょうか?

silencement
silencementオリジナル
2019-06-29 15:03:271851ブラウズ

Pythonでクラスを定義できるのでしょうか?

クラスとは何ですか?

は、同じプロパティとメソッドを持つオブジェクトのコレクションを記述するために使用されます。コレクション内のすべてのオブジェクトに共通のプロパティとメソッドを定義します。オブジェクトはクラスのインスタンスです。

その方法とは何ですか?

クラス内の関数はメソッドです

クラスを定義するにはどうすればよいですか?

クラスを定義します。構文形式は次のとおりです:

class ClassName:
    <statement-1>
    .
    .
    .
    <statement-N>

class キーワードは、Python でクラスを定義するために使用されます。クラスの命名規則は、クラスの最初の文字であることです。各単語は大文字にする必要があります。

#クラス オブジェクト

クラス オブジェクトは、属性参照とインスタンス化という 2 つの操作をサポートします。

属性参照では、Python のすべての属性参照と同じ標準構文 obj.name を使用します。

クラス オブジェクトが作成された後は、クラス名前空間内のすべての名前が有効な属性名になります。したがって、クラス定義が次のような場合:

class MyClass:    """一个简单的类实例"""
    i = 12345
    def f(self):        return &#39;hello world&#39;
 # 实例化类x = MyClass()
 # 访问类的属性和方法print("MyClass 类的属性 i 为:", x.i)print("MyClass 类的方法 f 输出为:", x.f())

上記のコードは、新しいクラス インスタンスを作成し、オブジェクトをローカル変数 x に割り当てます。x は空のオブジェクトです。

上記のプログラムを実行した出力結果は次のとおりです:

MyClass 类的属性 i 为: 12345
MyClass 类的方法 f 输出为: hello world

クラスには __init__() という名前の特別なメソッド (構築メソッド) があり、次に示すように、クラスがインスタンス化されるときに自動的に呼び出されます。以下のように:

def __init__(self):
    self.data = []

クラスは __init__() メソッドを定義し、クラスのインスタンス化操作によって自動的に __init__() メソッドが呼び出されます。クラス MyClass が次のようにインスタンス化されると、対応する __init__() メソッドが呼び出されます:

x = MyClass()

もちろん、__init__() メソッドにはパラメーターを含めることができ、パラメーターはクラスのインスタンス化操作に渡されます。 __init__() を介して。例:

class Complex:
    def __init__(self, realpart, imagpart):
        self.r = realpart
        self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i)   # 输出结果:3.0 -4.5

以上がPythonでクラスを定義できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。