教為學 Python學習之路(六) 類

2022-03-25 03:49:49 字數 2883 閱讀 8225

通俗點說類是定義,物件是實體。

簡單點說人是類,高鵬我是物件。

屬性有例項屬性和類屬性之分。

class fruit:

price = 0

def __init__(self):

self.color='red'

zone="china"

if __name__=="__main__":

print "fruit price:%d"%fruit.price

banane = fruit()

print "banane color:%s"%banane.color

print "banane price:%d"%banane.price

fruit.color="yellow"

fruit.price=50

print "banane color:%s"%banane.color

print "banane price:%d"%banane.price

#結果

fruit price:0

banane color:red

banane price:0

banane color:red

banane price:50

通過類可以直接修改所有類的類屬性,卻不可以修改例項屬性。

修改17、18行上。

class fruit:

price = 0

def __init__(self):

self.color='red'

zone="china"

if __name__=="__main__":

print "fruit price:%d"%fruit.price

banane = fruit()

print "banane color:%s"%banane.color

print "banane price:%d"%banane.price

print "banane color:%s"%banane.color

print "banane price:%d"%banane.price

#結果

fruit price:0

banane color:red

banane price:0

banane color:red

banane price:0

對例項變數修改只影響本身例項變數和本例項的類屬性。

再談一句很搞笑的。

class fruit:

price = 0

def __init__(self):

self.color='red'

zone="china"

if __name__=="__main__":

print "fruit price:%d"%fruit.price

banane = fruit()

print "banane price:%d"%banane.price

fruit.price=50

print "banane price:%d"%banane.price

#結果

fruit price:0

banane price:0

banane price:50

如果例項修改了類屬性就會脫離類屬性。

class fruit:

price = 0

def __init__(self):

self.color='red'

zone="china"

def printcolor(self):

print "color:"+self.color

def printprice(self):

print "price:%d"%self.price

@staticmethod

def printstatic():

print "static"

if __name__=="__main__":

fruit.printstatic()

普通方法自帶self引數,可以通過self訪問例項屬性和類屬性。而靜態方法不自帶self引數,也不能通過self訪問例項引數和類引數。

class fruit:

price = 0

@staticmethod

def printstatic():

print fruit.price

if __name__=="__main__":

fruit.printstatic()

它只能通過類直接訪問。

class fruit:

count=0

def __init__(self):

print "我被呼叫了"

def __del__(self):

print "我也不幸被呼叫了"

if __name__=="__main__":

#結果

我被呼叫了

我也不幸被呼叫了

class fruit:

count=0

def __init__(self):

print "我被呼叫了"

def __del__(self):

print "我也不幸被呼叫了"

if __name__=="__main__":

fruit.count

#結果

我被呼叫了

我也不幸被呼叫了

還類初始化和銷毀的時候被呼叫。

而類被呼叫的時候不會被自動呼叫。

這次對類做了一些基本的介紹。下一次我們談談繼承、多型。

python學習六(類 不定長參)

1 類的定義 第一種 encoding utf 8 類class dog 初始化方法 def init self self.name 王迪 self.1 self.age 7 方法def bark self print 小狗汪汪汪 dog dog dog.bark 屬性dog.name 王迪 dog...

小學生學python(六)類與函式

每個程式都有乙個入口函式,一般都是延續c語言的風格從mian函式開始,至於在呼叫main函式之前發生的事情,我們不用關心,編譯器幫我們做了。在python語言中,直接用一條 name main 語句就可以拿到我們編寫程式的起點,如下 if name main print test 但是,如果不按照上...

教為學 JBPM4學習之路(二) 流程部署

要部署流程,得先有流程,要有流程,得先有流程圖,那要流程圖,得畫唄。我們畫的流程圖如下 步驟 拖乙個開始節點,乙個結束節點,兩個任務節點。設定兩個任務節點。第乙個任務節點的設定如下。第二個任務節點設定如下。整個流程圖的設定如下。連線。xml檔案的內容如下 name qingjia xmlns g 2...