通俗點說類是定義,物件是實體。
簡單點說人是類,高鵬我是物件。
屬性有例項屬性和類屬性之分。
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...