国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

跟老齊學Python之編寫類之二方法

2020-02-23 06:05:23
字體:
來源:轉載
供稿:網友

數據流轉過程

除了在類中可以寫這種函數之外,在類中還可以寫別的函數,延續上一講的例子:
代碼如下:
#!/usr/bin/env python
#coding:utf-8

class Person:
    def __init__(self, name, lang="golang", website="www.google.com"):
        self.name = name
        self.lang = lang
        self.website = website
        self.email = "qiwsir@gmail.com"

    def author(self):
        return self.name

laoqi = Person("LaoQi")
info = Person("qiwsir",lang="python",website="qiwsir.github.io")

print "Author name from laoqi:",laoqi.author()
print "Author name from info:",info.author()

#運行結果

Author name from laoqi: LaoQi
Author name from info: qiwsir

 看官可能已經注意了,這段代碼比上一講多了一個函數author(self),這個我們先不管,稍后會詳細分解。首先看看數據是如何在這個代碼中流轉的。為了能夠清楚,畫一張圖,所謂一圖勝千言萬語,有圖有真相。

定義類Person,然后創建實例laoqi=Person("LaoQi"),看官注意觀察圖上的箭頭方向。laoqi這個實例和Person類中的self對應,它們都是引用了實例對象(很多時候簡化說成是實例對象)。"LaoQi"是一個具體的數據,通過構造函數中的name參數,傳給實例的屬性self.name,在類Person中的另外一個方法author的參數列表中第一個就是self,表示要承接self對象,return self.name,就是在類內部通過self對象,把它的屬性self.name的數據傳導如author。

當運行laoqi.author()的時候,就是告訴上面的代碼,調用laoqi實例對象,并得到author()方法的結果,laoqi這個實例就自動被告訴了author()(注意,self參數在這里不用寫,這個告訴過程是python自動完成的,不用我們操心了),author方法就返回laoqi實例的屬性,因為前面已經完成了laoqi與self的對應過程,所以這時候author里面的self就是laoqi,自然self.name=laoqi.name。

看官可以跟隨我在做一個實驗,那就是在author中,return laoqi.name,看看什么效果。因為既然laoqi和self是同一個實例對象,直接寫成laoqi.name是不是也可以呢?
代碼如下:
#!/usr/bin/env python
#coding:utf-8

class Person:
    def __init__(self, name, lang="golang", website="www.google.com"):
        self.name = name
        self.lang = lang
        self.website = website
        self.email = "qiwsir@gmail.com"

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐源县| 桐庐县| 汉寿县| 永定县| 夹江县| 宜春市| 南康市| 天等县| 阿巴嘎旗| 海林市| 洛川县| 萍乡市| 无为县| 定安县| 崇仁县| 彰武县| 靖安县| 万载县| 勐海县| 石楼县| 怀远县| 礼泉县| 三亚市| 巴彦县| 房山区| 宣汉县| 定南县| 乳山市| 石河子市| 隆子县| 漳平市| 大竹县| 平武县| 朔州市| 顺昌县| 喀什市| 高雄市| 佳木斯市| 叙永县| 海晏县| 南汇区|