前提:類中的屬性不想被外界修改,則可以將屬性變成私有變數,前面用__標記
class student:
"""docstring for student"""
def __init__(self, name, score):
self.__name = name #__name為該類的私有變數,不可以被外界直接呼叫,可以借助方法獲得
self.__score = score
def getname(self):
return self.__name
def getscore(self):
return self.__score
if __name__ == '__main__':
st = student("yanghui",80)
print("%s: %s" %(st.getname(),st.getscore()))
練習:請把下面的student
物件的gender
字段對外隱藏起來,用get_gender()
和set_gender()
代替,並檢查引數有效性:
class student(object):
def __init__(self, name, gender):
self.name = name
self.gender = gender
# 測試:答案:bart = student('bart', 'male')
if bart.get_gender() != 'male':
print('測試失敗!')
else:
bart.set_gender('female')
if bart.get_gender() != 'female':
print('測試失敗!')
else:
print('測試成功!')
class student:
"""docstring for student"""
def __init__(self, name, gender):
self.__name = name #__name為該類的私有變數,不可以被外界直接呼叫,可以借助方法獲得
self.__gender = gender
def set_gender(self,gender):
if gender in ['male', 'female']:
self.__gender = gender
else:
print("input error")
def get_gender(self):
return self.__gender
if __name__ == '__main__':
st = student("yanghui",'male')
if st.get_gender() != 'male':
print('測試失敗!')
else:
st.set_gender('llll')
print(st.get_gender())
if st.get_gender() != 'female':
print('測試失敗!')
else:
print('測試成功!')
python3的樣子 python3 基礎
第一周 語言基礎 一 python是一門什麼樣的語言?解釋型動態型別強型別定義語言。二 python2和3的主要區別?1 python3裡可以直接預設寫中文,然後python2裡是不能直接寫的。2 python2裡print不用加括號,可直接寫字串,也可以加 python3裡printi必須要加括號...
手機python3教程 python3基礎教程
python 基礎教程 python 是一種解釋型 物件導向 動態資料型別的高階程式語言。python 由guido van rossum 於年底發明,第乙個公開發行版發行於年。像 perl 語言一樣 python 源 同樣遵循 gpl gnu general public license 協議。現...
Python3基礎型別
python 中的變數不需要宣告。每個變數在使用前都必須賦值,變數賦值以後該變數才會被建立。在 python 中,變數就是變數,它沒有型別,我們所說的 型別 是變數所指的記憶體中物件的型別。等號 用來給變數賦值。等號 運算子左邊是乙個變數名,等號 運算子右邊是儲存在變數中的值。例如 usr bin ...