一.類變數:在類中方法外建立的變數,整個類有效,各例項共享。類名.變數名
二.例項變數:在方法中建立的變數,僅該方法內有效,各例項獨有
1.例項公有變數:self.變數名,例項直接訪問
2.例項私有變數:self.__變數名,例項間接訪問,格式為「例項._類名__變數名」 (私有變數名前面的是雙下滑線,類名前面的是單下劃線)
3.例項區域性變數:變數名,只能在函式內部訪問
import math
class mypoint():
x0 = 1 #類變數
y0 = 2 #類變數
def __init__(self,x,y):
self.x = x #公有例項變數
self.y = y
self.__radius = math.sqrt((self.x - mypoint.x0)**2+(self.y - mypoint.y0)**2)
area = math.pi * math.pow(self.__radius,2) #區域性變數
self.cir = 2 * math.pi * self.__radius #私有例項變數,注意是長下劃線
def distance(self):
d = math.sqrt((self.x - self.x0)**2 + (self.y - self.y0)**2)
print(self.x0)
#print(self.area) #報錯:'mypoint' object has no attribute 'area』
print(self.__radius) #正確
print(self.cir) #正確
return d
p1 = mypoint(3,4)
print(p1.x)
print(p1.y)
print(p1.cir)
print(p1.distance())
print(mypoint.x0)
print(mypoint.y0)
print(p1._mypoint__radius)
#print(p1.area)
python中物件導向各種關於類的概念
1 xx 公有變數 2 xx 單前置下劃線,私有化屬性或方法,from somemodule import 禁止匯入,類物件和子類可以訪問 3 xx 雙前置下劃線,避免與子類中的屬性命名衝突,無法在外部直接訪問 名字重整所以訪問不到 主要是變成私有屬性,但還是可以訪問 4 xx 雙前後下劃線,使用者...
python中的類,類變數,例項變數
這幾天寫 的時候碰到乙個python中的小問題,找了好半天才解決,所以記錄下來。classa object def init self self.x y def call self for i in range 5 print x self.x print y y 輸出的結果是 x 5,5,5,5,...
關於python變數 關於python變數練習題
第一題 數字相加 age 20 new age age 1 print new age 第二題 字串相加 name xiu new name name hb print new name 第三題 字串相加 數字帶引號的就是字串 number 888 new number age 888 print ...