模块 包 循环导入 系统

📅 2026/6/30 23:15:00
模块 包 循环导入 系统
模块把功能相近的函数或者类放到一个文件中好处提高代码的可复用可维护性。导入模块import 模块名list[1,2] #导入模块 import calculate sumcalculate.add(*list) print(sum)模块名.变量 模块名.函数 模块名.类2.from 模块名 import 变量 | 函数 | 类在代码中直接使用变量函数类from calculate import add,number,Calculate list[1,2] resultadd(*list) print(result) sumresultnumber print(sum) cCalculate() c.test()3.from 模块名 import *导入模块中的所有的内容但是如果想限制获取的内容可以在导入的模块中使用__all__[add,number]__all__[add,number,Calculate]包一个包中可以存放多个模块文件夹非py文件 包py文件项目 包 模块 类 函数 变量from 包 import 模块form 包.模块 import 类 | 方法 | 变量推荐form 包.模块 import * __all__[]当创建package时会自动创建一个__init__作用当导入包的时候默认调用__init__.py文件import 包当导入包的时候把一些初始化的函数变量类定义在__init__.py文件中此文件中的函数变量等的访问只需要通过包名.函数from 包.模块 import 类form 包 import * 表示该包中内容是不能访问就需要在__init__.py文件中定义__all__[可以通过*访问的]循环导入由于架构不当可能会出现模块之间的相互导入解决办法将导入的代码放到函数里面或者把导入语句放到模块的最后面系统syssys.path sys.version sys.argvimport sys print(sys.path) print(sys.argv) print(sys.version)time和datetime:import time ttime.time() print(t)#1782704820.9784555 #将时间戳转成字符串 stime.ctime(t) print(s)#Mon Jun 29 10:53:54 2026 #转化成元组的形式 ttime.localtime(t) print(t.tm_year)#2026 print(t)#time.struct_time(tm_year2026, tm_mon6, tm_mday29, tm_hour11, tm_min49, tm_sec45, tm_wday0, tm_yday180, tm_isdst0) #将元组的转化成时间戳 tttime.mktime(t) print(tt)#1782704985.0 #将元组的时间转化成字符串 stime.strftime(%Y-%m-%d %H:%M:%S) print(s)#2026-06-29 10:58:52import datetime print(datetime.date.today())#2026-06-29 nowdatetime.datetime.now()#当前的时间 print(now)#2026-06-29 14:53:49.616129 #时间差 timedeldatetime.timedelta(days3,hours23) resultnow-timedel print(result)#2026-06-26 14:53:49.616129random:import random ranrandom.random()#0-1之间的随机小数 print(ran) ran1random.randrange(1,10,2)#randrange(start,stop,step) print(ran1)#1,3,5,7,9 ran2random.randint(1,10)#包含1和10 print(ran2) list[zz,hskh,hid,ha,ahl] ran3random.choice(list) print(ran3) random.shuffle(list)#打乱顺序 print(list)#[ahl, zz, hid, hskh, ha]例子随机生成验证码import random def func(): code for i in range(4): ran1str(random.randint(0,9)) ran2chr(random.randint(65,90)) ran3 chr(random.randint(97,122)) rrandom.choice([ran1,ran2,ran3]) coder return code codefunc() print(code)hashlib解码和编码import hashlib password123456 list1[] sha256hashlib.sha256(password.encode(utf-8))#生成的是二进制 list1.append(sha256.hexdigest())#把哈希运算后的二进制摘要转换成 16 进制字符串 pswinput(请输入密码) sha256hashlib.sha256(psw.encode(utf-8)) pswsha256.hexdigest() for i in list1: if pswi: print(登录成功)第三方pillow先导入这个包然后可以使用这个包里面的所有方法和属性