python-面向對象編程設計與開發
阿新 • • 發佈:2018-05-02
代碼 register enc margin opened 用戶名 == inpu code
編程範式
1、對不同類型的任務,所采取不同的解決問題的思路。
2、編程範式有兩種
1、面向過程編程
2、面向對象編程
面向過程編程
什麽是面向過程編程?
過程——解決問題的步驟
要解決一個大的問題
1、先把大問題拆分成若幹小問題或子過程。
2、然後子過程再拆分成小問題或子過程
3、直到小問題可以在一個小步驟的範圍內可以解決。
有什麽優點和缺點?
優點:把復雜的問題流程化,編程難度低。
缺點:可擴展性差
寫代碼:
寫一個簡單的用戶註冊程序
# 1 寫一個用戶註冊程序 # 面向過程編程方法: # 1、用戶輸入賬號密碼 # 2、用戶輸入合法性檢測 # 3、寫入輸入庫 # 註意: # 進階:當需要增加郵箱註冊功能要怎樣改?View Codeimport json def interactive(): # step 1 user = input(‘>>‘).strip() psw = input(‘>>‘).strip() return { ‘name‘: user, ‘pwd‘: psw } def check(user_info): # step 2 is_value = True if len(user_info[‘name‘]) == 0: print(‘用戶名不能為空‘) is_value= False if len(user_info[‘pwd‘]) < 6: print(‘密碼不能小於6位‘) is_value = False return { ‘is_value‘: is_value, ‘user_info‘: user_info } def register(check_info): # step 3 if check_info[‘is_value‘]: with open(‘json.db‘, ‘w‘, encoding=‘utf-8‘)as f: json.dump(check_info[‘user_info‘], f) def main(): user_info = interactive() # step 1 check_info = check(user_info) # step 2 register(check_info) # step 3 if __name__ == ‘__main__‘: main()
增加輸入郵箱註冊
# 1 寫一個用戶註冊程序 # 面向過程編程方法: # 1、用戶輸入賬號密碼 # 2、用戶輸入合法性檢測 # 3、寫入輸入庫 # 註意: # 進階:當需要增加郵箱註冊功能要怎樣改? import json,re def interactive(): # step 1 user = input(‘>>‘).strip() psw = input(‘>>‘).strip() email=input(‘>>‘).strip() return { ‘name‘: user, ‘pwd‘: psw, ‘email‘:email } def check(user_info): # step 2 is_value = True if len(user_info[‘name‘]) == 0: print(‘用戶名不能為空‘) is_value = False if len(user_info[‘pwd‘]) < 6: print(‘密碼不能小於6位‘) is_value = False if not re.search(r‘@.*?\.com$‘,user_info[‘email‘]): print(‘郵箱格式錯誤‘) is_value=False return { ‘is_value‘: is_value, ‘user_info‘: user_info } def register(check_info): # step 3 if check_info[‘is_value‘]: with open(‘json.db‘, ‘w‘, encoding=‘utf-8‘)as f: json.dump(check_info[‘user_info‘], f) def main(): user_info = interactive() # step 1 check_info = check(user_info) # step 2 register(check_info) # step 3 if __name__ == ‘__main__‘: main()View Code
應用場景?
功能一旦實現,改動很少的場景。自動部署腳本等場景。
面向對象編程
什麽是面向對象編程?
有什麽優點和缺點?
應用場景?
python-面向對象編程設計與開發