python 之類變數和例項變數(簡單談一談)

2021-09-20 22:03:31 字數 3752 閱讀 5748

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

# -*- coding: utf-8 -*-

"""

created on sun nov 13 23:19:03 2016

@author: toby

"""

classprovince:

def__init__(self,name,capital,leadership):

self.name=name

self.capital=capital

self.leadership=leadership

hb=province('hebei','shjiazhuang','liyang')

sd=province('shandong','jinan','angshenghui')

'''

下幾點說明:

1、self是神碼東東?

接受物件本身hb,sd

2、'hebei','shjiazhuang','liyang'由 __init__()函式中的形慘name,capital,leadership負責接收

3、self.name = name 是把形慘name中接受到的值賦值給self.name

4、 self.name中的這個name可以自定義(比如換成aa都可以),那麼是為了更清晰的直到其用途所以建議取乙個有意義的名字

5、 'hebei','shjiazhuang','liyang'三個值想當是被封裝進里例項化後的物件hb裡

'''

#在類裡宣告乙個類變數

classprovince:

memo='one of china\'s 23 provinces'#類變數,也可以說是靜態字段

def__init__(self,name,capital,leadership):

self.name=name#例項變數,屬於物件的,也可稱為動態字段

self.capital=capital

self.leadership=leadership

hb=province('hebei','shjiazhuang','liyang')#相當於將'hebei','shjiazhuang','liyang'封裝到了類的物件hb裡邊

sd=province('shandong','jinan','angshenghui')

printhb.name#列印物件屬性

printprovince.memo#列印類變數

#嘗試通過類訪問動態字典(靜態類不能問訪問動態字段)

printprovince.name#結果:報錯,找不到該屬性

#通過物件訪問靜態字段

printhb.memo#物件可以訪問靜態字段

python 類之類變數與例項變數

前面,我們已經知道了如何定義乙個python的類,那麼類中可以包含什麼內容呢?乙個python類中,包含了變數和方法。我們看如下 其中的age變數和gender變數定義在類中,但在方法外,這樣的變數就是類變數。類變數為所有例項所共享的變數。對上面的程式做了細微的修改 我們例項化乙個物件 person...

Python類變數和例項變數

類體中 所有函式之外 此範圍內定義的變數,稱為類屬性或類變數 類屬性的呼叫方式有 2 種,既可以使用類名直接呼叫,也可以使用類的例項化物件呼叫。需要注意的是 因為類變數為所有例項化物件共有,通過類名修改類變數的值,會影響所有的例項化物件 而不能通過類物件修改類屬性。類體中,所有函式內部 以 self...

python中類變數和例項變數 之例項變數

class test def f self,name self.name name def f1 self print self.name 例項變數為例項物件特有資料 x1 test 例項化test類,建立例項物件x1 x2 test 例項化test類,建立例項物件x2 設定例項屬性 方式1 x1....