淘宝客网站里面catid=16,网站开发工资一般多少钱,合肥建设网,深圳网络公司做网站前言
上一篇文章 python学习之【深拷贝】中学习了python中的深浅拷贝学习内容#xff0c;这篇文章接着学习python中的模块。
什么是模块
在python中#xff0c;一个文件#xff08;以“.py”为后缀名的文件#xff09;就叫做一个模块#xff0c;每一个模块在python里都…前言
上一篇文章 python学习之【深拷贝】中学习了python中的深浅拷贝学习内容这篇文章接着学习python中的模块。
什么是模块
在python中一个文件以“.py”为后缀名的文件就叫做一个模块每一个模块在python里都被看做是一个独立的文件。
模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用它可以被其他程序引用从而使用该模块里的函数等功能使用Python中的标准库也是采用这种方法。
python中的常见的系统内置模块有 os模块os模块包含普遍的操作系统功能 sys模块提供了一系列有关Python运行环境的变量和函数 random模块random模块用于生成随机数 time 模块: 主要包含各种提供日期、时间功能的类和函数 datetime模块对time模块的一个高级封装 shutil模块是一种高层次的文件操作工具 logging模块将日志打印到了标准输出中 re模块可以直接调用来实现正则匹配 pymysql模块连接数据库,并实现简单的增删改查 threading模块提供了更强大的多线程管理方案 queue模块实现了多生产者,多消费者的队列 json模块用于字符串和数据类型间进行转换json 模块的导入
python中导入模块的方法有
import 模块名称 [as别名]
from 模块名称 import 函数/变量/类举个例子
import 模块名称 [as别名]
# 例子1 导入数学运算模块 math
import math
print(math,id(math),type(math))
print(math.pi) #返回一个浮点数 3.141592653589793表示圆周率。
print(------------------进行math模块中相关函数的使用-----------/)
print(dir(math))
print(pow()函数的使用,math.pow(2,3),type(math.pow(2,3))) #2的3次方
print(向上取整,math.ceil(3.00001)) #向上取整 4
print(向下取整,math.floor(3.99999)) #向下取整3from 模块名称 import 函数/变量/类
# 只引入math模块中的pi
from math import pi
print(pi) #3.141592653589793当我们使用该方法引入模块时要注意我们导入的是该模块中的pi常量如果此时我们再引入math模块中其他的函数时程序就会报错 from math import pi
# 尝试引入pow()函数
print(pow(2,3),type(pow(2,3))) #8 class int 我们看到当我们再尝试引入没有进行导入的math函数时会发现竟然也有返回值 但是这里的pow()函数并非math模块中的函数他输出的类型是int型而非math模块中pow函数的输出类型float型,因此虽然出现了返回值但它调用的并非math模块中的pow()函数。 自定义模块
了解了什么时python中的模块后我们就可以自定义模块了
自定义模块将python文件的名字命名为一个简洁、见名知意的文件名。 定义了一个cal模块
def add(a,b):return ab
def div(a,b):return a/b然后进行自定义模块的导入
# 引入新建的cal模块
import cal
print(cal.add(10,30))
print(cal.div(10,20))# 只导入cal模块中的add函数
from cal import add
print(add(10,20))进行主程序运行
在每个模块的定义中都包括一个模块名称的变量 __name__ 变量的值是__main__。 程序可以检查该变量以确定它们在哪个模块中执行 如果一个模块不是被导入到其他的程序中执行的 那么它可能在解释器的顶级模块中执行。
我们自定义一个模块cal2 在index1.py中对其进行导入 我们发现当我们在运行index1的文件时运行结果是将cal2也运行了也就是说cal2被index1导入后会在index1运行时也运行如果我们想指定某个程序运行怎么办呢
这就需要在cal2这个模块中添加主程序运行代码
def add(a,b):return ab
# 直接运行导入cal2的指定文件 只有点击运行cal2这个文件时才能运行如下语句
if __name__ __main__:print(add(10,30))这样就能避免模块被导入后和新的文件同时运行了。
每篇一语
学习是一种终身受益的能力。 如有不足感谢指正