類 依賴關係 相關練習

2022-06-29 11:06:10 字數 3679 閱讀 4850

1)看**寫結果

class

f3(object):

deff1(self):

ret = super().f1() #

super()執行繼承體系(mro)中的下乙個

print

(ret)

return 123

class

f2(object):

deff1(self):

print('

123'

)class f1(f3, f2): #

f1, f3, f2

pass

obj =f1()

obj.f1()

'''123

none

'''

2)__all__的使用:

class

starkconfig(object):

def__init__

(self, num):

self.num =num

def__call__(self, *args, **kwargs):

print

(self.num)

class

roleconfig(starkconfig):

def__call__(self, *args, **kwargs):

print

(self.num)

v1 = starkconfig(1) #

__init__

v2 = roleconfig(11)#

__init__

v1() #

__call__ 1

v2() #

__call__ 11

模組中不使用__all__屬性,則匯入模組內的所有公有屬性,方法和類 。

模組中使用__all__屬性,則表示只匯入__all__中指定的屬性,因此,使用__all__可以隱藏不想被import的預設值。

__all__變數是乙個由string元素組成的list變數。

它定義了當我們使用 from

import * 匯入某個模組的時候能匯出的符號(這裡代表變數,函式,類等)。

from

import * 預設的行為是從給定的命名空間匯出所有的符號(當然下劃線開頭的變數,方法和類除外)。

需要注意的是 __all__ 只影響到了 from

import * 這種匯入方式,

對於 from

import

匯入方式並沒有影響,仍然可以從外部匯入。

3)學生選課系統

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 表示兩個類之間存在某種語義上的聯絡。例如,乙個人為一家公司工作,一家公司有許多辦公室。我們就認為人和公司 公司和辦公室之間存在某種語義上的聯絡。在分析設計的類圖模型中,則在對應人類和公司類 公...