Python--面向过程编程

Posted xudachen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python--面向过程编程相关的知识,希望对你有一定的参考价值。

面向过程编程是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--面向过程编程的主要内容,如果未能解决你的问题,请参考以下文章

面向面试编程代码片段之GC

python--面向过程 VS 面向对象

python之面向对象编程一

python/面向过程的编程思想及举例

面向对面编程/面向切面编程/面向过程编程

python 面向对象编程