物件導向程式設計

2021-08-20 19:06:43 字數 2067 閱讀 5497

'''

面向過程程式設計

核心過程二字,過程指的是解決問題的步驟,即先幹什麼、再幹什麼、然後幹什麼...

基於該思想編寫程式就好比在設計一條流水線,是一種機械式的思維方式

優點複雜的問題流程化、進而簡單化

缺點擴充套件性極差

'''###1###

# 接收使用者輸入使用者名稱,進行使用者名稱合法性校驗,拿到合法的使用者名稱

def check_user():

while true:

name = input('username>>').strip()

if name.isalpha():

return name

else:

print('使用者名稱必須為字母,傻叉')

# 接收使用者輸入密碼,進行密碼合法性校驗,拿到合法的密碼

def check_pwd():

while true:

pwd1=input('password>>: ').strip()

if len(pwd1) < 5:

print('密碼的長度至少5位')

continue

pwd2=input('again>>: ').strip()

if pwd1 == pwd2:

return pwd1

else:

print('兩次輸入的密碼不一致')

def check_age():

pass

# pwd=check_pwd()

# print(pwd)

# 將合法的使用者名稱與密碼寫入檔案

def insert(user,pwd,age,path='db.txt'):   #有參函式

with open(path,mode='a',encoding='utf-8') as f:

f.write('%s:%s:%s\n' %(user,pwd,age))

def register():

user=check_user()

pwd=check_pwd()

age=check_age()

insert(user,pwd,age)

print('register successfull')

register()

###2###

# 使用者功能層

def register():

while true: # 檢測使用者名稱

name=input('username>>: ').strip()

#檢測使用者是否重複,如果重複了則重新輸入,否則break

res=check_user_inte***ce(name)

if res:

print('使用者存在')

else:

break

while true: # 檢測密碼

pwd1 = input('pwd1>>: ').strip()

pwd2 = input('pwd2>>: ').strip()

if pwd1 != pwd2:

print('兩次輸入密碼不一致,重新輸入')

else:

break

def tell_info():

name=input('>>: ').strip()

info=select(name)

print(info)

# 介面層

def check_user_inte***ce(name):

res = select(name)  # res=['egon','123']

if res:

return true

else:

return false

# 資料處理層

def select(name):

with open('db.txt', 'r', encoding='utf-8') as f:

for line in f:

info = line.strip('\n').split(':') #info=['egon','123']

if name == info[0]:

return info

c 物件導向程式設計 物件導向

什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...

物件導向程式設計

物件導向程式設計 抽象 封裝 繼承 多型 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。開放封閉原則 軟體實體應該可以擴充套件,但是不可修改。所有的設計模式都是對不同的可變性進行封裝,從而使系統在不同的角度上達到開發封閉原則。依賴倒轉原則 a 高層不應該依賴低層,兩個都應該依賴抽象。b ...

物件導向程式設計

class team def init self self.name tampa bay buccaneers bucs team print bucs.name tampa bay buccaneers 當呼叫team 函式時,會自動呼叫init函式,self是自動傳入到init中的引數,它指向當...