面向過程程式設計

2022-02-25 12:36:10 字數 3148 閱讀 9327

目錄

二、分層實現功能

python從入門到放棄完整教程目錄:

面向過程程式設計是解決問題的一種思想,相當於武林門派,武林門派之間沒有好壞之分,因此它與我們之後學習的物件導向程式設計其實沒有好壞之分。

面向過程程式設計,核心是程式設計二字,過程指的是解決問題的步驟,即先幹什麼、後幹什麼、再幹什麼、然後幹什麼……

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

當我們寫登入功能,我們首先需要輸入賬號、密碼,然後認證兩次密碼是否相同,然後從資料庫中讀取密碼驗證使用者密碼輸入是否正確,然後輸入驗證碼……之後,我們就能夠實現登入功能。這樣把登入功能問題流程化,進而是解決問題的思路非常清晰。

優點:複雜的問題流程化,進而簡單化。

缺點:擴充套件性差。

def check_username():

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

if username.isalpha():

return username

else:

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

def check_pwd():

while true:

pwd = input('password>>>').strip()

if len(pwd) < 5:

print('密碼長度至少五位')

continue

re_pwd = input('re_password>>>').strip()

if pwd == re_pwd:

return pwd

else:

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

def insert(username, pwd, path='57.txt'):

with open(path, 'a', encoding='utf8') as fa:

fa.write(f':\n')

def register():

username = check_username()

pwd = check_pwd()

insert(username, pwd)

print(f'註冊成功')

register()

username>>>nick

password>>>12345

re_password>>>12345

nick註冊成功

如果現在我們需要校驗使用者的年齡,因此我們需要增加乙個check_age()方法,並且其他有牽連的地方都需要修改,因此它的擴充套件性極差。

# def register():

# while true:

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

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

# with open('db.txt', 'r', encoding='utf8') as fr:

# for line in fr:

# info = line.strip('\n').split(':')

# if username == info[0]:

# print('使用者名稱已經存在')

# break

# else:

# # 使用者名稱不存在

# # 跳出迴圈,不用重複輸入使用者名字

# res =

# def tell_info():

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

# with open('db.txt', 'r', encoding='utf8') as fr:

# for line in fr:

# info = line.strip('\n').split(':')

# if username == info[0]:

# return info

資料處理層

def select(username):

with open('db.txt', 'r', encoding='utf8') as fr:

for line in fr:

info = line.strip('\n').split(':')

if username == info[0]:

return info

def tell_info():

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

info = select(username)

print(info)

使用者功能層

def register():

while true:

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

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

res = select(username)

if res:

print('使用者名稱已經存在')

else:

break

while true:

pwd = input('password>>>').strip()

re_pwd = input('re_password>>>').strip()

if pwd != re_pwd:

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

else:

break

把註冊功能分開之後,功能與功能直接解耦合,複雜的問題流程化,更加清晰。

面向過程程式設計

面向過程程式設計是解決問題的一種思想,相當於武林門派,武林門派之間沒有好壞之分,因此它與我們之後學習的物件導向程式設計其實沒有好壞之分。面向過程程式設計,核心是程式設計二字,過程指的是解決問題的步驟,即先幹什麼 後幹什麼 再幹什麼 然後幹什麼 基於該思想編寫程式就好比在設計一條流水線,面向對稱程式設...

面向過程程式設計

面向過程程式設計是解決問題的一種思想,相當於武林門派,武林門派之間沒有好壞之分,因此它與我們之後學習的物件導向程式設計其實沒有好壞之分。面向過程程式設計,核心是程式設計二字,過程指的是解決問題的步驟,即先幹什麼 後幹什麼 再幹什麼 然後幹什麼 基於該思想編寫程式就好比在設計一條流水線,面向對稱程式設...

面向過程程式設計

面向過程程式設計是解決問題的一種思想,相當於武林門派,武林門派之間沒有好壞之分,因此它與我們之後學習的物件導向程式設計其實沒有好壞之分。面向過程程式設計,核心是程式設計二字,過程指的是解決問題的步驟,即先幹什麼 後幹什麼 再幹什麼 然後幹什麼 基於該思想編寫程式就好比在設計一條流水線,面向對稱程式設...