Python--面向過程編程
阿新 • • 發佈:2018-03-14
import 用戶註冊 not 復雜 col name 工廠 用戶 imp
面向過程編程是Python兩種編程流派的其中一種,另外一種是面向對象編程,這篇博客只討論面向過程編程:
1、概念
面向過程的核心是過程二字,過程就是解決問題的步驟,他就像是設計工廠的一條流水線,是一種機械式的思維方式
2、優點
復雜的問題流程化,簡單化
3、編程實例
用戶註冊:
1 import json 2 3 4 def interactive(): 5 name = input(‘>>: ‘).strip() 6 pwd = input(‘>>: ‘).strip() 7 return { 8 ‘name‘: name, 9 ‘pwd‘: pwd 10 } 11 12 13 def check(user_info): 14 is_valid = True 15 16 if len(user_info[‘name‘]) == 0: 17 print(‘用戶名不能為空‘) 18 is_valid = False 19 20 if len(user_info[‘pwd‘]) < 6: 21 print(‘密碼不能少於6位‘) 22 is_valid = False 23 24 return{ 25 ‘is_valid‘: is_valid, 26 ‘user_info‘: user_info 27 } 28 29 30 def register(check_info): 31 if check_info[‘is_valid‘]: 32 with open(‘db.json‘, ‘w‘, encoding=‘utf-8‘) as f: 33 json.dump(check_info[‘user_info‘], f) 34 35 36 def main(): 37 user_info = interactive()38 check_info = check(user_info) 39 register(check_info) 40 41 42 if __name__ == ‘__main__‘: 43 main()
過程分解,編程簡單,但是後期更改復雜,比如增加一個填寫email的選項,代碼如下:
1 import json 2 import re 3 4 5 def interactive(): 6 name = input(‘>>: ‘).strip() 7 pwd = input(‘>>: ‘).strip() 8 email = input(‘>>: ‘).strip() 9 return { 10 ‘name‘: name, 11 ‘pwd‘: pwd, 12 ‘email‘: email 13 } 14 15 16 def check(user_info): 17 is_valid = True 18 19 if len(user_info[‘name‘]) == 0: 20 print(‘用戶名不能為空‘) 21 is_valid = False 22 23 if len(user_info[‘pwd‘]) < 6: 24 print(‘密碼不能少於6位‘) 25 is_valid = False 26 27 if not re.search(r‘@.*\.com$‘, user_info[‘email‘]): 28 print(‘郵箱格式不合法‘) 29 is_valid = False 30 31 return { 32 ‘is_valid‘: is_valid, 33 ‘user_info‘: user_info 34 } 35 36 37 def register(check_info): 38 if check_info[‘is_valid‘]: 39 with open(‘db.json‘, ‘w‘, encoding=‘utf-8‘) as f: 40 json.dump(check_info[‘user_info‘], f) 41 42 43 def main(): 44 user_info = interactive() 45 check_info = check(user_info) 46 register(check_info) 47 48 49 if __name__ == ‘__main__‘: 50 main()
從以上代碼可以看出,面向過程編程擴展性較差,有一種牽一發而動全身的影響,
使用場景:適用於對擴展性要求不是很高的項目
Python--面向過程編程