1模块
1.python中一个py文件就是一个模块
2.怎么在一个模块中使用另外一个模块的内容
前提:被使用的模块的模块名(py文件的文件名)必须符合变量名的要求(是标识符,不是关键字)
能被使用的内容:所有的全局变量
怎么用:使用别的模块中的内容前,必须先导入模块
3.导入模块
1)import 模块名
导入指定模块;导入后可以通过’模块名.xxx’的方式使用这个模块所有的全局变量
import test
print(test.a)
print(test.func())
2)form 模块名 import 变量名1,变量名2```` - 导入指定模块,导入后可以直接使用指定变量
3)form 模块名 import * - 最后用*作为功能名,可以导入模块中所有功能
4)模块重命名
import 模块名 as 新模块名 - 直接导入指定模块并且对模块进行重命名,重命名后需要新模块名来代替原模块名使用模块
import test as ts
5)变量重命名
from 模块名 import 变量名1 as 新变量名1, 变量名2 as 新变量名2`````
2.阻止导入
因为导入模块的时候默认会执行模块中所有代码,就会导入有些完全没有必要在导入的时候执行的代码,如果希望导入模块的时候某些代码可以不执行,就需要去阻止代码在被导入的时候执行.
if __name__ == '__main__':
阻止方法:将不需要被执行的代码放到main对应的if条件就语句里面
1.包
包就是存放__init__.py文件的文件夹
导入方法:
方法一
import 包名 - 直接导入包,导入后可以通过包.xxx的方式__init__.py中所有的内容
方法二
import 包名.模块名 - 导入指定包中指定模块,导入后可以通过’包名’.模块名.xxx来使用
概率
import 包名.模块名 as 模块名
方法三
from 包名 import 模块名1,模块名2``` - 导入通过’模块名.xxx’来使用对应的变量或者函数
方法四
from 包名 import * - 导入包中init.py中所有的变量
方法五
form 包.模块名 import 变量1,变量2``` - 导入包中某个模块的指定变量
1关联导入
在init 里预先载入
2创建快捷键
from package1.abc.test6 import abs
3创建通用的函数或者变量
def open_file():
print('开打文件')
数学模块
import math,cmath
math - 普通数字对应的数学模块
cmath - 复数对应的数学模块
1)补充复数 - python支持复数
格式: a + bj
1浮点数转整数
1)int(浮点数) - 直接保留整数部分
int(1.23) - # 1
2)math.ceil 向大取整
math.ceil(1.23) # 2,向大取整
math.ceil(-1.23) #-1,向小取整
3)math.floor 向小取整
math.floor(1.23) #1,向小取整
math.floor(-1.23) #-2,向小取整
4)round(浮点数) - 四舍五入(x.5的时候前面整数是奇数进位,偶数摄取)
print(round(1.99)) #2
print(round(1.29)) #1
求绝对值
1)abs(数字) - 绝对值,返回本身数据类型
print(abs(-23)) #
2)fabs(数字) - 返回浮点数;类型
随机模块
1创建随机函数: randint() - 产生[a,b]的随机整数
print(random.randint(1,2))
2创建随机小数: random() - 产生[0,1)
print(random.random() * 100)
3在指定的等差数列中随机获取一个数:randrange(N)(M,N)(M,N,step)
4.洗牌: shuffle(列表)(必须是有序序列) - 将列表中的元素顺序随机打乱
5抽牌:
import random
1)choice(序列) - 从指定序列中随机获取一个元素
2)choices(序列,k=x抽取x个元素,weights=[])(有放回抽取) - 从指定序列中随机获取多个元素
参数k=x表示每次取x个元素
参数weights=[ 与序列元素数相同,按比例分配概率]表示分配的概率
5)sample(序列,k=抽取x个元素,counts = 权重列表)
没有默认值k,必须赋值k=x
time模块
from time import *
1)time( ) 获取时间,返回的是时间戳
时间戳 : 通过保存一个时间到1970年1月1日0(格林时间)的时间差
ti = time( )
print(ti)
localtime() - 获取本地当前时间,返回的是结构体的时间
localtime(时间戳) - 获取时间戳的结构体时间
time.struct_time(tm_year=2022, tm_mon=4, tm_mday=27, tm_hour=17, tm_min=57, tm_sec=5, tm_wday=2, tm_yday=117, tm_isdst=0)
tm_wday(0-6,星期日期从0开始计算,要加一)