類別的實例化介紹

零下一度
發布: 2017-07-20 21:06:14
原創
2823 人瀏覽過

一、定義一個類別

class Dog(object):   # 定义class

    def __init__(self, name):  # 构造函数,构造方法 == 初始化方法
        self.name = name   # d.name = name  类的属性 / 成员变量

    def say_hi(self):   # 类的方法
        print("Hello, I am a dog. My name is", self.name)

    def eat(self, food):
        print("%s is eating %s." % (self.name, food))


d = Dog("xiaohei")  # Dog(d,"xiaohei")  d == self

# d 实例化的对象即实例,类中的self相当于实例

d.say_hi()   # d.say_hai(d)

d.eat('beaf')
登入後複製
  • #第一種方法__init__()方法是一種特殊的方法,被稱為類別的建構子或初始化方法,當創建了這個類別的實例時就會呼叫該方法

  • self 代表類別的實例,self 在定義類別的方法時必須有的,雖然在調用時不必傳入對應的參數。

 二、self代表的實例,而非類別

  類別的方法與普通的函數只有一個特別的差異— —它們必須有一個額外的第一個參數名稱, 依照慣例它的名稱是self。

class Dog(object):

    def prt(self):
        print(self)
        print(self.__class__)

d = Dog()


print(d)
print("-------------")
d.prt()


#输出
<__main__.Dog object at 0x000001DDBD10C5F8>
-------------
<__main__.Dog object at 0x000001DDBD10C5F8>
<class &#39;__main__.Dog&#39;>
登入後複製

  從執行結果可以很明顯的看出,self 代表的是類別的實例,代表目前物件的位址,而 self.class 則指向類別。

 

三、建立實例物件

  實例化類別其他程式語言中一般用關鍵字new,但在Python 中並沒有這個關鍵字,類別的實例化類似函數呼叫方式。   

# 创建一个Dog类的对象
d = Dog("xiaohei")
登入後複製

  實例化後的物件又稱為:實例

 

四、存取屬性  

  您可以使用點(.)來存取物件的屬性 

# 通过 d.方法   来访问属性
d.eat(&#39;beaf&#39;)

#输出
xiaohei is eating beaf.
登入後複製

  

#

以上是類別的實例化介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板