Pythonフルスタック組み込み関数とダブルクリックメソッド

2つの組み込み関数:

多くの組み込み関数があり、2つはここで説明されています。

  1. isinstance()継承を含むオブジェクトのタイプを判別します
  2. issubclass()は、クラス間の継承関係を決定します
class A:
	pass
class B(A):
	pass
b = B()
print(isinstance(b,B))
print(isinstance(b,A))
#两个都返回True
class A:pass
class B(A):pass
print(issubclass(B,A)) #返回True,B是A的子类
print(issubclass(A,B)) #返回False

___名前__:

それ
呼び出すには4つの方法があります:それはクラスの特別なメソッド、
ダブルダウンメソッド、
マジックメソッド、
組み込みメソッドです

_ コール _

class A:
	def __call__(self,*args,**kwargs):
		print("执行call方法")
a = A()
a() #对象名() 相当于调用__call__方法
#或者
a = A()()

___len ___:

class Mylst:
	def __init__(self):
		self.lst = [1,2,3,4,5,6]
		self.name = 'alex'
	def __len__(self):
		print("执行__len__了")
		return len(self.lst)
l = Mylst()
print(len(l)

LEN(OBJ)このメソッドは、OBJの__len__を呼び出すことと等価である
_ LEN_メソッドの戻り値がlen関数の戻り値である
場合__len__方法ないOBJオブジェクトは、lenの関数エラー

___new ___:コンストラクタ

class Single:
    def __new__(cls, *args, **kwargs):
        obj = object.__new__(cls)
        print("在new方法里",obj)
        return obj

    def __init__(self):
        print("在init方法里",self)
s = Single()

1.オブジェクトに属するスペースを開く
2. オブジェクトのスペースをselfに渡し、initを実行する
3.このオブジェクトのスペースを呼び出し元に返す

元の記事を26件公開 賞賛5件 777回訪問

おすすめ

転載: blog.csdn.net/weixin_44730235/article/details/105272560