Python物件導向特殊成員

2022-10-06 05:06:08 字數 3142 閱讀 7017

類的特殊成員之call

#!/usr/bin/env python

# _*_coding:utf-8 _*_

class specialmembers:

# 類的構造方法

def __init__(self):

print("my blog is url: ")

# 物件的構造方法

def __call__(self):

print("my name is: yangwen")

# 建立乙個物件,並且執行類的構造方法

obj = specialmembers()

# 執行物件的構造方法

obj()

# 先執行類的構造方法,然後在執行物件的構造方法

specialmembers()()

輸出yangwen@darker:~$ python3 /home/yangwen/文件/python_code/sublime/week06/day04/s2.py

my blog is url:

my name is: yangwen

my blog is url:

my name is: yangwen

類的特殊成員之getitem、setitem、delitem

#!/usr/bin/env python

# _*_coding:utf-8 _*_

class specialmembers:

# 當執行obj['value']的時候就會自動執行__getitem__方法,並且把物件括號內的值當做__getitem__的值

def __getitem__(self, item):

print(item)

def __setitem__(self, key, value):

print(key, acsuwpspxxvalue)

def __delitem__(self, key):

print(key)

# 建立乙個物件

obj = specialmembers()

# 自動執行__getitem__方法

obj['value']

# 自動執行__setitem__方法

obj['k1'] = "values"

# 自動執行__delitem__方法

del obj['key']

輸出ansheng@darker:~$ python3 /home/yangwen文件/python_code/sublime/week06/day04/s2.py

value

k1 values

key特殊的

#!/usr/bacsuwpspxxin/env python

# _*_coding:utf-8 _*_

class specialmembers:

# 當執行obj['value']的時候就會自動執行__getitem__方法,並且把物件括號內的值當做__getitem__的值

def __getitem__(self, item):

print(item, type(item), "__getitem__")

def __setitem__(self, key, value):

print(key, value)

def __delitem程式設計客棧__(self, key):

print(key)

# 建立乙個物件

obj = specialmembers()

# 自動執行__getitem__方法

obj[1:3] # __getslice__/__getitem__

# 自動執行__setitem__方法

obj[1:3] = [11, 22, 33] # __setslice__/__setitem__

# 自動執行__delitem__

del obj[1:3] # __delslice__/__delitem__

輸出yangwen@darker:~$ python3 /home/yangwen/文件/python_code/sublime/week06/day04/s2.py

slice(1, 3, none) __getitem__

slice(1, 3, none) [11, 22, 33]

slice(1, 3, none)

類的特殊成員之dict

獲取類或物件中的所有成員

#!/usr/bin/env python

# _*_coding:utf-8 _*_

class specialmembers:

"""類的注釋

"""def __init__(self):

self.name = "ansheng"

self.blog = ""

# 獲取類中的成員

print(specialmembers.__dict__)

# 建立乙個物件

obj = specialmembers()

# 獲取物件中的成員

print(obj.__dict__)

輸出yangwe python3 /home/yangwen/文件/python_code/sublime/week06/day04/s2.py

類的特殊成員之iter

乙個物件如果可以被for迴圈迭代時,說明物件中又__iter__方法,且方法中有yield值。

#!/usr/bin/env python

# _*_coding:utf-8 _*_

class specialmembers:

def __iter__(self):

yield 1

yield 2

yield 3

# 建立乙個物件

obj = specialmembers()

# 如果執行for迴圈物件時,自動會執行物件的__iter__方法,此時的__iter__就是乙個生成器

for i in obj:

print(i)

輸出yangwen@darker:~$ python3 /home/yangwen/文件/python_code/sublime/week06/day04/s2.py12

3本文標題: python物件導向特殊成員

本文位址: jiaoben/python/188512.html

Python 物件導向 類的特殊成員

new 建立物件 init 初始化物件 class foo object def init self print 初始化物件 def new cls,args,kwargs print 建立物件 return object.new cls obj foo 以上 執行結果是 建立物件 初始化物件 由此...

物件導向之成員修飾 特殊成員 methclass

物件導向之 1.成員修飾 2.特殊成員 3.methclass,類之源,type建立 一 成員修飾符 共有成員 私有成員,欄位名 無法直接訪問,只能間接訪問 class foo def init self,name,age self.name name self.age age self.age a...

Python 物件導向成員

python 物件導向成員 所有物件導向成員 6個 變數 2 例項變數 類變數方法 3 例項方法 類方法靜態方法 屬性 1 屬性 變數 類中的函式 例項變數 字段 寫在 init 中的變數,例項化乙個物件時就設定的變數 應用場景 當類中多個方法使用共同的某個值時,這時可以將該值封裝成例項變數,方便呼...