請把下面的student
物件的gender
字段對外隱藏起來,用get_gender()
和set_gender()
代替,並檢查引數有效性:
gender_range = ['male', 'female']
class student(object):
def __init__(self, name, gender):
self.name = name
if not gender in gender_range:
raise valueerror('not valid gender input')
self.__gender = gender
def get_gender(self):
return self.__gender
def set_gender(self, gender_value):
if not gender_value in gender_range:
raise valueerror('not valid gender input')
self.__gender = gender_value
為了統計學生人數,可以給student類增加乙個類屬性,每建立乙個例項,該屬性自動增加:
class student(object):
count = 0
def __init__(self, name):
self.name = name
student.count += 1
請利用@property
給乙個screen
物件加上width
和height
屬性,以及乙個唯讀屬性resolution
:
class screen(object):
def __init__(self):
pass
@property
def width(self):
return self._width
@width.setter
def width(self, value):
if not isinstance(value, int):
raise valueerror('value of width must be integer')
if value < 1:
raise valueerror('value of width must be positive')
self._width = value
@property
def height(self):
return self._height
@height.setter
def height(self, value):
if not isinstance(value, int):
raise valueerror('value of height must be integer')
if value < 1:
raise valueerror('value of height must be positive')
self._height = value
@property
def resolution(self):
self._resolution = self._width * self._height
return self._resolution
python物件導向程式設計練習
father.py 檔案 模組 coding utf 8 defhi i 5print haha return i class father object def init self print hi def del self print 類的銷毀 def dim self b dim print ...
物件導向程式設計練習
1 程式設計題 設計乙個使用者類user,類中的變數有使用者名稱 密碼和記錄使用者數量的變數,定義3個構造方法 無參的 為使用者名稱賦值的 為使用者名稱和密碼賦值的,還有獲取和設定密碼的方法和返回類資訊的方法。public class user 定義無參方法 2 程式設計題 設計一副牌poker的外...
物件導向程式設計練習
1 程式設計題 設計乙個使用者類user,類中的變數有使用者名稱 密碼和記錄使用者數量的變數,定義3個構造方法 無參的 為使用者名稱賦值的 為使用者名稱和密碼賦值的,還有獲取和設定密碼的方法和返回類資訊的方法。2 程式設計題 設計一副牌poker的外部類和一張牌card的內部類。1 poker類中定...