day2-模块初识、运行过程、数据类型

模块初识

Python强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持。

一、标准库

python的标准库很多,我们先从sys和os模块开始认识,因为这两个模块在开发中用的最多。

1.sys

用法:使用sys模块搜索路径,查找内建模块,查找已导入的模块等

import sys
 
print(sys.path) #输出python的执行路径
#输出
['D:\\Python代码\\Git关联Pycharm项目\\s14\\day1', 
'D:\\Python代码\\Git关联Pycharm项目\\s14', 
'C:\\Users\\hu\\AppData\\Local\\Programs\\Python\\Python35\\python35.zip', 
'C:\\Users\\hu\\AppData\\Local\\Programs\\Python\\Python35\\DLLs', 
'C:\\Users\\hu\\AppData\\Local\\Programs\\Python\\Python35\\lib', 
'C:\\Users\\hu\\AppData\\Local\\Programs\\Python\\Python35', 
'C:\\Users\\hu\\AppData\\Local\\Programs\\Python\\Python35\\lib\\site-packages'] #是第三方库安装路径

#打印环境变量
#首先从当前目录再到全局的环境变量

2.os

用法:语义为操作系统,所以肯定就是操作系统相关功能,可以处理文件和目录这些我们日常做的操作

import os

cmd_res = os.system("pwd")   #命令被执行,执行完成后返回一个状态:0执行成功,其他表示执行失败
res = os.popen("pwd").read()
print("cmd_res:%s\nres:%s"%(cmd_res,res))
#输出
cmd_res:0  #执行成功
res:/Users/huwei/PycharmProjects/s14/module_1

二、第三方库

Python除了自带的标准库之外,还有其他的第三方库,第三方库直接自己下载安装即可,下载安装的第三方库是在/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages下面(其中/Library/Frameworks/Python.framework/Versions/3.5是你自己安装Python的路径)

如果是自己需要开发第三方库,把自己写好的模块,复制到/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages,然后直接import即可。

Python运行过程

计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个"翻译机"来从事把高级语言转变成计算机能读懂的机器语言的过程,这个过程分成两类:第一种是编译,第二种是解释。

一、编译型语言

在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言,运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言。

二、解释型语言

就没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行做出解释,然后直接运行,最典型的例子就是Ruby,Python

 

通过以上两个例子,我们可以来总结一下解释型语言和编译型语言的优缺点,因为编译型语言在程序运行之前就已经对程序做出了"翻译",所以在运行时就少掉了"翻译"的过程,所以效率比较高。但是我们也不能一概而论,一些解释型语言也可以通过解释器的优化来再对程序作出翻译时,对整个程序做出优化,从而在效率上超过编译型语言。

 

 

此外,随着Java等基于虚拟机语言的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。

 

用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。所以,我们说Java是一种先编译后解释的语言。

 

而Python也是一样执行这样的过程,所以Python是一门先编译后解释的语言。

简述Python的运行过程

两个概念,PyCodeObject和pyc文件:

其实PyCodeObject则是Python编译器真正编译成的结果,当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序结束时,Python解释器则将PyCodeObject写回到pyc文件中。

当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

注意:如果源代码被改动,则执行.py文件时,程序会比较.py和.pyc文件的时间,如果源代码的时间是最新的,则会重新编译生成最新的.pyc文件

数据类型

1.整型(int)

2.浮点型(float)

3.字符串(string)

 

除了1和2两种数据类型可以使用操作符来进行操作, 字符串也可以通过操作符来操作。

字符串的连接(常用)

>>>'dick' + 'jacky'
'dickjacky'

字符串的复制

>>>'dick'*5
'dickdickdickdickdick'
posted @ 2017-07-26 23:11  Mr.hu  阅读(110)  评论(0)    收藏  举报