目錄
一:**的第一次實現
(1):**片段
(2):執行結果
二:**的第二次實現
(1):**片段
(2):執行結果
三:分析與總結
class animal:
def __init__(self, new_name, new_age):
self.name = new_name
self.age = new_age
# def __str__(self):
# # 返回值
# return "名字是:%s , 年齡是:%d" % (self.name, self.age)
def eat(self):
print("%s在吃...." % self.name)
def drink(self):
print("%s在喝..." % self.name)
def introduce(self):
print("名字是:%s, 年齡是:%d" % (self.name, self.age))
# 建立了乙個物件
king = animal("牛魔王", 28)
第二行、臥槽、這是什麼鬼東西? (其實 列印出類名和類所在的位址)
class animal:
def __init__(self, new_name, new_age):
self.name = new_name
self.age = new_age
def __str__(self):
# 返回值
return "名字是:%s , 年齡是:%d" % (self.name, self.age)
def eat(self):
print("%s在吃...." % self.name)
def drink(self):
print("%s在喝..." % self.name)
def introduce(self):
print("名字是:%s, 年齡是:%d" % (self.name, self.age))
# 建立了乙個物件
king = animal("牛魔王", 28)
執行結果就是人能看懂的東西啦!!!
觀察第一次**實現與第二吃**實現、知識多了乙個特殊方法/魔法方法(前後雙下劃線、如__***x__())
從感性上認識、可以總結一下幾條
(1):在python中方法名如果是__***x__()的,那麼就有特殊的功能,因此叫做「魔法」方法當使用
(2):print輸出物件的時候,只要自己定義了__str__(self)方法,那麼就會列印從在這個方法中
(3):return的資料__str__方法需要返回乙個字串,當做這個物件的描寫
總結一句話:我們實現了__str__方法、可以知道自己想知道的類/物件 的屬性。總所周知、python是一門動態語言,python語言的動態性很大程度上是特殊方法支援的。本文的目的是對特殊方法有乙個感性的認識。 Python物件導向特殊成員
類的特殊成員之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 yang...
Python 物件導向 二 特殊方法
一些python特殊方法的彙總 bases 類的基類,返回元祖 base 類的基類,也叫父類 call 類名 類名加括號呼叫時執行的語句 class 物件或類所屬的類 del 析構方法,物件在記憶體中被釋放時,自動觸發執行 dict 類或例項的屬性,可寫的字典 doc 類 函式的文件字串,如果沒有定...
Python 物件導向 類的特殊成員
new 建立物件 init 初始化物件 class foo object def init self print 初始化物件 def new cls,args,kwargs print 建立物件 return object.new cls obj foo 以上 執行結果是 建立物件 初始化物件 由此...