关于python:Python模块化编程模块包导入运行

42次阅读

共计 1876 个字符,预计需要花费 5 分钟才能阅读完成。

什么叫模块

模块的英文为 Modules。
在 Python 中一个扩大名为 .py 的文件就是一个模块。

模块与函数的关系:

一个模块能够蕴含多个函数、类、语句。

应用模块的长处:

  • 不便其余程序和脚本的导入并应用
  • 防止函数名和变量名抵触
  • 进步代码的可维护性
  • 进步代码的可重用性

自定义模块

  1. 创立一个.py 的文件,名称尽量不要与 Python 自带的规范模块名称雷同。
  2. 导入模块

    # 导入整个指定模块
    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__

  1. 新建a.py

    def add(a, b):
     return a + b
    
    
    print(add(10, 20))
  2. 新建b.py

    import a
    
    print(a.add(100, 200))
  3. 运行b.py

    输入后果为:
    30
    300

  4. 批改a.py

    def add(a, b):
     return a + b
    
    
    if __name__ == '__main__':  # 当 a.py 以主程序运行时才执行
     print(add(10, 20))
  5. 运行 b.py(此时b.py 为主程序)

    输入后果为:
    300

  6. 运行 a.py(此时a.py 为主程序)

    输入后果为:
    30

Python 中的包

  • 包是一个分档次的目录构造,将一组性能相近的模块组织在一个目录下
  • 作用:代码标准、防止模块名称抵触
  • 包与目录的区别

    • 蕴含 __init__.py 文件的目录称为包;
    • 目录里通常不包含 __init__.py 文件;
    • 编辑器中的图标也有差别。
  • 包的导入

    • import 包名. 模块名[. 函数 / 变量 / 类] [as 别名]

Python 中罕用的内置模块

模块名 形容
sys 与 Python 解释器及其环境操作相干的规范库
time 提供与工夫相干的各种函数的规范库
os 提供了拜访操作系统拜访性能的规范库
calendar 提供与日期相干的各种函数的规范库
urllib 用于读取来自网上(服务器)的数据规范库
json 用于应用 Json 序列化和反序列化对象
re 用于在字符串中执行正则表达式匹配和替换
math 提供规范算数运算函数的规范库
decimal 用于进行准确管制运算精度、有效位数和四舍五入操作的十进制运算
logging 提供了灵便的记录事件、谬误、正告和调试信息等日志信息的性能
  1. sys代码示例

    import sys
    
    print(sys.getsizeof(24))  # 28
    print(sys.getsizeof(True))  # 28
    print(sys.getsizeof(False))  # 24
  2. 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)
  3. urllib代码示例

    import urllib.request
    
    print(urllib.request.urlopen('http://www.baidu.com').read())

第三方模块的装置和应用

第三方模块的装置

pip install 模块名

第三方模块的应用

import 模块名

导入 schedule 模块代码示例

  1. cmd中执行pip install schedule
  2. 创立demo.py
  3. 写入以下代码

    import time
    import schedule
    
    
    def job():
     print('haha···')
    
    
    schedule.every(3).seconds.do(job)
    
    while True:
     schedule.run_pending()
     time.sleep(1)
  4. 运行代码

    输入后果:
    haha···
    haha···
    haha···

正文完
 0