Python物件導向(一) 乙個特殊方法的例子

2021-09-28 16:32:21 字數 1804 閱讀 6548

目錄

一:**的第一次實現

(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 以上 執行結果是 建立物件 初始化物件 由此...