1.模块初识
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。
Python模块与C++模块类型,Python程序先在编译环境中寻找模块,如果没有找到模块,然后才在当前用户文件目录下找模块,如果依然没有找到,则运行失败。注意模块名命名并不绝对不能与标准库名相同,如果在环境变量里系统标准库的路径写在前,程序运行时则调用系统标准库,不会调用与用户自定义的与系统标准库同名的模块。但不应出现用户定义模块与标准库名同名的情况
模块的调用:
- 在同一目录下,可以直接调用,直接 import package_name
- 不在同一目录下,解决方法一:将包放在site-packages里,寻找包时优先级高于用户目录:
sys
- sys.path:打印系统环境变量
2.sys.argv:打印相对路径()
os
1. system(“command”):执行命令,执行成功返回0,不保存结果
2. popen(“command”):执行命令,返回一个内存对象地址,可以通过read()读取结果
3. makdir(“contant_name”):创建目录,可以指定文件目录路径
2.python 程序是怎么运行起来的?
1.什么是pyc?
Python不同于C/C++这种编译型语言,Python程序的运行与Ja va、C#类似,也是先编译,后运行
Python其实也是一门先编译后解释的语言,但却是隐式编译的,就是说Python解释器自动帮我们在运行之前先编译了。
当我们在命令行中输入python hello.py 时,其实是**了Python的“解释器”,告诉“解释器“:你要开始工作了, 可是 在“解释”之前,其实执行的第一项工作和Java一样,是编译 ,预编译生成pyc的字节码文件了
好,我们进一步深入,python 程序的运行步骤?什么是PycodeObject、pyc?
在命令行输入python hello.py时,解释器先在当前路径下找有没有一个hello.pyc的文件,没有的话进行编译,在内存中生成PycodeObject,编译完后交给解释器一步步执行,执行完后将对应的PycodeObject文件回写到硬盘,就是pyc文件了。