其实本来是想直接学习python3,作为新手总想着新的肯定流行。但是公司有规定,全平台相关模块统一使用python2.7作为标准。还是把一些不太理解的整理一下。
Python模块和包概念
退出编译器重新进入,任何定义(变量和方法)都会丢失。这就是脚本。
模块的概念许多编程语言都采用类似的组织代码方式,目的还是提升效率和代码的维护性。因为python内置模块和三方模块,为避免函数名和变量名冲突,可以分别放置在不同的模块中。
但是,当不同的人设计模块的方式类似,编写的模块名一致,其中的方法也一致。那么就可以按照目录来组织模块。称为包
举个例子:
如图,目录module就是一个packagetx,import1.py就是名字叫import1的模块。
包下有一个init.py的文件,这个文件在python2(python3不知道)必须存在,否则,python会把该目录当成普通的目录,而不是一个包init.py可以是空文件,也可以有代码。
如何使用
使用本身的模块。
import sys
之后就可以在代码块中使用了。比如可以使用
python myfile.py
sys.argv就是[‘myfile.py’]
类似于这种:
if __name__=='__main__':
test()
命令行运行hello模块文件时,Python解释器把一个特殊变量name置为main,而如果在其他地方导入该hello模块时,if判断将失败,因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码
作用域
正常的函数和变量名是公开的.
类似_xxx和__xxx这样的函数或变量就是非公开的,不应该被直接引用。
请注意,这里是‘不应该’被直接引用,而不是‘不能被直接引用’。python并没有完全限制访问这类函数
import和import … from …
知乎简答:
from import : 从车里把矿泉水拿出来,给我
import : 把车给我
效果一样,但是使用函数就有区别:
import datetime
print(datetime.datetime.now())
from datetime import datetime
print(datetime.now())
建议使用第二种。
以上部分内容参考自<菜鸟教程> 和 廖雪峰的官方网站