Python 2.7 学习笔记 内置语句、函数、标准库
使用任何开发语言进行软件开发,都离不开语言提供的内置库(或Api),甚至说内置库的强大及使用是否方便都会影响大家对开发语言的选择。
python语言,一样提供了很多内置的功能,可供开发时使用。主要有如下几种:
一、内置语句
我们知道的最常见的就是赋值语句,通过运算符 = 将表达式赋值给某个变量。
除了赋值语句外,python还提供了一些内置的语句,如:
print语句,用于在控制台输出
del语句,用于删除变量
pass 语句,空语句,什么都不干
二、内置函数
python也提供了许多内置函数,如
len("abc") #获取字符串的长度
len([1,2,3]) #获取列表中元素的个数
注意:内置函数和内置语句有时容易混淆,特别是在有参数的情况下,有参数的情况下,对于函数,参数必须放在()内,但对于语句,参数可以不放在()内。如,
print("hello")
print "hello"
上面两个语句执行效果一样。
三、标准库
python提供了很多标准的包和模块,提供了很多丰富的功能,直接供使用。实际上,对于python,社区更是提供了大量的第三方库,只是标准库不需要自己下载,可直接使用,而第三方库需要自己下载到环境中才能使用。
下面介绍下python中常见的标准库,注意这些库随着版本变化是可能有变化的。
1、sys模块
可以通过sys模块访问与python解释器密切相关的变量和函数。
如前面文章用到的 sys.path 可以获取到python的系统路径清单。
如通过 sys.args可以获取执行python脚本时传递给python脚本的参数列表。如:
test.py的内容如:
#coding=utf-8 import sys print sys.argv
执行脚本,传入2个参数
python test.py hello 123
输出的信息如下
['test.py', 'hello', '123']
2、os模块
可以获取到与操作系统相关的信息。 下面我们来看了与获取脚本执行路径相关的例子:
假设 d:\demo\python\test.py的内容如下
#coding=utf-8 import sys,os print os.getcwd() #获取运行脚本的当前路径,注意不一定是脚本所在路径 print sys.path[0] #获取脚本所在的路径,是全路径,但不包括脚本名 print sys.argv[0] #是获取执行时输入的路径和脚本名,是否包括路径,依赖执行时的输入
上面使用了三个函数,其含义有些差别,如注释中的解释。下面我们看下执行情况
D:\demo\python>python test.py
D:\demo\python
D:\demo\python
test.py
上面的执行,因为当前路径就是脚本文件所在路径,所以os.getcwd和sys.path返回的值一样,而由于命令执行只输入了文件名,则sys.argv[0]只返回了文件名。
D:\demo>python python\test.py
D:\demo
D:\demo\python
python\test.py
这个因为当前执行路径的差别,使的执行方式和输出也发生了变化。
因为当前执行路径变成了 d:\demo。所以执行时输入的脚本要带 python路径。而这时os.getcwd和sys.path返回的值不一样了。
sys.argv[0]返回的值跟输入一样。
D:\demo>python d:\demo\python\test.py
D:\demo
d:\demo\python
d:\demo\python\test.py
从这可进一步看出,sys.argv[0]返回的值完全依赖输入。
那这里存在一个问题,我们如何获取到脚本文件的全路径呢(包括路径+文件名),显然不能依赖sys.argv[0。
好在python提供了另外的方式可以直接获取到被执行脚本的全路径,包括文件名。方法是:
os.path.realpath(__file__) #获取脚本的全路径,包括文件名。与输入无关
另外利用 os.sep 可以获取输出操作系统用于分隔路径的分隔符,对于windows和linux不同
3、fileinput模块
用于读取文本文件中的内容。
4、数据集合模块
除了我们最常用的 列表、元组,字典外,这些是python内置语言的一部分,可直接使用。
还有set、deque等数据结构。
5、time模块
可以获取系统日期时间,实现日期时间和字符串的转换。
6、random模块
可以用于生成随机数。
7、shelve模块
可用于将数据存到文件中。
8、re模块
python中的正则表达式模块。
上面是一些常见的标准模块,除了这些,还有很多标准模块,这里就不再一 一列出。