91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中實例化是什么意思

發布時間:2020-09-23 14:43:57 來源:億速云 閱讀:1437 作者:Leah 欄目:編程語言

python中實例化是什么意思?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

類的名稱一般用大寫字母開頭,這是慣例。當然,如果故意不遵循此慣例,也未嘗不可,但是,會給別人閱讀乃至于自己以后閱讀帶來麻煩。既然大家都是靠右走的,你就別非要在路中間睡覺了。

接下來,一般都要編寫構造函數,在寫這個函數之前,先解釋一下什么是構造函數。

class Person:
    def __init__(self, name, lang, website):
        self.name = name
        self.lang = lang
        self.website = website

上面的類中,首先呈現出來的是一個名為:init()的函數,注意,這個函數是以兩個下劃線開始,然后是init,最后以兩個下劃線結束。這是一個函數,就跟我們此前學習過的函數一樣的函數。但是,這個函數又有點奇特,它的命名是用“__”開始和結束。

請看官在這里要明確一個基本概念,類就是一種對象類型,和跟前面學習過的數值、字符串、列表等等類型一樣。比如這里構建的類名字叫做Person,那么就是我們要試圖建立一種對象類型,這種類型被稱之為Person,就如同有一種對象類型是list一樣。

在構建Person類的時候,首先要做的就是對這種類型進行初始化,也就是要說明這種類型的基本結構,一旦這個類型的對象被調用了,第一件事情就是要運行這個類型的基本結構,也就是類Person的基本結構。就好比我們每個人,在頭腦中都有關于“人”這樣一個對象類型(對應著類),一旦遇到張三(張三是一個具體人),我們首先運行“人”這個類的基本結構:一個鼻子兩只眼,鼻子下面一張嘴。如果張三符合這個基本機構,我們不會感到驚詫(不報錯),如果張三不符合這個基本結構(比如三只眼睛),我們就會感到驚詫(報錯了)。

由于類是我們自己構造的,那么基本結構也是我們自己手動構造的。在類中,基本結構是寫在init()這個函數里面。故這個函數稱為構造函數,擔負著對類進行初始化的任務。

還是回到Person這個類,如果按照上面的代碼,寫好了,是不是init()就運行起來了呢?不是!這時候還沒有看到張三呢,必須看到張三才能運行。所謂看到張三,看到張三這樣一個具體的實實在在的人,此動作,在python中有一個術語,叫做實例化。當類Person實例化后立刻運行init()函數。
上面關于類的講解很形象生動!

#!/usr/bin/env python
 #coding:utf-8
 
class Person:
     def __init__(self, name, lang, website):
         self.name = name
         self.lang = lang
         self.website = website
 
info = Person("qiwsir","python","qiwsir.github.io")     #實例化Person
 print "info.name=",info.name
 print "info.lang=",info.lang
 print "info.website=",info.website
 
#上面代碼的運行結果:
 
info.name= qiwsir
 info.lang= python
 info.website= qiwsir.github.io

在上面的代碼中,建立的類Person,構造函數申明了這個類的基本結構:name,lang,website。

注意觀察:info=Person(“qiwsir”,”python”,”qiwsir.github.io”),這句話就是將類Person實例化了。也就是在內存中創建了一個對象,這個對象的類型是Person類型,這個Person類型是什么樣子的呢?就是init()所構造的那樣。在實例化時,必須通過參數傳入具體的數據:name=”qiwsir”,lang=”python”,website=”qiwsir.github.io”。這樣在內存中就存在了一個對象,這個對象的類型是Person,然后通過賦值語句,與變量info建立引用關系。請看官回憶以前已經講述過的變量和對象的引用關系。

類和實例
?“類提供默認行為,是實例的工廠”,我覺得這句原話非常經典,一下道破了類和實例的關系。看上面代碼,體會一下,是不是這個理?所謂工廠,就是可以用同一個模子做出很多具體的產品。類就是那個模子,實例就是具體的產品。所以,實例是程序處理的實際對象。
?類是由一些語句組成,但是實例,是通過調用類生成,每次調用一個類,就得到這個類的新的實例。
?對于類的:class Person,class是一個可執行的語句。如果執行,就得到了一個類對象,并且將這個類對象賦值給對象名(比如Person)。

self的作用

細心的看官可能注意到了,在構造函數中,第一個參數是self,但是在實例化的時候,似乎沒有這個參數什么事兒,那么self是干什么的呢?

self是一個很神奇的參數。

在Person實例化的過程中,數據”qiwsir”,”python”,”qiwsir.github.io”通過構造函數(init())的參數已經存入到內存中,并且這些數據以Person類型的面貌存在組成一個對象,這個對象和變量info建立的引用關系。這個過程也可說成這些數據附加到一個實例上。這樣就能夠以:object.attribute的形式,在程序中任何地方調用某個數據,例如上面的程序中以info.name得到”qiwsir”這個數據。這種調用方式,在類和實例中經常使用,點號“.”后面的稱之為類或者實例的屬性。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳泉市| 札达县| 阳曲县| 衢州市| 石棉县| 新和县| 浑源县| 库尔勒市| 定边县| 宝兴县| 新郑市| 扬州市| 五河县| 绥芬河市| 绥阳县| 安远县| 临江市| 哈密市| SHOW| 德钦县| 蚌埠市| 禹州市| 剑河县| 商城县| 托克逊县| 鄂托克前旗| 柳江县| 西城区| 武穴市| 延长县| 济宁市| 夏津县| 汽车| 山东| 扶绥县| 绥滨县| 贵德县| 金溪县| 扶风县| 惠水县| 蒲城县|