選課系統 一

2022-10-09 20:51:18 字數 2601 閱讀 5618

同時遇到字串與物件時,反射是最好的操作方式

1.__init__  例項化執行

2.__str__ 物件執行列印操作時執行,只能返回字串型別的資料

3.__del__ 物件執行完自動刪除或者主動刪除湖執行

4.__getattr__ 物件查詢不存在的名字時執行

5.__setattr__ 物件在設定屬性(物件.變數名=變數值)時執行

6.__getattribute__ 物件查詢名字就會執行,不管該名字是否存在

7.__enter__ 物件執行with open 時執行,返回什麼as後面的變數名就會獲得什麼

8.__exit__ 物件執行with open 結束時執行

9.__call__ 物件被加括號呼叫時執行,該方法返回什麼,呼叫的結果就是什麼

type就是元類,元類就是建立類的類

class建立類底層也是由type建立的

產生類的三要素:類名,父類,類的命名空間

元類無法直接繼承,需要用關鍵字

class myclass(type):

pass

class mytypeclass(metaclass=myclass):

pass

1.__new__  # 底層產生一塊空間

2.__call__ # 賦予基本的框架

3.__init__ # 實際產生

定製類的產生,需要針對產生類的三要素做判斷

class mytypeclass(type): # 定義乙個類接受父類type

def __call__(self, *args, **kwargs): # 重寫__call__功能

args = [i.upper() for i in args] # 循將使用者輸入轉成大寫

return super().__call__(*args, **kwargs) # 重新呼叫原來的__call__方法

class myclass(metaclass=mytypeclass): # 定義乙個接受了type的父類的類

def __init__(self, name, gender): # 使用者輸入引數都經過了轉換

self.name = name

self.gender = gender

def __setattr__(self, key, value): # 增加資料功能

self.__dict__[key] = value.upper()

it行業中總共有23種設計模式

設計模式是由前輩積累的知識,針對問題做出的對應解決方法

目前我們只需要先了解一下設計模式之單列是什麼

單例模式的意思是乙個類只能產生乙個物件

經過測試,迴圈加計數器不行

now方法

class singleton(object):

def __new__(cls, *args, **kwargs):

if not hasattr(cls, '_instance'):

orig = super(singleton, cls)

cls._instance = orig.__new__(cls)

return cls._instance

class myclass(singleton):

def __init__(self, name):

self.name = name

主要都是由檢測物件是否為空,如果不為空證明已經例項化。

功能不強,相容性較差,僅僅是不會orm的乙個過度使用模組

功能:將物件儲存到檔案 並且取出來之後還可以使用物件的功能

使用語法

# with open(r'%s'%obj.name,'wb') as f:

# pickle.dump(obj, f)

三層架構

1.展示層

選課系統專案的主要攻克點就在於展示層,不同的類需要不同的展示層,每個類的展示頁面都要獨立出來,來確定不同人員的使用

2.邏輯層

在選課系統中的邏輯層相較於atm購物車反而更簡單,因為其主要增刪改查功能我們早就在atm購物車中反覆練習過

3.資料層

資料層也不複雜,複雜的儲存資料功能我們已經反覆練習過,只需要針對不同的類去獲取類名,產生出相對於的資料資料夾即可

# 如何通過物件獲取類對應的字串名稱

物件 = 類()

# 固定方法

print(變數名.__class__) # 類名

print(變數名.__class__.__name__) # 類名 字串

選課系統(一)

今天進行了為期八個小時的測試,試圖完成乙個完整的選課系統,共計五個表的增刪改查,但是最終雖然 已經完成,但是在課程新增過程中,教師工號的傳參消失,導致整個專案的無法進行,已經實現的功能,分別以管理員 教師 學生的不同身份進行登入,並且進入不同的介面,實現了新增教師和學生,並在同時新增賬號,賬號密碼均...

公選課選課系統

menu 功能選單展示 userdaoimpl 登入註冊操作,提取檔案資料以及將資料存入檔案 courselistdaoimpl 將所有課程存入檔案以及從檔案中獲取所有課程資訊,對於課程的增刪以及對於課程資訊的修改 selectedcourselistdaoimpl 將所有已選擇課程存入檔案以及從檔...

統一認證系統(一)

每個系統都需要識別操作者的身份,並根據其不同的身份,分配一定的許可權,做一些操作上的限制。隨著系統的增多,若是單獨給每個系統都設計了一套使用者資料和許可權管理的機制,並提供了使用者登入證認,雖可以解決問題,但是將會帶來和使用者賬號管理不方便,使用者資料不統一等等問題。所以,將使用者資料整合起來,進行...