一、导入模块路径的查找
在Python中导入模块,在使用Import导入的时候,会首先搜索在编译或者是安装时候的路径;
一共有两个位置:一个是Python的shell命令,一个是命令行的PYTHONPATH环境变量。
如果在搜索路径找不到的话,但是又需要导入模块的话,可以使用sys.path.append('你想要导入模块的完整路径');
二、导入模块
通常使用的是import module1,module2.....可以一次性导入多模块;
三、导入模块中的属性和变量或者函数
from module1 import name1,function;
也就是说你在另一个文件中可以使用被导入文件中的函数和变量。
当一下子导入的东西太多的时候,一行显示不完,可以将import 后面的数据使用一个()括起来;
四、给导入的模块重命名
给导入的模块重命名是在不同的模块中导入了相同的属性或者 函数、、、使之在一个模块中有几个相同的名称;
使用from module import function as fun;这个就是将导入的function函数重命名为fun,使之在现在的文档中可以直接使用fun。
五、导入模块要了解的事项
在一个程序中,应该尽可能的将所有的代码放在函数中。那是因为当一个模块被导入的时候,其内部的数据都会被导入,以免发生变量重名的情况。不知道注意没有?在Python中有一句话是:
if __name__='__main__':
main()
这句话当在一个文件中执行的时候,是从main()函数开始执行,然而要是是被导入的时候则也是从这里开始的;要是一个py文件中没有函数(此程序从上到到下执行),那么可能会出现错误,所以说多把代码放在函数中,并使用上面的语句是一种习惯。
六、被导入到导入者作用域的问题
当在导入者中使用被导入者的变量或者是函数的时候,一定要使用 被导入者.函数名/变量名;
例如在impter.py文件中导入impouter.py中的myname()函数;那么在impter.py文件中最好是使用impouter.myname();可以避免impter.py文件中的数据对impouter.py中的函数么有作用的问题。
七、在文件中导入包的问题
假设 你的phone包中有my包,my包下右you包,you包下有name.py文件;
那么导入py文件的方式最好为
from phone.my.you import name
要是为这样的话:
from phone.my from you.name,那么你在文件中使用name的时候前面也必须加上you;
其次:到导包的时候,包中需要有__init__.py文件,这个文件是当包被导入的时候自动执行的。
导入全部的就使用 * 号