關於python的類

2021-07-05 23:58:13 字數 1343 閱讀 5382

class person:

def setname(self,name):

self.name = name

def getname(self):

return self.name

def greet(self):

print "hello world!my name is %s" % self.name

foo = person()

bar = person()

foo.setname("linda")

bar.setname("hellen")

foo.greet()

bar.greet()

print "done!tada!!"

讓方法或者屬性變為私有:
class person:

def setname(self,name):

self.name = name

def getname(self):

return self.name

def greet(self):

print "hello world!my name is %s" % self.name

foo = person()

bar = person()

foo.setname("linda")

bar.setname("hellen")

foo.greet()

bar.greet()

print "done!tada!!"

執行時結果:

attributeerror: person instance has no attribute '__greet'

class person:

def setname(self,name):

self.name = name

def getname(self):

return self.name

def __greet(self):

print "hello world!my name is %s" % self.name

foo = person()

bar = person()

foo.setname("linda")

bar.setname("hellen")

foo._person__greet()

bar._person__greet()

print "done!tada!!"

這樣寫就又可以輸出正確的結果了:這是因為在類的內部定義中,所有以雙下劃線開始的名字都被翻譯成前面加上單下劃線和類名的形式。

關於python類的誤區

1 關於類裡面的self定義,同理,self是可以被替換為其他字元的,只是標記的一種 class test def prt self print self print self.class t test t.prt main test instance at 0x100771878 main tes...

關於python類的組合

關於python類的組合,絞盡腦汁之後,寫了乙個生活中的簡單例子,有需要的童鞋可以理解下,水平有限,不對的地方望指正 coding utf 8 class engine 某發動機廠家描述發動機物件 definit self,enginenumber,horsepower self.enginenum...

python關於類的基礎

無需例項化,可以通過類直接呼叫的方法,但是方法的第乙個引數接收的一定是類本身 1 在方法上面新增 classmethod 2 方法的引數為 cls 也可以是其他名稱,但是一般預設為cls 3 cls 指向 類物件 5 應用場景 當乙個方法中只涉及到靜態屬性的時候可以使用類方法 類方法用來修改類屬性 ...