1.自定义模块 import 导入
import test # test是模块名 test.func() # func() 是test模块中的函数调用 模块分类 1.内置模块 标准库,python解释器自带的.py文件(模块)
2.第三方模块 各种大神写的,需要额外下载的(并发编程开始讲解)(pypi)
3.自定义模块 自己写的,不需要额外下载
导入的过程 1.当前的名称空间中开辟一个新的空间(test)
2.将模块中所有的代码执行
3.通过模块名,进行查找函数(工具)
示例 test模块 def func(): print("这是test文件下的func函数") def foo(): print("这是test文件下的foo函数") print(123) print(456) name = "这是名字" import test print(test.name) print(test.func())
import test import test import test import test import test import test print(test.name)
别名的使用 import test as t print(t.name)
兼容性 test模块 def func(): print("扳手")
meet模块 def func(): print("螺丝刀") msg = """ 1.扳手 2.螺丝刀 """ choose = input(msg) if choose == "1": import test as t elif choose == "2": import meet as t t.func() import 和 from的区别 import test # 把工具箱拿过来 from test import func # 把工具拿过来 import的优缺点 优点: 不会和当前文件定义的变量或者函数发生冲突
test模块 name = "alex" import test name = "宝元" print(test.name) print(name)
缺点: 占用内存比较大
from的优缺点 优点: 占用内存比较小
缺点: 会和当前文件定义的变量或者函数发生冲突
test模块 name = "alex" name = "宝元" from test import name print(name)
解决办法 test模块 name = "alex" name = "宝元" from test import name as n print(name) pirnt(n)
from 模块名 import * test模块 name = "alex" def func(): print("这是test下的func函数") name = "宝元" def func(): print("123")
from test import * print(name) func()
内存地址 test模块 name = "alex" def func(): print("这是test下的func函数") def foo(): print("这是test下的foo函数") from test import foo print(foo)
import test print(test.foo) 模块的用法 1.脚本(在cmd中执行 python test.py)
2.模块(不使用或者导入)
测试接口 if name == "main" 在当前模块中使用__name__就是"main" 当模块被导入的时候__name__就是被导入的模块名 路径 导入路径 import meet print(meet.name) 使用相对路径 from day15.t1 import meet print(meet.name) 使用绝对路径 from sys import path path.insert(0,"D:\") import meet print(meet.name) 模块的查找顺序 自定义模块 > 内置模块 > 第三方
2.time time -- 时间(内置模块)
time的方法 import time 时间戳 print(time.time())
print(time.time() + 5000)
睡眠 time.sleep(3)
时间节点 print(time.strftime("%Y-%m-%d %H:%M:%S"))
结构化时间 时间戳转结构化 print(time.gmtime()) / print(time.localtime())
print(time.gmtime()[0]) / print(time.localtime()[0])
print(time.gmtime().tm_year) / print(time.localtime().tm_year)
结构化转字符串时间 print(time.strftime("%Y-%m-%d %H:%M:%S"))
字符串时间转结构化 print(time.strptime("2008-9-1 12:30:30","%Y-%m-%d %H:%M:%S"))
时间戳转换成字符串 print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(156156641.46854)))
将字符串时间转换成时间戳 print(time.mktime(time.strptime("2008-9-1 12:30:30","%Y-%m-%d %H:%M:%S")))
3.datetime datetime -- 对象
datetime的方法 from datetime import datetime
获取当前时间(浮点数) print(datetime.now())
计算时间差距 print(datetime(2019,5,20,13,14,00) - datetime(2019,5,20,14,20,00))
将当前时间转化成时间戳 print(datetime.now().timestamp())
将时间戳转化成当前时间 print(datetime.fromtimestamp(1564047101.042584))
将对象转成字符串 print(str(datetime.now())) print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
时间加减(datetime加减) from datetime import datetime,timedelta print(datetime.now() + timedelta(hours=30)) # 当前时间加30个小时
总结: 用处: 记录日志时使用
计算时间
4.random random -- 随机
random的方法 import random
0-1随机取值(浮点数) print(random.random())
0-10随机取值(浮点数) print(random.uniform(1,10))
1-3随机取值(包含1和3) print(random.randint(1,3))
randrange(起始,终止,步长)(顾头不顾尾) print(random.randrange(1,5,2))
随机选择一个元素 print(random.choice([1,2,3,4,5]))
随机选择两个元素(会重复) print(random.choices([1,2,3,4,5],k=2))
随机选择两个元素(不会重复) print(random.sample([1,2,3,4,5],k=2))
顺序打乱 lst = [1,2,3,4,5,6,7,8,9,0] random.shuffle(lst) print(lst)
转载于:https://www.cnblogs.com/-777/p/11246758.html