关于python导包问题(新⼿向)
包和模块
⾸先要弄清这两个概念, 在python 中 ⼀个⽂件夹中包含__init__.py ⽂件(这个⽂件是包的初始化⽂件,在你导⼊包或包下⾯的模块的时候,这个⽂件会最开始运⾏),就会被python看做⼀个包, 包中包含模块, 模块就是python的⽂件, 例如xxx.py。
import
如果单独使⽤ import导⼊, 那么 import 可以有这⼏种格式:
import包
import包.模块
import包.⼦包.模块
他们导⼊⽅式对应的调⽤⽅式分别为(假设调⽤模块下⾯的函数):
包.模块.函数()
包.模块.函数()
包.⼦包.模块.函数()
也就是说, 当使⽤import导⼊的时候,要使⽤模块⼀个函数需要将 import 后⾯的东西都加上才可以使⽤。
当然这⾥的举的例⼦是函数()其实也可以是模块中的全局变量 或类
使⽤ import 导⼊有⼀条注意:不能直接导⼊模块下⾯的东西(函数,类,全局变量), 最多只能到模块
from import
这种导⼊可以减少你调⽤模块下函数的代码量
from import 可以有⼀下⼏种格式
from包import模块
from包.模块import函数
from包.⼦包.模块.import函数
from包import⼦包
他们导⼊⽅式对应的调⽤⽅式分别为(假设调⽤模块下⾯的函数):
模块.函数()
python新手代码例子函数()
函数()
⼦包.模块.函数()
调⽤⽅式遵循我上⾯说的 使⽤import导⼊时, 调⽤其模块中函数调⽤规则, 也就是调⽤其中函数,要将 import 后⾯的当做前缀都写⼀
遍函数(), ⽽例⼦中 from 包.模块 import 函数 就可以直接调⽤函数, 所以 调⽤的时候是根据 import 内容决定的。
使⽤from import 导⼊还有⼀个规则, 就是 import 只能导⼊⼀个东西, 或模块, 或函数,所以 from 包 import 模块.函数这种写法是错误的, 也就是from import 的 import后⾯不能有.
总结
1. 在导⼊的时候 ⽆论是from 还是 import , 模块后⾯都不可以与模块中内容(全局变量,类,函数)进⾏.连接, 调⽤的时候可以
2. 调⽤的时候, 前缀要加上 import 后⾯的内容
3. from import 这种导⼊模式中 import 后⾯只能是⼀个层级, import 后⾯不能有 .

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。