Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonクラス内の宣言は__init__メソッド内の宣言と同等だと思いますか?


クラス内の宣言(__init__以外)と__init__methodの宣言は同じではありません。次のコードは、これが正しいことを示しています。

import sys
class foo():
    print 'within class'
    def __init__(self):
        print 'within init'
    def do_smthng(self):
        print 'do something'

def main():
    f=foo()
    f.do_smthng()
    return 0
if __name__ == '__main__':
    sys.exit( main() )
出力
within class
within init
do something

  1. Pythonの文字クラス操作とは何ですか?

    一部の正規表現エンジンでは、文字クラス内でいくつかの凝った操作が可能です。あるクラスに属しているが別のクラスには属していない文字を照合できます(減算)。あるクラスと別のクラスの両方に属する文字に一致する(交差)か、複数のクラスのいずれかに属する文字に一致する(ユニオン)。 Pythonのreモジュールを使用すると、AND演算子&&を使用して、文字クラス内の複数のクラスの共通部分を指定できます。[…&&[…]]は、2つのサブクラスの共通部分を表す文字クラスを指定します。クラスによって一致するものは、2つのサブクラスに属している必要があります。たとえば、[\ S &&[\ D]]は、非空白文字と

  2. なぜタプルはPythonで不変だと思いますか?

    次の理由により、タプルは不変です- 順序の維持-タプルは主にPythonで順序を示す方法として定義されています。たとえば、タプルのリストの形式でデータベースからデータを取得する場合、すべてのタプルは、フェッチしたフィールドの順序になります。 コピー効率-不変オブジェクトをコピーするのではなく、エイリアスを作成できます(変数を参照にバインドします) 比較効率-参照によるコピーを使用している場合、コンテンツではなく場所を比較することで2つの変数を比較できます インターン-不変の値のコピーを最大で1つ保存する必要があり、並行コードで不変オブジェクトへのアクセスを同期する必要は