Python:模块化编程(模块、包、导入、运行)
什么叫模块
30
300
300
30Python中的包包是一个分层次的目录结构,将一组功能相近的模块组织在一个目录下作用:代码规范、避免模块名称冲突模块名
描述
与Python解释器及其环境操作相关的标准库
提供与时间相关的各种函数的标准库
提供了访问操作系统访问功能的标准库
提供与日期相关的各种函数的标准库
用于读取来自网上(服务器)的数据标准库
用于使用Json序列化和反序列化对象
用于在字符串中执行正则表达式匹配和替换
提供标准算数运算函数的标准库
用于进行精确控制运算精度、有效位数和四舍五入操作的十进制运算
提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能
haha···
haha···
haha···
模块的英文为Modules。
在Python中一个扩展名为.py
的文件就是一个模块。
一个模块可以包含多个函数、类、语句。
使用模块的优点:方便其他程序和脚本的导入并使用避免函数名和变量名冲突提高代码的可维护性提高代码的可重用性自定义模块创建一个.py的文件,名称尽量不要与Python自带的标准模块名称相同。导入模块
# 导入整个指定模块
import 模块名称 [as 别名]
# 导入指定模块的指定函数/变量/类
form 模块名称 import 函数/变量/类
代码示例:
import math as mt
print(mt) # <module 'math' (built-in)>
print(mt.pi) # 3.141592653589793
print(mt.pow(2, 3)) # 8.0
print(mt.ceil(9.001)) # 10
print(mt.floor(9.001)) # 9
导入指定函数/变量/类
from math import pi
print(pi) # 3.141592653589793
以主程序形式运行每个模块的定义中都包括一个记录模块名称的变量__name__
,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其他程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__
变量的值为__main__
。
新建a.py
def add(a, b):
return a + b
print(add(10, 20))
新建b.py
import a
print(a.add(100, 200))
运行b.py
30
300
修改a.py
def add(a, b):
return a + b
if __name__ == '__main__': # 当a.py以主程序运行时才执行
print(add(10, 20))
运行b.py
(此时b.py
为主程序)
300
运行a.py
(此时a.py
为主程序)
30Python中的包包是一个分层次的目录结构,将一组功能相近的模块组织在一个目录下作用:代码规范、避免模块名称冲突
包与目录的区别
包含__init__.py
文件的目录称为包;目录里通常不包括__init__.py
文件;编辑器中的图标也有差异。包的导入
import 包名.模块名[.函数/变量/类] [as 别名]
Python中常用的内置模块
sys
time
os
calendar
urllib
json
re
math
decimal
logging
sys
代码示例
import sys
print(sys.getsizeof(24)) # 28
print(sys.getsizeof(True)) # 28
print(sys.getsizeof(False)) # 24
time
代码示例
import time
print(time.time()) # 1660629231.9002664 ;秒数
print(time.localtime(time.time())) # time.struct_time(tm_year=2022, tm_mon=8, tm_mday=16, tm_hour=13, tm_min=53, tm_sec=51, tm_wday=1, tm_yday=228, tm_isdst=0)
urllib
代码示例
import urllib.request
print(urllib.request.urlopen('http://www.baidu.com').read())
第三方模块的安装和使用第三方模块的安装pip install 模块名
import 模块名
cmd
中执行pip install schedule
创建demo.py
写入以下代码
import time
import schedule
def job():
print('haha···')
schedule.every(3).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
运行代码
输出结果:haha···
haha···
haha···
版权声明
本文仅代表作者观点,不代表博信信息网立场。