找回密码
 会员注册
查看: 40|回复: 0

python——模块导入

[复制链接]

6

主题

0

回帖

19

积分

新手上路

积分
19
发表于 2024-9-5 19:18:47 | 显示全部楼层 |阅读模式
一、模块1.1模块module定义:包含一系列数据,函数,类的文件,通常以.py结尾1.1.1模块导入三种模块导入方法:1.import模块名        将某个模块的整体导入到当前模块中2.from模块名import成员        将模块的指定成员导入到当前模块作用域中3.from模块名import*        将指定模块的所有成员导入到当前模块作用域中注意:导入模块和本模块中变量/函数不能重名,如果重名需要重新命名,代码如下from模块名import变量名as新名字代码操作如下:先在同一个项目下,创建多个.py文件,我们先从同一目录下简单情况开始。在导入模块时,会自动先运行一遍,比如导入demo1时,demo1中第二行语句就会先运行。接下来我们尝试一下第二种方法from模块名import成员 再尝试一下第三种方法from模块名import*,一次性导入所有成员,而且调用的时候,不用像方法一加模块名遇到不同模块中存在同名函数或者函数名过于冗余,便于记忆,可以更改名字。这里,f1-->func;  f2-->fund1.1.2隐藏成员模块中以下划线开头的属性不会被导入,称为隐藏成员,注意:隐藏成员只针对第三种导入模块方法,对其他两种方法不影响。唯独第三种方法无法调用隐藏属性,出现报错。 1.1.3模块变量__file__:获取模块对应的文件路径名,该路径是绝对路径,也就是从操作系统的根开始。__name__:模块自身的名字,可以判断是否为主模块。注意:当此模块作为主模块运行的时候,__name__绑定的是__main__;当模块被其他模块导入时,绑定的是模块名。此时,我们在demo8中导入demo1模块,并且运行demo8,就可以比较__name__的区别。importdemo1#若不是以该模块为主模块运行,则不重要的代码可以不运行if__name__=='main':print('主程序')1.1.4模块分类 类型1.内置模块,可以直接使用,比如max(),sum()等2.标准库模块,安装python的时候已经安装可以直接导入使用,如importtime,importrandom。3.第三方模块,通常是开源的,需要自己安装。        通常在命令窗口或者terminal窗口中使用pipinstall模块名,但是由于pip默认从官网安装,下载速度回比较慢。        我们可以进行换源安装。使用 pipinstall模块名-i国内源的地址                                                        piplist查询所有安装的库                                                        pipinstall库名安装库                                                        pipunistall库名删除这个库PIP国内源1)清华大学PIP源地址:https://pypi.tuna.tsinghua.edu.cn/simple2)阿里云PIP源地址:http://mirrors.aliyun.com/pypi/simple/3)豆瓣PIP源地址:http://pypi.douban.com/simple/4)中国科学技术大学PIP源地址:http://pypi.mirrors.ustc.edu.cn/simple/5)华中科技大学PIP源地址:http://pypi.hustunique.com/4.用户自己编写的模块(可以作为别人的第三方模块)我们先看一下自己原本的库,在python的界面下方选择terminal并输入piplist,目前有pip和setuptool两个库文件。 接下来输入pipinstallpygame-i国内源地址,下载一个pygame的库,稍等几分钟就可以看到成功安装了pygame-2.5.2的库。1.2包package义:将模块以文件夹的形式进行分组管理,其实就是管理模块的,目的是为了结构清晰而发明。1.2.1包的导入语法:from包名.模块名import成员首先,我们要看清楚每个层级都有哪些文件、包。#导入的模块、包不属于同级路径时#在demo9中导入package01包中的模块m01中的f1函数frompackage01.m01importf1f1()#m01==>f1#也可以选择导入模块m01importpackage01.m01package01.m01.f1()#m01==>f1#前缀太长,还可以重命名importpackage01.m01asp1p1.f1()#m01==>f1#多层包也要逐级frompackage01.package02.m02importf2f2()#m02==>f21.2.2_init_.py init是包内必须存放的文件,文件会在包加载时被自动调用。把一些相同的类似功能的模块放在一个文件夹里面,进行统一管理,在导入这个包里面的模块的时候,__init__.py的代码也会自动执行,所以可以利用这个机制,在__init__.py里面写上关于这个包内模块的使用说明。我们导入同级别包下面的别的模块,也同样会输出init的内容。#导入包的时候会自动运行一遍__init__.py#运行demo9.pyfrompackage01.m01importf1f1()========这是package01中的initm01==>f1二常用模块2.1sys(system的缩写)sys.modules获取当前程序中引入的所有模块(返回的是字典类型,字典的key是模块名,字典的value是模块对象)sys.path返回一个列表,列表中保存的是模块的搜索路径sys.exit()退出程序importsyssys.modules#获取当前程序中引入的所有模块print(sys.modules)#单行输出字典importsyssys.modules#获取当前程序中引入的所有模块importpprint#pprint对打印的数据做简单的格式化pprint.pprint(sys.modules)2.2osos是系统交互模块,python指定cmd指令。os.system()可以用来执行操作系统的命令,主要用来写cmd的指令os.getcwd()获取当前python的工作目录os.mkdir('文件名')在当前目录下创建文件夹,括号里面是文件夹名os.rmdir()在当前目录下删除文件夹,括号里面是文件名(只能删除空文件夹)os.remove('文件名')删除文件os.rename('A.py','B.py')括号里面是两个参数,第一个是原名,第二个是新名os.path.exists(path='同级目录下的文件')判断文件是否存在os.path.isfile(path='同级目录下的文件')判断是否为文件2.3timetime.time()UTC时间:1970年开始到现在所经过的秒数time.localtime()time.struct_time(tm_year=2024,tm_mon=4,tm_mday=24,tm_hour=23,tm_min=18,tm_sec=44,tm_wday=2,tm_yday=115,tm_isdst=0)time.sleep(时间)休眠,括号里面是休眠的时间(秒)time.strftime('格式',要转换的时间)%Y年%m月%d日%H时%M分%S秒importtimeprint(time.strftime('%Y-%m-%d%H:%M:%S',time.localtime()))=======2024-04-2423:21:082.4randomrandom.random()生成一个0-1的随机数random.randint(start,end)在起点和终点的范围内随机一个整数,左闭右闭区间random.choice(['A','B','C'])随机生成列表里面的一个元素random.uniform(1,10)生成随机范围内的小数,参数是开始值和结束值random.shuffle(序列名)打乱序列类型的顺序2.5jsonjson是一种文件存储格式,主要用于存储。序列数据:机器码(底层的0和1)反序列数据:程序员写的看的代码序列化之后存储的是字符串类型#序列化,序列化结果是字符串类型importjsonjson_data=json.dumps([1,2,'光学','土木'])print(json_data)#[1,2,"\u5149\u5b66","\u571f\u6728"]print(type(json_data))##反序列化ori_data=json.loads(json_data)#反序列化print(ori_data)#[1,2,'光学','土木']print(type(ori_data))#
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-9 05:00 , Processed in 1.084273 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表