關於python類的誤區

2021-09-03 02:17:16 字數 1831 閱讀 2491

1、關於類裡面的self定義,同理,self是可以被替換為其他字元的,只是標記的一種

class test:

def prt(self):

print(self)

print(self.__class__)

t = test()

t.prt()

<__main__.test instance at 0x100771878>

__main__.test

2、 私有屬性

#!/usr/bin/python3

#類定義

class people:

#定義基本屬性

name = ''

age = 0

#定義私有屬性,私有屬性在類外部無法直接進行訪問

__weight = 0

#定義構造方法

def __init__(self,n,a,w):

self.name = n

self.age = a

self.__weight = w

def speak(self):

print("%s 說: 我 %d 歲。" %(self.name,self.age))

# 例項化類

p = people('runoob',10,30)

p.speak()

3、類的繼承 

class derivedclassname(modname.baseclassname):
#!/usr/bin/python3

#類定義

class people:

#定義基本屬性

name = ''

age = 0

#定義私有屬性,私有屬性在類外部無法直接進行訪問

__weight = 0

#定義構造方法

def __init__(self,n,a,w):

self.name = n

self.age = a

self.__weight = w

def speak(self):

print("%s 說: 我 %d 歲。" %(self.name,self.age))

#單繼承示例

class student(people):

grade = ''

def __init__(self,n,a,w,g):

#呼叫父類的構函

people.__init__(self,n,a,w)

self.grade = g

#覆寫父類的方法

def speak(self):

print("%s 說: 我 %d 歲了,我在讀 %d 年級"%(self.name,self.age,self.grade))

s = student('ken',10,60,3)

s.speak()

4、方法重寫

#!/usr/bin/python3

class parent: # 定義父類

def mymethod(self):

print ('呼叫父類方法')

class child(parent): # 定義子類

def mymethod(self):

print ('呼叫子類方法')

c = child() # 子類例項

c.mymethod() # 子類呼叫重寫方法

super(child,c).mymethod() #用子類物件呼叫父類已被覆蓋的方法

關於python的open函式的誤區。

前段日子看了關於python檔案和流的一些文獻,其中最基礎的便是python的乙個內建函式 open!很簡單的乙個函式,他的原型是這樣的 open name,mode buffering 顧名思義,name引數指的就是檔名,mode是模式引數,buffering是控制緩衝引數,後兩個為可選引數。op...

Math類的誤區

無論剛入門的還是有一定as3程式設計基礎的,對math類應該都不陌生了,但math類的效能又知多少呢?請看下文吧。1 math.floor 通俗的講這是乙個取整函式。其實官方解釋是 返回由引數 val 指定的數字或表示式的下限值。下限值是小於等於指定數字或表示式的最接近的整數。效能測試 var nu...

關於python的類

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...