Naposledy aktivní 10 months ago

此程式展示 Python 類別的屬性封裝,透過 @property 定義 getter 和 setter 方法,實現安全的屬性訪問與修改,並根據年齡決定遊戲類型。

timmy revidoval tento gist 10 months ago. Přejít na revizi

Žádné změny

timmy revidoval tento gist 10 months ago. Přejít na revizi

1 file changed, 2 insertions, 15 deletions

person_class.py

@@ -1,18 +1,15 @@
1 - # person.py
2 -
3 -
4 1 class Person(object):
5 2
6 3 def __init__(self, name, age):
7 4 self._name = name
8 5 self._age = age
9 6
10 - # 访问器 - getter方法
7 + # 訪問器 - getter方法
11 8 @property
12 9 def name(self):
13 10 return self._name
14 11
15 - # 访问器 - getter方法
12 + # 訪問器 - getter方法
16 13 @property
17 14 def age(self):
18 15 return self._age
@@ -38,13 +35,3 @@ def main():
38 35
39 36 if __name__ == '__main__':
40 37 main()
41 -
42 -
43 -
44 - """
45 - from person import Person
46 -
47 - person = Person('Jane Doe', 15)
48 - person.play()
49 -
50 - """

timmy revidoval tento gist 10 months ago. Přejít na revizi

1 file changed, 50 insertions

person_class.py(vytvořil soubor)

@@ -0,0 +1,50 @@
1 + # person.py
2 +
3 +
4 + class Person(object):
5 +
6 + def __init__(self, name, age):
7 + self._name = name
8 + self._age = age
9 +
10 + # 访问器 - getter方法
11 + @property
12 + def name(self):
13 + return self._name
14 +
15 + # 访问器 - getter方法
16 + @property
17 + def age(self):
18 + return self._age
19 +
20 + # 修改器 - setter方法
21 + @age.setter
22 + def age(self, age):
23 + self._age = age
24 +
25 + def play(self):
26 + if self._age <= 16:
27 + print('%s is playing chess.' % self._name)
28 + else:
29 + print('%s is playing poker.' % self._name)
30 +
31 +
32 + def main():
33 + person = Person('John Doe', 12)
34 + person.play()
35 + person.age = 22
36 + person.play()
37 +
38 +
39 + if __name__ == '__main__':
40 + main()
41 +
42 +
43 +
44 + """
45 + from person import Person
46 +
47 + person = Person('Jane Doe', 15)
48 + person.play()
49 +
50 + """
Novější Starší