1)看**寫結果
class2)__all__的使用:f3(object):
deff1(self):
ret = super().f1() #
super()執行繼承體系(mro)中的下乙個
(ret)
return 123
class
f2(object):
deff1(self):
print('
123'
)class f1(f3, f2): #
f1, f3, f2
pass
obj =f1()
obj.f1()
'''123
none
'''
classstarkconfig(object):
def__init__
(self, num):
self.num =num
def__call__(self, *args, **kwargs):
(self.num)
class
roleconfig(starkconfig):
def__call__(self, *args, **kwargs):
(self.num)
v1 = starkconfig(1) #
__init__
v2 = roleconfig(11)#
__init__
v1() #
__call__ 1
v2() #
__call__ 11
模組中不使用__all__屬性,則匯入模組內的所有公有屬性,方法和類 。3)學生選課系統模組中使用__all__屬性,則表示只匯入__all__中指定的屬性,因此,使用__all__可以隱藏不想被import的預設值。
__all__變數是乙個由string元素組成的list變數。
它定義了當我們使用 from
import * 匯入某個模組的時候能匯出的符號(這裡代表變數,函式,類等)。
from
import * 預設的行為是從給定的命名空間匯出所有的符號(當然下劃線開頭的變數,方法和類除外)。
需要注意的是 __all__ 只影響到了 from
import * 這種匯入方式,
對於 from
import
匯入方式並沒有影響,仍然可以從外部匯入。
1. 完成學生選課系統. (公升級題)
class
student:
def__init__
(self,sno,sname):
self.sno =sno
self.sname =sname
self.cour_list =
defchakan(self):
for c in
self.cour_list:
print(f"選了"
)
deftianjia(self,cour):
class
course:
def__init__(self,cno,cname,teacher=none):
self.cno =cno
self.cname=cname
self.teacher =teacher
defchakan(self):
print(f",,"
)
defshezhilaoshi(self,teacher):
self.teacher=teacher
class
teacher:
def__init__
(self,tno,tname,tphone):
self.tno =tno
self.tname =tname
self.tphone =tphone
'''請完成以上三個類. 建立6個課程, 6個老師. 給課程安排好老師. 然後建立30個學⽣.
每個學⽣隨機被分配3個課程. 最終顯⽰出這三⼗個學⽣的選課情況以及任課老師的**
'''from random import
randint
c1 = course("
01", "抽菸"
)c2 = course("
02", "喝酒"
)c3 = course("
03", "燙頭"
)c4 = course("
04", "點菸"
)c5 = course("
05", "倒酒"
)c6 = course("
06", "
給人燙頭")
t1 = teacher("
01", "
唐伯虎", "
13301122001")
t2 = teacher("
02", "
祝枝山", "
13301122002")
t3 = teacher("
03", "
文徵明", "
13301122003")
t4 = teacher("
04", "
李白", "
13301122004")
t5 = teacher("
05", "
黃冠", "
13301122005")
t6 = teacher("
06", "
謝晉", "
13301122006")
#給課程設定老師
c1.shezhilaoshi(t1)
c2.shezhilaoshi(t2)
c3.shezhilaoshi(t3)
c4.shezhilaoshi(t4)
c5.shezhilaoshi(t5)
c6.shezhilaoshi(t6)
c_lst =[c1, c2, c3, c4, c5, c6]
stu_lst =
for i in range(30): #
迴圈30次.
stu = student(i,"
學生"+str(i))#
建立30個學生
#生成隨機的三個數字. 對應的是三個課程索引
s =set()
while len(s)<3:
s.add(randint(0,5)) #
把隨機的三個課程索引對應的課程設定給學生
for n in
s: stu.tianjia(c_lst[n])
#加到列表
#顯示學生的選課情況以及老師的**
for s in
stu_lst:
print(f"
學生編號:, 學生姓名:")
#拿到學生的課程資訊
for c in
s.cour_list:
print(f"
\t課程編號:, 課程名稱: , 任課老師的**是:
")
依賴關係 關聯關係
一 依賴關係 a物件作為b物件的區域性變數或是方法形參的,b依賴於a,這時候我們稱a與b之間存在一種依賴關係 給土豪打 物件作為形式引數 void calltuhaowithphone czphone phone void sendmessagetodiaosi 1 什麼是引數依賴 當a物件作為另外...
Spark RDD的依賴關係和快取相關知識點
rdd快取 rdd和它依賴的父rdd的關係有兩種不同的型別,即窄依賴 narrow dependency 和寬依賴 wide dependency 寬依賴指的是子rdd中的資料 于父rdd中的多個分割槽,其實就是產生了shuffle 窄依賴指的是子rdd中的資料 于父rdd當中的乙個分割槽,也即沒有...
關聯關係和依賴關係
關聯 一種結構關係,表現為乙個物件能夠獲得另乙個物件的是類引用並呼叫他的服務。關聯 association 表示兩個類之間存在某種語義上的聯絡。例如,乙個人為一家公司工作,一家公司有許多辦公室。我們就認為人和公司 公司和辦公室之間存在某種語義上的聯絡。在分析設計的類圖模型中,則在對應人類和公司類 公...