1.資訊格式化操作:__str__方法和__repr__方法
'''
__str__方法
'''class
dog:
def __init__
(self,n,h)
: self.name=n
self.height=h
def __str__
(self)
:return
"狗的名字:%s\n狗的體長:%s"
%(self.name,self.height)
dog1=
dog(
"小黃",50
)print
(dog1)
''' __repr__方法
'''import datetime
t=datetime.datetime.
now(
)print
(t) # 呼叫__str__方法,面向的是使用者t=
repr
(t)print(t
) # 面向的是開發人員
print
(eval(t
))
2.呼叫操作:__call__方法
'''
__call__方法:作用是使得物件具備當做函式來呼叫的能力
'''class
penfactory
: def __init__
(self,p_type)
: self.p_type=p_type
def __call__
(self,p_color)
:print
("建立的畫筆型別:%s,它的顏色是:%s"
%(self.p_type,p_color)
)gangbif=
penfactory
("鋼筆"
)gangbif
("red"
)gangbif
("blue"
)gangbif
("green"
)print
("-"*15
)qianbif=
penfactory
("鉛筆"
)qianbif
("black"
)qianbif
("yellow"
)qianbif
("brown"
)
3.索引操作:新增:__setitem__方法 獲取:__getitem__方法
刪除:__delitem__方法
4.切片操作:統一由「索引操作」進行管理
#--
----
----
----
----
----切片操作--
----
----
----
----
----
-class
person
: def __init__
(self)
: self.items=[1
,2,3
,4,5
,6,7
,8]
def __setitem__
(self, key, value)
: self.items[key]
=value
def __getitem__
(self, item)
:print
("getitem"
,item)
def __delitem__
(self, key)
:print
("delitem"
,key)
p=person()
p[0:4
:2]=
["a"
,"b"
] # start=
0,end=
4,step=
2,value=[1
,2]print
(p.items)
5.比較操作:
'''
比較操作
'''class
person
: def __init__
(self,age,height)
: self.age=age
self.height=height
def __eq__
(self, other)
:return self.age==other.age
def __ne__
(self, other)
:print
("比較不相等操作"
) def __gt__
(self, other)
:print
("大於操作"
) def __ge__
(self, other)
:print
("大於等於"
) def __lt__
(self, other)
:print
("小於"
) def __le__
(self, other)
:print
("小於等於"
)p1=
person(18
,180
)p2=
person(17
,190
)print
(p1==p2) #呼叫__eq__方法,比較兩人的年齡是否相等
print
(p1>p2) #呼叫__gt__方法
print
(p1>=p2) #呼叫__ge__方法
print
(p1!=p2) #呼叫__ne__方法
6.遍歷操作:讓自己建立的物件可以使用
for in遍歷:__getitem__方法,__iter__方法
next函式進行訪問
'''
__getitem__方法
'''class
person
: def __init__
(self)
: self.result=
1 def __getitem__
(self, item)
: self.result+=
1if self.result>=6:
raise stopiteration
("停止遍歷"
)return self.result
p=person()
for i in p:
print
(i)'''
__iter__方法
'''class
person
: def __init__
(self)
: self.result=
1 def __iter__
(self)
:print
("iter"
) # return
iter([
1,2,
3,4,
5])return self #例項本身就是迭代物件,故返回自己
def __next__
(self)
: self.result +=
1if self.result>=6:
raise stopiteration
("停止遍歷"
)return self.result
p=person()
for i in p:
print
(i)
python 內建 Python內建方法大全
新增元素 集合.add 集合.update 一次新增多個值 集合隨機刪除 集合.pop 集合刪除指定元素 集合.remove 沒有找到會奔潰 集合.discard 沒有找到不會奔潰 移除空白 strip 取字串兩邊空格 lstrip 取字串左邊空格 rstrip 取字串右邊空格 括號中可以新增引數指...
python內建 python內建方法總結
注意 內建函式id 可以返回乙個物件的身份,返回值為整數。這個整數通常對應與該物件在記憶體中的位置,但這與python的具體實現有關,不應該作為對身份的定義,即不夠精準,最精準的還是以記憶體位址為準。is運算子用於比較兩個物件的身份,等號比較兩個物件的值,內建函式type 則返回乙個物件的型別 以下...
python 內建函式和特殊函式
2 特殊函式 輸入輸出 記憶體相關 檔案操作相關 模組相關 幫助 呼叫相關 檢視內建屬性 字串型別 的執行 exec 動態執行 沒有返回值 complie 將乙個字串編譯成位元組 例子 in 8 eval 3 5 2 8 10 21 out 8 35.0 in 9 exec print 這是exec...