视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
python是面向过程的吗
2020-11-27 14:08:45 责编:小采
文档
 python是面向过程的吗?

1、面向过程:核心是过程二字,过程指的是解决问题的步骤,好比如设计一条流水线,是一种机械式的思维方式。

就是程序从上到下一步步执行,一步步从上到下,从头到尾的解决问题 。基本设计思路就是程序一开始是要着手解决一个大的问题,然后把一个大问题分解成很多个小问题或子过程,这些子过程再执行的过程再继续分解直到小问题足够简单到可以在一个小步骤范围内解决。

2、优缺点:

优点:将复杂的问题流程化,进而简单化。

缺点:扩展性差

3、实例:面向过程式的登录注册程序  

import json,re
def login():
 '''
 用户输入
 :return:
 '''
 usename = input('用户名:').strip()
 pwd = input('密码:').strip()
 tel = input('电话:').strip()
 mail = input('邮箱:').strip()
 return {
 'usename':usename,
 'pwd':pwd,
 'tel':tel,
 'mail':mail
 }
def authentication(use_info):
 '''
 判断用户名和密码等信息是否合法
 :return:
 '''
 is_valid = True # 默认合法
 if len(use_info['usename'])==0:
 print('用户名不能为空!')
 is_valid = False
 if len(use_info['pwd'])< 6:
 print('密码长度不得小于6位!')
 is_valid = False
 if len(re.findall('1[0-9]{10}',use_info['tel']))==0:
 print('电话格式不对!')
 is_valid = False
 if not re.search(r'@.*?.com$',use_info['mail']).group(): # 使用Python的r前缀,就不用考虑转义的问题,'*'加个?就可以让'.'采用非贪婪匹配
 print('邮箱格式不对')
 is_valid = False
 return {
 'valid':is_valid,
 'info':use_info
 }
def register(auth):
 '''
 若输入信息合法则注册,写入文件或数据库
 :param auth:
 :return:
 '''
 if auth['valid']==True:
 with open('data.json','w',encoding='utf-8') as f:
 json.dump(auth['info'],f)
def main():
 '''
 主逻辑程序
 :return:
 '''
 use_info = login()
 auth = authentication(use_info)
 register(auth)
if __name__=='__main__': # 直接调用时执行下列程序,被调用时不执行
 main()

注意:一般认为, 如果你只是写一些简单的脚本,去做一些一次性任务,用面向过程的方式是极好的,但如果你要处理的任务是复杂的,且需要不断迭代和维护 的, 那还是用面向对象最方便。

下载本文
显示全文
专题