🕶️师兄简介:机械专业,通过自学成功进入IT领域,求学期间实现经济独立,对自学、兼职、计算机、学习规划等有独到见解!「点击了解更多」
🤖师兄致力解决在大学生活与学习中遇到的各种问题.
🎁 公众号「渣师兄」内回复「渣学」可获得超 5T 的新生见面礼!
🔗官方网站: 渣学网 →「zhaxueit.cn」→ 大学生活与学习一站式解决方案.
🙏找师兄帮忙「无偿」请➕💓:zhaxueit
📓进资源群「每日分享」【免费】(坑位有限)也请➕💓:zhaxueit 并备注「进群」
👀个人主页:@渣师兄 ,欢迎关注、私信师兄!
🐐 登高必自卑,行远必自迩.
🍇 我始终坚信越努力越幸运
⭐️ 那些打不倒我们的终将会让我们变得强大
🍑 希望在编程道路上深耕的小伙伴都会越来越好
什么是模块?
你问我答:什么是模块?
答:在python中模块就是python文件,以 .py后缀结尾,导入模块其实就是导入这个py文件,在模块中(py文件)可定义函数、类以及变量等一切可执行的代码。
例子:例如我们常用的random模块,其实就是开发人员写好了random的py文件,我们在装python的时候,将这些模块文件也安装了,所以我们可以调用这些模块(py文件)
快速代码体验
导入模块的几种方法
注意:利用import(导入模块的第一种方法)导入某个模块(py文件)就运行这个模块中的所有代码
方法一:import 模块名
功能:导入相应的模块(py文件)
语法:
import 模块名
模块名 . 方法名()
注意事项:
1:这样导入的模块,在调用模块中的方法时,要在方法名前面加上模块名,例如random.randint (1,10)
2:在python中有关于除法运算中返回的结果都是浮点数
快速代码体验
方法二:from 模块名 import 方法名1,方法名2,方法名3………
功能:导入相应模块的相应方法
语法:
from math import sqrt
print(sqrt(16))
注意事项:这种方法导入的模块,然后调用某个方法时,不需要在书写模块名
快速代码体验
方法三:from 模块名 import *
功能:导入这个模块中的所有方法
语法:
from 模块名 import *
print(sqrt(16))
注意事项:这样导入模块,在调用这个模块中的任何方法时都不需要再次书写模块名了
快速代码体验
方法四:import 模块名 as 新的模块名(重写模块名)
功能:导入一个模块并且将这个模块进行重命名
语法:
import 模块名 as 新的模块名
新的模块名 . 方法名
快速代码体验
方法五:from 模块名 import 方法名 as 新的方法名(重写方法名)
功能:导入某个模块中的某个方法,并且将这个方法进行重命名
语法:
from math import sqrt as newsqrt
print(newsqrt(16))
快速代码体验
制作模块
注意:利用import(导入模块的第一种方法)导入某个模块(py文件)就运行这个模块中的所有代码
一:制作模块(p340)
功能:将一些工作中频繁使用的函数、类、变量等封装在一个py文件中,这样可以降低我们的工作量,简化代码,在python中,一个py文件就是一个模块,因此在制作模块的时候,模块(py文件)名称要符合标识符命名规则,并且模块名与方法名不要与python内置的函数、模块等重名,这是很重要的
二:制作模块步骤
第一步:定义模块,即新建一个py文件,名称符合标识符命名规则,在这个py文件中定义相应的函数、类、变量等
第二步:测试模块,即在模块(py文件)内运行定义的函数、类等,看是否可以正常运行
第三步:调用模块中的方法
制作模块及导入模块的注意事项
注意事项:
一:自己新制作的模块名称(py文件名)不要与python内置的模块重名,否则会导致内置的模块不可用
二:利用 from 模块名 import 方法名 导入一个方法的时候,如果这个模块里面有两个同名的方法名,调用的是后面的那个同名的方法
test模块中存在两个同名方法test1()
调用test模块中的同名方法,观看结果
三:利用 form 模块名 import 方法名 导入模块中一个方法的时候,如果在程序中有与模块中的方法名同名的函数,那么在调用这个方法的时候,调用的是后定义的函数或者后导入的那个方法。(谁在后面调用哪个函数或者模块方法)
对比代码
模块查找顺序
当导入一个模块(py文件),python解释器查找这个模块位置的顺序如下
第一:当前文件夹
第二:如果不在当前目录,python则搜索在shell变量下PYTHONPATH下的每个目录
第三:如果以上都找不到则找默认路径
__all__列表
__all__列表
功能:如果某个模块中存在__all__列表,那么在用 from 模块名 import * 导入模块的所有方法代码时,因为存在__all__列表,故只能导入__all__列表中同名的那些方法
注意事项:__all__列表在导入模块方法为 from 模块名 import * 的时候才有效,其他两种方法不行
语法:all = [“模块方法名1”,“模块方法名2”,“模块方法名3”……….]
快速代码体验
模块代码
利用from 模块名 import *
导入这个模块
了解包
你问我答:什么是包?
答:在python中,包就是一个文件夹,用来存放那些有联系的模块(py文件),在创建包(文件夹)的时候,会自动创建一个__init__ . py文件,作用是导入包相关
制作包
pycharm制作包流程:在文件区右击 → 点击New → 选择Python Package → 为包取名 → 在包内创建有联系的模块(py文件)
第一步:右击创建包
第二步:为包取名字
第三步:创建好的包自带__init__.py文件,用于导入包相关
第四步:在包内创建有联系的模块(py文件)
导入包的两种方法
本节资料:
包 newpackage 内模块1 my_module1.py 和模块2 my_module2.py 代码如下
模块1 my_module1.py 代码
模块2 my_module2.py 代码
导入包的两种方法
方法一:利用import进行包的导入
功能:导入包内的模块,从而使用模块内的方法
语法:
import 包名 . 模块名
包名 . 模块名 . 方法名
快速代码体验
方法二:利用 from 包名 import * 导入包内的模块
功能:在包内的__init__.py文件内定义__all__列表,列表内存放需要导入的模块名
语法:
from 包名 import *
模块名.方法名
注意事项:
init.py文件内的__all__列表存放的数据(模块名)必须是包内有的模块名
利用from 包名 import * 导入包的模块,必须在包内的__init__.py文件内设置__all__列表,控制允许导入的模块。(这点很重要)
快速代码体验
init.py文件内__all__列表存放的数据
用 from 包名 import * 导入newpackage包中特定的的模块
未完待续…