概述
作为新手自学Python的第十四天,技术低微,希望可以通过这种方式督促自己学习。
个人学习环境:python3.9,PyCharm 2021.3.2 (Community Edition)
模块(Modules)
Python中,一个扩展名为.py的文件就是一个模块
函数与模块的关系
一个模块中可以包含N个函数
使用模块的好处
1、方便其他程序和脚本的导入并使用
2、避免函数名和变量名冲突
3、提高代码的可维护性
4、提高代码的可重用性
1、模块的导入
1.1 自定义模块
1.1.1 创建模块
新建一个.py文件,名称尽量不要与python自带的标准模块名称相同
1.1.2 导入模块
import 模块名称 [as 别名]
from 模块名称 import 函数/变量/类
import math # 关于数学运算
print(dir(math)) # 查看具体内容
print(math.pi)
可以调用math模块的所有函数
from math import pi # 调用math模块中的pi函数
print(pi)
只调用了math模块的pi函数,不能调用math模块的其他函数
1.1.3 导入自定义模块
需求:在demo3中导入calc自定义模块使用
calc模块:
# !/usr/bin/env python3
# -*- coding:utf-8 -*-
def add(a, b):
return a + b
def div(a, b):
return a / b
demo3:
# usr/bin/env python3
# -*- coding:utf-8 -*-
import calc
print(calc.add(1, 2))
新版PyCharm可以直接导入自定义模型,
2、以主程序形式运行
在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。
如果一个模块不是被导入到其他程序中执行,那么他可能在解释器的顶级模块中执行。
顶级模块的__name__变量的值为__main__
例:运行calc2.py时输出加法得到结果30,demo4.py调用calc2.py模块输出加法得到300
calc2.py:
# !usr/bin/env python3
# -*- coding:utf-8 -*-
def add(a, b):
return a + b
if __name__ == '__main__':
print(add(10, 20)) # 只有当点击运行calc2时,才会输出30
demo4.py:
# !usr/bin/env python3
# -*- coding:utf-8 -*-
import calc2
print(calc2.add(100, 200))
3、包
3.1 Python中的包
包是一个分层次的目录结构,它将一组功能相近的模块组织在一个目录下
3.2 作用
代码规范
避免模块名称冲突
3.3 包与目录的区别
包含__init__.py文件的目录称为包,目录里通常不包含__init__.py文件
dir为目录,package1为包
3.4 包的新建
以PyCharm中包的新建为例
选择Python软件包即可。
3.5 包的导入
import 包名.模块名
例:在demo5的模块中导入package1包
package1结构:
module_A.py:
# !usr/bin/env python3
# -*- coding:utf-8 -*-
a = 10
module_B.py:
# !usr/bin/env python3
# -*- coding:utf-8 -*-
b = 100
demo5.py:
# !usr/bin/env python3
# -*- coding:utf-8 -*-
import package1.module_A as ma # ma是package1.module_A的别名
# print(package1.mouble_A)
print(ma.a)
3.6 导入带有模块的包时注意事项
import package1
import calc
# 使用import方式进行导入时,只能跟包名或者模块名
from package1 import module_A
from package1.module_A import a
# 使用from……import可以导入包、模块、函数、变量
3.7 Python中常用的内置模块
模块名 | 描述 |
---|---|
sys | 与Python解释器及其环境操作相关的标准库 |
time | 提供与时间相关的各种函数的标准库 |
os | 提供访问操作系统服务功能的标准库 |
calendar | 提供与日期相关的各种函数的标准库 |
urllib | 用于读取来自服务器的数据标准库 |
json | 用于适用json序列化和反序列化对象 |
re | 用于在字符串中执行正则表达式匹配和替换 |
math | 提供标准算术运算函数的标准库 |
decimal | 用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算 |
logging | 提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能 |
3.8 第三方模块的安装及使用
3.8.1 第三方模块的安装
在线安装方式:
pip install 模块名(在cmd中运行/PyCharm右下角的终端中运行)
不报错就是安装成功
3.8.2 第三方模块的使用
import 模块名
例:使用schedule模块的every方法,每隔4秒输出一次‘123321’
# !/usr/bin/env python3
# -*- coding:utf-8 -8-
import time
import schedule
def job():
print('123321')
schedule.every(3).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
最后
以上就是美好银耳汤为你收集整理的Python自学第十四天——模块1、模块的导入2、以主程序形式运行3、包的全部内容,希望文章能够帮你解决Python自学第十四天——模块1、模块的导入2、以主程序形式运行3、包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复