"" " " "" __Author__ = ' shaozhiqi ' # どのように我々は、そのオブジェクトがどのような種類、使用タイプ()を知っています 印刷(タイプ(123)) #<クラスのint型'> 印刷(タイプ(' ABC ')) #<クラス'STR'> 印刷(タイプ(なし)) #<クラスのNoneType '> 印刷(タイプ(ABS)) #<クラスのbuiltin_function_or_method'> 印刷(タイプ(123)==タイプ(456)) #トゥルー プリント(タイプ(123)== int型) #トゥルー プリント(タイプ(' ABC ')== STR) #真 印刷(タイプ(' ABC ')==タイプ(123)) #偽 #は、オブジェクトが関数であるか否かを判断する インポートの種類 DEF のFn(): 渡し 印刷(タイプ(FN)を== types.FunctionType ) #真 印刷 == types.BuiltinFunctionType)(タイプ(ABSの) #真 #でisinstanceには、()の目的は、型自体であるかどうか、または親継承チェーンの種類に決定することである 。#セクション二十から四に記載されているように #の印刷(でisinstance(動物)犬、)真#1 #を入力することができる()は、実質的でisinstance()のタイプにより決定することができる プリント(でisinstance(「A 」、STR)) #真 印刷(でisinstance(123、INT)) #真 印刷(でisinstance(B ' A '、バイト)) #真 #でisinstanceは、変数が特定のタイプであるか否かを判断することができる プリント(でisinstance( [1、2 ,. 3 ]、(リスト、タプル))) #DIR()------------------------------- ------------------------- #オブジェクトを取得するすべてのプロパティとメソッドは、リストを含む文字列を返すDIR()関数を使用することができます 印刷(DIR(' ABC ' )) #[ '__add__'、 '__class__'、 '__contains__'、 '__delattr__'、 '__ DIR__'、 '__doc__'、 '__eq__'、 '__format__'、 '__ge__'、 '__getattribute__'、 '__getitem__'、 '__getnewargs__'、 ' __gt__」、 '__hash__'、 '__init__'、 '__init_subclass__'、 '__iter__'、 '__le__'、 '__len__'、 '__lt__'、 '__mod__'、 '__mul__'、 '__ne__'、 '__new__'、 '__reduce__' '__reduce_ex__'、 '__repr__'、 '__rmod__'、 '__rmul__'、 '__setattr__'、 '__sizeof__'、 '__str__'、 '__subclasshook__'、 '活用'、 '引数casefold'、 '中央'、 '数'、 'エンコード ' 'endswith'、 'expandtabs'、 '見つけます'、'フォーマット」、 'format_map'、 'インデックス'、 'isalnum'、 'はisalpha'、 'isasciiは'、 'isdecimal'、 'isdigit'、 'isIdentifierと'、 'islowerは'、 'ISNUMERIC'、 'isprintable'、 'isspace' 'istitle'、 'isupper'、 '参加'、 'として、ljust'、 '下'、 'lstrip'、 'maketrans'、 'パーティション'、 '置き換え'、 'RFIND'、 'RINDEX'、 'RJUST'、 ' rpartition」、 'rsplit'、 'rstrip'、 '分割'、 '分割線'、 'STARTSWITH'、 'ストリップ'、 'swapcase'、 'タイトル'、 '翻訳'、 '上位'、 'zfill']isIdentifierと」、 'islowerは'、 'ISNUMERIC'、 'isprintable'、 'isspace'、 'istitle'、 'isupper'、 ''、 'として、ljust'、 '下'、 'lstrip'、 'maketrans'、 'パーティション' を参加、 '、 'RFIND'、 'RINDEX'、 'RJUST'、 'rpartition'、 'rsplit'、 'rstrip'、 '分割'、 '分割線'、 'STARTSWITH'、 'ストリップ'、 'swapcase'、 '交換してください'タイトル」、 ''、 '翻訳上部の'、 'zfill']isIdentifierと」、 'islowerは'、 'ISNUMERIC'、 'isprintable'、 'isspace'、 'istitle'、 'isupper'、 ''、 'として、ljust'、 '下'、 'lstrip'、 'maketrans'、 'パーティション' を参加、 '、 'RFIND'、 'RINDEX'、 'RJUST'、 'rpartition'、 'rsplit'、 'rstrip'、 '分割'、 '分割線'、 'STARTSWITH'、 'ストリップ'、 'swapcase'、 '交換してください'タイトル」、 ''、 '翻訳上部の'、 'zfill']'rpartition'、 'rsplit'、 'rstrip'、 '分割'、 '分割線'、 'STARTSWITH'、 'ストリップ'、 'swapcase'、 'タイトル'、 '翻訳'、 '上位'、 'zfill']'rpartition'、 'rsplit'、 'rstrip'、 '分割'、 '分割線'、 'STARTSWITH'、 'ストリップ'、 'swapcase'、 'タイトル'、 '翻訳'、 '上位'、 'zfill'] #Pythonで同様__xxx__プロパティおよびメソッドは、そのような方法として、すべての特別な目的は、__len__長さを返しています。 #あなたがlenを呼び出す場合はPythonでは、()関数は、自動的にオブジェクトの__len __()メソッドを呼び出すために行ってきましたLEN()関数で、内部で、実際には、オブジェクトの長さを取得しようとすると 印刷を(LEN(「ABC 」)) #3 印刷(' ABC '。__len__()) #3 #はまた、私たち自身の書き込みクラス__len__の中で定義することができ たクラスmyDog(オブジェクト): DEF __init__ (セルフ): self.nameDog = ' 犬' DEFの __len__ (セルフ): 返す 100 DEF RUN(セルフ): プリント(' 実行....... ' ) 犬 = myDog() プリント(LEN(犬)) #100 __len__削除方法指定された 印刷(' ABC ' .lower()) #ABCの 印刷(はhasattr(犬、' nameDog ')) #真そこはnameDogプロパティがありません 印刷(はhasattr(犬、' 色に')) #偽何色属性 SETATTR(犬、' 色'、' 黒と白') #をプロパティ「色」の設定 を印刷(はhasattr(犬、「色」)) #真 印刷(GETATTR(犬、「色」)) #の中で得られたモノクロの属性値 を印刷(dog.color) #の中で 印刷(GETATTR(犬、' 年齢'、' 404 ')) #404が存在しないプロパティは、エラーを報告し、デフォルト値処理404に設定されます取得 #取得したオブジェクトのメソッドの 印刷(はhasattr(犬、' RUN ')) #真 のFn =のgetattr(犬、" RUN" ) のFn() #のランニング....... #----------インスタンスの属性---------------------- -------------------------- クラス学生(オブジェクト): 名 = ' 学生' DEF __init__ (セルフ、名): self.name = 名前 S =学生(' ボブ' ) s.score = 90 印刷(s.name、' '、s.score) #ボブ、90 印刷(Student.name) #の学生 #は、プロパティ削除デルを s.name 印刷(s.name、' '、s.score) #の学生、90 Student.name = ' STUDENT1 ' 印刷(s.name、' '、s.score) #1 STUDENT1、90 #インスタンス属性の場合そして、クラスが同じ名前の属性を実際の開発は避けて、クラスのインスタンスの属性は、プロパティが上書きされます。これを行うには、実際のビジネスニーズがある場合を除き