day25作業 定義類

2022-01-29 20:13:52 字數 1852 閱讀 6539

定義乙個people類,每個人的物件都有名字\年齡\性別三個屬性分別完成對這個三個屬性的:隱藏\開放介面\property偽裝操作

ps:在開放的介面裡嚴格控制賦值操作的資料型別問題

class prople:

def __init__(self, name, age, gender):

self.__name = name

self.__age = age

self.__gender = gender

def show_name(self):

return f'姓名:'

# 姓名相關

def set_name(self, inp_name):

self.__age = inp_name

print(f'修改成功,修改後姓名為:')

def del_name(self):

print('怎麼可能讓你刪除名字呢?!')

name = property(show_name, set_name, del_name)

# 年齡

def show_age(self):

return f'年齡:'

def set_age(self, inp_age):

if type(inp_age) is not int:

print("姓名只能是字串")

else:

self.__age = inp_age

print(f'修改成功,修改後年齡為:')

def del_age(self):

inp_sure = input('確定要刪除年齡嗎?(y/n)').strip()

if inp_sure.lower() == 'y':

del self.__age

print('好傢伙,連年齡都敢刪,等著坐牢吧!')

else:

print('量你也不敢')

age = property(show_age, set_age, del_age)

# 性別

def show_gender(self):

return f'性別:'

def set_gender(self, inp_gender):

if inp_gender == '男':

self.__gender = '男'

print(f'當前性別:')

elif inp_gender == '女':

self.__gender = '女'

print(f'當前性別:')

else:

print('???只能輸入男和女,不知道嗎?!')

def del_gender(self):

inp_sure = input('確定要刪除性別嗎?(y/n)').strip()

if inp_sure.lower() == 'y':

print('還好我阻止了你,不然你就涼涼了!')

else:

print('量你也不敢!')

gender = property(show_gender, set_gender, del_gender)

p1 = prople('xxq', 18, 'male')

# print(p1.name)

# p1.name = 'zsy'

# del p1.name

# print(p1.age)

# p1.age = 22

# del p1.age

# print(p1.gender)

# p1.gender = '男'

# del p1.gender

day25 類的特殊成員

類後面 括號自動執行 init 方法,物件後面 括號自動執行 call 方法。class foo def init self print 123 def call self,args,kwargs print 234 obj foo obj 也可以這樣寫 class foo def init sel...

day25 多執行緒

單例寫法兩種 2.怎麼通訊 3.sleep方法和wait方法的區別?2.通訊 我們也可以給執行緒設定分組 b 案例演示 myrunnable mr new myrunnable thread t1 new thread mr,張三 thread t2 new thread mr,李四 獲取執行緒組 ...

每日演算法 day 25

那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.3.10 貪心問題注意策略得轉化 別要死於固定得暴力形式,雖然是貪心思想實現起來也...