關於Python類中的各種變數

2021-07-06 09:39:32 字數 1123 閱讀 3142

一.類變數:在類中方法外建立的變數,整個類有效,各例項共享。類名.變數名

二.例項變數:在方法中建立的變數,僅該方法內有效,各例項獨有

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