python是面向过程的吗


本文摘自php中文网,作者anonymity,侵删。

python是面向过程的吗?

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

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

2、优缺点

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

缺点:扩展性差

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

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()

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

以上就是python是面向过程的吗的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python回车不能换行而是执行怎么办

Python中数据预处理(代码)

厉害了,30行Python代码爬取英雄联盟全英雄皮肤

基于Python的图片修复程序(实现水印去除)

Python字典基本操作有哪些

知道Python 为什么要有 pass 语句?

Python items()方法如何使用

windows怎么打开Python

Python input怎么用

Python共发布过哪些版本

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...