当前位置:   article > 正文

Python模块化编程(modules)

python模块化编程

        模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法。

  一、为什么

        1.方便其它程序和脚本的导入使用。

        2.避免函数名和变量名冲突。

        3.提高代码的可维护性。

        4.提高代码的可重用性。

二、自定义模块与导入

        1.自定义模块

                新建一个.py文件,名称尽量不要与Python自带标准模块名称相同。

        2.Python自带模块的导入

                1.import 模块名称  [as 别名]    【注】[ ]中的内容可以省略。

                2.from 模块名称 import  函数/变量/类

cala.py 文件代码

  1. def add(a,b):
  2. return a+b
  3. def num(a,b):
  4. return a-b
'
运行

new_cala.py文件代码

  1. import math
  2. print(math.pi)
  3. print(math.pow(2,3))
  4. print('--------------------------------------')
  5. from math import pi
  6. print(math.pi)
  7. #print(math.pow(2.3))因为math模块我们只导入了pi函数;所以无法使用math模块中的其他函数
  8. print(pow(2,3))#这个不属于math模块中的函数
  9. print('---------自定义函数导入-------')
  10. import cala #导入自定义模块
  11. print(cala.add(2,8))
  12. print(cala.num(10,6))

3.141592653589793
8.0
--------------------------------------
3.141592653589793
8
---------自定义函数导入-------
10
4

【注】from  math  import  pi #只导入math模块中的pi 函数,math模块中的其他函数无法调用。

三、以主程序形式运行

        if    _name_     =  '_main_':

                pass

cala2.py文件代码

  1. def add(a,b):
  2. return a+b
  3. if __name__ == '__main__':
  4. print(add(10, 50)) #设置这个以主程序运行;
'
运行

new_cala2.py文件代码

  1. import cala2
  2. print(cala2.add(5,90))

结果一:

60
95 

结果二:

95 

【注】结果二是在cala2.py文件中的 print(add(10, 50))加入了if    _name_     =  '_main_':模块以主程序形式运行。

四、导入包

        1.包是一个层次的目录结构,它将一组功能相近的模块组织在一个目录下。

        2.作用:代码规范化;避免模块名称冲突。

        3.导入:import   包名.模块名

        4.包与目录的区别:

                1.包含__init__.py文件的目录名称的包。

                2.目录里面通常不包含__init__.py文件

 

 module1_a.py文件

a = 800'
运行

module2_b.py文件

b = 900'
运行

 main.py文件

  1. import pagepage1
  2. import cala2
  3. #import 只能导入包或模块名
  4. from pagepage1 import module1_a
  5. from pagepage1.module_b import b
  6. print(b)
  7. #from.....import可以导入包、模块、函数、变量

60         #衔接cala2.py

500 

【注意事项】

        1.import :只能导入包、模块名;例:import pageage1pa 或import cala2

        2.from ........ import : 可以导入包、模块、函数、变量;

        例:from  pageage1 import module_a  或 from  pageage1.module_b import b   (b:变量)

五、常用内容模块

sys与Python解释器及其环境操作相关的标志库
time提供与时间相关各种函数库
os访问操作系统服务功能的标准库
calendar与日期相关各种标准库
urllib用与读取来自网上(服务器)的标准库
json使用josn序列化和反序列化对象
re在字符串中执行正则表达式匹配和替换
math提供标准算术运算的标准库
decimal进行精确控制运算精度,有效数位四舍五入操作的十进制运算
logging灵活记录事件、错误、警告和调试信息等日志信息功能

 

  1. import sys
  2. print(sys.getsizeof(85))#占用内存大小
  3. print(sys.getsizeof(100))
  4. import time
  5. print(time.time())
  6. print(time.localtime(time.time()))
'
运行

28
28
1668437866.0739892 

六、第三方模块安装

        pip install 模块名  (在线安装)

        使用:import 模块名

  1. import urllib.request
  2. print(urllib.request.urlopen('http://www.baidu.com').read())#读取百度返回信息;太多了可以下去试一下

                                                              漫步前行也是进步!我们可以一起努力。

                                                                                     ^0^

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/894559
推荐阅读
相关标签
  

闽ICP备14008679号