python3基礎 訪問限制

2021-08-20 20:48:57 字數 1676 閱讀 9878

前提:類中的屬性不想被外界修改,則可以將屬性變成私有變數,前面用__標記

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