"""
一、定義乙個學生student類。有下面的類屬性:
1 姓名 name
2 年齡 age
3 成績 score(語文,數學,英語) [每課成績的型別為整數]
類方法:
1 獲取學生的姓名:get_name() 返回型別:str
2 獲取學生的年齡:get_age() 返回型別:int
3 返回3門科目中最高的分數。get_course() 返回型別:int
寫好類以後,可以定義2個同學測試下:
zm = student('zhangming',20,[69,88,100])
返回結果:
zhangming
20100
"""
classstudent():
#建構函式
#對當前物件的例項的初始化
def__init__
(self, name, age, score):
self.name =name
self.age =age
self.score =score
#isinstance函式判斷乙個物件是否是乙個已知的型別,類似type
defget_name(self):
ifisinstance(self.name, str):
return
self.name
defget_age(self):
ifisinstance(self.age, int):
return
self.age
defget_course(self):
a =max(self.score)
ifisinstance(a, int):
return
azm = student('
zhangming
', 20, [69, 88, 100])
(zm.get_name())
(zm.get_age())
print(zm.get_course())
"""二、定義乙個字典類:dictclass。完成下面的功能:
dict = dictclass()
1 刪除某個key
del_dict(key)
2 判斷某個鍵是否在字典裡,如果在返回鍵對應的值,不存在則返回"not found"
get_dict(key)
3 返回鍵組成的列表:返回型別;(list)
get_key()
4 合併字典,並且返回合併後字典的values組成的列表。返回型別:(list)
update_dict()
"""
classdictclass():
#建構函式
#對當前物件的例項的初始化
def__init__
(self, class1):
self.classs =class1
defdel_dict(self, key):
if key in
self.classs.keys():
delself.classs[key]
return
self.classs
return
"不存在這個值,無需刪除
"def
get_dict(self, key):
if key in
self.classs.keys():
return
self.classs[key]
return
"not found
"def
get_key(self):
return
list(self.classs.keys())
defupdate_dict(self, dict1):
#方法1
#self.classs.update(dict1)
#方法2,對於重複的key,b會覆蓋a
a = dict(self.classs, **dict1)
return
aa = dictclass()
print(a.del_dict("年齡"
))print(a.get_dict("姓名"
(a.get_key())
print(a.update_dict())
"""三、定義乙個列表的操作類:listinfo
包括的方法:
1 列表元素新增: add_key(keyname) [keyname:字串或者整數型別]
2 列表元素取值:get_key(num) [num:整數型別]
3 列表合併:update_list(list) [list:列表型別]
4 刪除並且返回最後乙個元素:del_key()
a = listinfo([44,222,111,333,454,'sss','333'])
"""
classlistinfo():
def__init__
(self, my_list):
self.listt =my_list
defadd_key(self, keyname):
ifisinstance(keyname, (str, int)):
return
self.listt
return
"error
"def
get_key(self, num):
if num >= 0 and num a =self.listt[num]
return
a
return
"超出取值範圍
"def
update_list(self, list1):
ifisinstance(list1, list):
self.listt.extend(list1)
return
self.listt
return
"型別錯誤
"def
del_key(self):
a = self.listt.pop(-1)
return
aa = listinfo([44, 222, 111, 333, 454, '
sss', '
333'
])print(a.add_key(1))
print(a.get_key(1))
print(a.update_list([1, 2, 3]))
print(a.del_key())
"""定義乙個集合的操作類:setinfo
包括的方法:
1 集合元素新增: add_setinfo(keyname) [keyname:字串或者整數型別]
2 集合的交集:get_intersection(unioninfo) [unioninfo :集合型別]
3 集合的並集: get_union(unioninfo)[unioninfo :集合型別]
4 集合的差集:del_difference(unioninfo) [unioninfo :集合型別]
set_info = setinfo(你要操作的集合)
"""
classsetinfo():
def__init__
(self, my_set):
self.sett =my_set
defadd_setinfo(self, keyname):
ifisinstance(keyname, (str, int)):
self.sett.add(keyname)
return
self.sett
defget_intersection(self, unioninfo):
ifisinstance(unioninfo, set):
a = self.sett &(unioninfo)
return
a
defget_union(self, unioninfo):
ifisinstance(unioninfo, set):
a = self.sett |(unioninfo)
return
a
defdel_difference(self, unioninfo):
ifisinstance(unioninfo, set):
a = self.sett -(unioninfo)
return
aa = setinfo()
print(a.add_setinfo(4))
print(a.get_intersection())
print(a.get_union())
print(a.del_difference())
原文:
python3 class寫法 新式類 經典類
經典類與新式類 python2和python3中新式類 經典類 舊式類 的區別 python新式類與經典類的區別 經典類 不由任意內建型別派生出的類 新式類 由任意內建型別派生出的類 只要乙個內建型別位於類樹的某個位置 python2.1 只有經典類 python2.2 引入新式類 python3 ...
python基礎篇 Class 類
class 類 特點 乙個抽象的物件,是物件導向語言的核心,類可以不繼承或多繼承。標識 class 例子 class a object 這是乙個演示的類 count a def init self,a self.a a def str self print count a s,list a s se...
python3 筆記18 構建類class
類是面對物件語言中獨有的。類 可以定義框架 類屬性 和對應使用的方法 根據類可以構建物件,構造出的物件將滿足可以使用該類所有的方法,並且擁有所有的屬性 格式 class 類名 類變數 0 構建計數使用 非必須 def init self,屬性1,屬性2,初始化引數,引數可以作用於全域性 非必須 se...