2023-12-31
Python
00

目录

什么叫模块
自定义模块
以主程序的形式运行
python中的包
第三方模块的安装及使用

什么叫模块

  • 模块英文为Modules,一个模块中可以包含N多个函数,在python中一个扩展名为 .py 的文件就是一个模块

  • 使用模块的好处

    • 方便其他程序和脚本的导入并使用
    • 避免函数名和变量名冲突
    • 提高代码的可维护性
    • 提高代码的可重用性
    python
    def fun(): #一个模块可以包含N多个函数 pass def fun2(): pass class Student: #可以包含N多个类 native_place='吉林' # 类属性 def eat(self,name,age): self.name=name self.age=age @classmethod def cm(cls): pass @staticmethod def sm(): pass a=10 #可以包含N多个语句 b=20 print(a+b)

自定义模块

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

  • 导入整个模块: import 模块名称 [as 别名] ,导入模块里的指定内容: from 模块名称 import 函数/变量/类

    python
    import math #第一种导入整个模块,关于数学运算的模块 print(id(math)) print(type(math)) print(math) print(math.pi) #输出的是圆周率 print(dir(math)) #查看都有哪些属性和方法 print(math.pow(2,3),type(math.pow(2,3))) #计算的是2的3次方 print(math.ceil(9.001)) print(math.floor(9.999)) from math import pi #第二种导入的方式 print(pi) #新建一个 calc.py 的文件,自定义模块 # def add(a,b): # return a+b # def div(a,b): # return a/b import calc #导入自定义模块 print(calc.div(2,10)) print(calc.add(2,3))

以主程序的形式运行

  • 在每个模块的定义中都包括一个记录模块名称的变量 __name__ ,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其他程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的 __name__ 变量的值为 __main__ ,示例: if __name__ == '__main__' : pass

    python
    # calc.py 文件 def add(a,b): return a+b if __name__ == '__main__': print(add(10,20)) #只有当点击运行 calc 时,才会执行运算,被其他模块引用后不会被执行 # main.py 文件 import calc print(calc.add(100,50)) #引用calc模块,只计算当前程序的计算,calc就不是主程序了

python中的包

  • 包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下,作用: 代码规范和避免模块名称冲突。

  • 包与目录的区别

    • 包含 __init__.py 文件的目录成为包
    • 目录里通常不包含 __init__.py 文件
  • 包的导入: import 包名.模块名

    python
    #package1包下面有 module_A.py 和 module_B.py 两个模块 #在 main.py 的模块中导入 package1 包 import package1.module_A as ma # ma是package1.module_A这个模块的别名 print(ma.a) #使用import方式进行导入时,只能导入包名或者模块名 import package1 import calc #使用 from...import 可以导入包,模块,函数,变量等 from package1 import module_A from package1.module_A import a
模块名描述
sys与python解释器及其环境操作相关的标准库
time提供与时间相关的各种函数的标准库
os提供了访问操作系统服务功能的标准库
calendar提供与日期相关的各种函数的标准库
urllib用于读取来自网上(服务器)的数据标准库
json用于使用json序列化和饭序列化对象
re用于在字符串中执行正则表达式匹配和替换
math提供标准算数运算函数的标准库
decimal用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算
logging提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能
python
import sys import time import urllib.request import math print(sys.getsizeof(24)) #获取对象占用的内存大小 print(sys.getsizeof(45)) print(sys.getsizeof(True)) print(sys.getsizeof(False)) print(time.time()) #输出的时间戳 print(time.localtime(time.time())) #转成本地时间 print(urllib.request.urlopen('http://www.baidu.com').read()) #可以爬取网站 print(math.pi) #输出圆周率

第三方模块的安装及使用

  • 第三方模块安装: pip install 模块名 ,使用: import 模块名

    python
    #先安装第三方模块,在命令行窗口执行 pip install schedule import schedule import time def job(): print('打印一句话') schedule.every(3).seconds.do(job) #每3秒执行一下job函数,可以做一个定时任务 while True: schedule.run_pending() time.sleep(1) #休眠1秒

本文作者:柯南

本文链接:

版权声明:©2023 柯南 All rights reserved.