初学者python笔记(模块篇)

现在Python这门编程语言是越来越火了,其中的一个主要原因就是Python中有各种各样的模块,这是其他很多编程语言中都没有的。Python中这些模块都各有其功能,需要的时候直接导入就可以,简直不要太方便

模块是什么

  1. 模块的本质: 就是一个保存特定函数的py文件
    所以要做一个模块,拿一个空py文件,然后写入各种函数就行了,
    一个简单模块
    像这样,在模块里定义各种函数就可以了,这里定义的就是一个两数加法运算和减法运算的函数

导入模块的三种方法

  1. 正常导入
import cal,time,turtle  #连续导入3个模块
  1. from方法
from cal import *  #这样会导入模块内所有的方法
from cal import add  #只导入cal模块内的add方法 
#该方法再调用模块内方法时就不需要带模块名,而直接使用
  1. 使用路径导入
from my_module import cal  #这样会导入模块内所有的方法

print(cal.add(3,8))  #调用cal这个模块下的函数
print(cal.sub(3,8))
#其中,my_module是与源文件同路径下的一个目录,即采用相对路径

包的概念

实质上就是存放各种模块的一个目录

  1. 引入了包之后,只要顶层的包名不与其他包冲突,那所有的模块就不会冲突。

  2. 如果有个包名叫pcak_one,包下面还有一个包叫pack_two,里面有个py模块叫add.py,那当你引入了包以后,add.py的名字就变成了pack_one.pack_two.add.py,简单来说就是一层一层的关系。

  3. 每一个包目录下面都会有一个__init__.py文件,否则python就会把该包目录当成一个普通文件夹,而不是一个包。

  4. init.py本身就是一个模块,它的模块名就包的名字,调用包就是执行包下的__init__.py文件。

  5. 如图
    这就是一种多个包的嵌套,web, web1, web3都是包名,cal.py是模块名
    多个包

包的导入

包的导入
或者也可以这样:

from web.web1.web3.cal import add  #这样会导入模块内的add方法

两个补充知识

  1. sys.path方法
import sys
print(sys.path)  #查看所有执行文件的路径,这其中就包括了你自己导入的包的路径
  1. __init__是使用
    调用模块时,在 if name == ‘main’: 下执行可以有效防止无意的嵌套调用,这也是很多Python编程者是一种编程习惯
发布了17 篇原创文章 · 获赞 32 · 访问量 1986

猜你喜欢

转载自blog.csdn.net/Viewinfinitely/article/details/104719199