目录
Nike推荐的学数据分析与算法的书《利用python进行数据分析》
相当于应用软件
优点:永远不会和变量名冲突
缺点:每次导入多输几个字
优点:少输几个字
缺点:易发生冲突
自己写的一个.py文件就是一个自定义的模块,文件名就是模块名。模块名不要和python自带模块冲突。
用途:分文件存储代码——》函数与函数之间分开——》让代码块更加清晰——》不同的模块干不同的事情
print('from m1.py')
from m2 import x
y = 'm1'
print('from m2.py')
from m1 import y
如果运行m1文件就会报错‘cannot import name 'x'’
将对自定义的模块调用都放入函数中,这样就只有使用模块时才会调用模块,从而避免两个程序以相互调用的逻辑出现。
#m1.py
print('from m1.py')
def func1():
from m2 import x
print(x)
y = 'm1'
#m2.py
print('from m2.py')
def func1():
from m1 import y
print(y)
x = 'm2'
将对模块的导入放要调用的变量下面(以后都用方案一)
# m1.py
print('from m1.py')
y = 'm1'
from m2 import x
# m2.py
print('from m2.py')
x = 'm2'
from m1 import y
模块的搜索顺序可以通过在主程序内读入一个模块,让主程序调用模块运行一段时间,在这段时间内将此模块删除来判断程序对模块路径的搜索顺序。(为了防止不必要的错误发生,以后程序的文件名尽量用英文命名)
python文件共有两种用途,一是执行文件,二是本当做模块导入。
编写好的一个python文件可以有两种用途:
if __name__ == '__main__':用于当调用模块时,不想让模块中的某个函数或者代码执行,也可以用于只让某个函数或者代码块执行。__name__是每个文件独有的,当该文件作为执行文件运行时,__name__等于'__main__';当该文件作为模块文件导入时,__name__等于文件名,if只是一个普通的判断语句。