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

溫馨提示×

溫馨提示×

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

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

python類的的使用

發布時間:2020-07-23 04:12:07 來源:網絡 閱讀:248 作者:射雕英雄k 欄目:編程語言

首先定義一個名為Student的類

class Student:
    #__init__函數是類的構造函數,在實例化的時候做一些初始化工作
    num = 1123  #類變量
    name = 'wu'
    def __init__(self, name,age):
        self.name = name #實例變量,作用域是實例本身
        self.age = age

    def get_score(self): #類方法 
        print("score = 99")
上邊這個類Student是類名類名一般要大寫這個是規范。
有幾個注意的點:
1. 類的屬性
2. 實例化
3. 類變量與實例變量(修改類變量)
4. 類的__init__方法(也叫構造函數)
5. 類變量的作用
6. 析構函數
7. 私有屬性
8. 私有方法

1.類的屬性
類的屬性分靜態屬性和動態屬性,類里的實例變量和類變量都是靜態屬性。類里邊的方法是類的動態屬性。
2 . 實例化

p1 = Student("haha",20) #實例化得到p1這個對象

3 . 類變量與實例變量(修改類變量)

直接放在類里的是類變量,在__init__函數里的是實例變量
類變量相當于一個默認值, 當類變量跟實例變量是同一個變量名的時候 
對于當前這個對象來說實例變量覆蓋了類變量的值,也就是說優先找實例變量,
只有在實例變量不存在的情況下才會找類變量
print(p1.num,p1.name)
這個語句輸出:1123 haha
類變量有一個name 實例變量也有一個name,先找實例變量
這個時候如果修改類變量num的值
先實例化一個變量 p2 = Student("xixi",30)
p1.num = 10

print(p1.num,p1.name)
print(p2.num,p2.name)
結果:
10 haha
1123 xixi
類變量并沒有改變,這里的 p1.num = 10相當于給p1這個對象定義了一個實例屬性num
修改了值修改了值,并不會影響其他對象。因為它的作用域是實例本身
要是真的想修改類變量應該怎么寫呢?
Student.num = 20這樣就修改了類變量的值

4 . 類的init函數

類的__init__方法也叫構造函數,
什么是構造函數,是一種特殊的函數。 主要用來在創建對象時初始化對象,
即為對象成員變量賦初始值。

5.類變量的作用

定義公共屬性,這樣在對象實例化的時候,就不用再copy一份數據,節省內存開銷。

6.析構函數

類的__del__方法是析構函數,在c和c++中沒有垃圾回收機制,
所以程序員寫代碼時必須定義析構函數來做內存的釋放工作。
而在java和python中,本身就實現了垃圾回收機制,java中由java虛擬機來回收內存,python 中則由python解釋器來回收資源。
所以在python當中默認不需要定義析構函數,
Python 會提供默認析構函數。如果有特殊需要可以定義一個__del__方法
在實例對象調用結束時做一些掃尾工作。
析構函數會在對象作用域中調用結束時自動調用來釋放內存,無需手動調用。
如果要顯式的調用析構函數,可以使用del關鍵字: del obj
這里del調用其實不是直接去釋放內存,而是減少引用計數,
由垃圾回收機制來回收內存

7.私有屬性

類的屬性分靜態屬性和動態屬性,通常我們說類的屬性通常都是指類的靜態屬性。
現在來說私有屬性,定義類的私有屬性就是屬性前面加上__雙下劃線
私有屬性在外面是不能訪問的也即類的對象是不能直接調用的屬性。
可以在類的內部訪問并修改。
class Person:
    def __init__(self,name,age,stature):
        self.name = name
        self.age = age
        self.__stature = 1.7 #私有屬性

    def get_stature(self):
        return self.__stature

p1 = Person("fransics",21,1.9)
#print(p1.__stature) 
print(p1.get_stature())
這個代碼片里直接print私有屬性__stature是訪問不到的會報錯。而可以通過類方法在內部訪問并返回。

8.私有方法

前面說過了私有屬性,私有方法也類似。定義的時候可以通過函數名之前加__來完成定義。同樣是不能在外部訪問,只能內部訪問。
向AI問一下細節

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

AI

沛县| 奎屯市| 阿坝县| 沁水县| 北宁市| 乾安县| 孝义市| 镇安县| 西昌市| 晋江市| 茂名市| 卢龙县| 将乐县| 惠东县| 达孜县| 江达县| 景谷| 河北区| 杨浦区| 岑溪市| 资中县| 尼木县| 盐边县| 潮州市| 永德县| 武穴市| 本溪市| 吴桥县| 蒙自县| 南雄市| 黑山县| 韩城市| 鄂伦春自治旗| 昌图县| 红河县| 介休市| 荆州市| 永年县| 宁化县| 台中市| 本溪市|