本节内容
一、模块初识
Python有非常丰富和强大的标准库和第三方库
- 标准库:不需安装,直接可导入(Python安装目录下Lib)。
- 第三方库:需要安装才可以使用(Python安装目录下Lib/site-packages)。
(1) sys
Python解释器自带模块,采用c语言编写
#test.py脚本 #!/usr/bin/env python # -*- coding: utf-8 -*- import sys print(sys.argv) #执行脚本test.py,获得如下结果 $ python test.py hello world ['test.py', 'hello', 'world'] #把执行脚本时传递的参数获取到了
(2) os
基本使用
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
os.system("df -h") #调用系统命令,返回退出时状态
os.popen("df -h") #调用系统命令,返回命令执行结果
列出指定目录下所有文件
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
__author__ = "HQ"
import os
dir = r'D:\资源\软件包'
count = 0
###使用os.walk()方法
#其中maindir -> 当前目录, subdir_list -> 当前目录下的子目录列表, file_list -> 当前目录下文件列表
for maindir, subdir_list, file_list in os.walk(dir):
if file_list:
for file in file_list:
# print(os.path.join(maindir,file),'\n',end="")
count +=1
print('filenum:',count)
###使用os.listdir()方法
dir_list = [dir]
while dir_list:
for dir_item in dir_list:
list = os.listdir(dir_item)
dir_list.remove(dir_item)
if list:
for item in list:
path = os.path.join(dir_item,item)
if os.path.isdir(path):
dir_list.append(path)
else:
#print(path)
count += 1
print('filenum:', count)
(3) os & sys
os与sys联合使用
import os,sys
#把用户的输入的参数当作一条命令交给os.system来执行
os.system(''.join(sys.argv[1:]))
#将目录加入系统环境变量
Basedir = os.path.dirname(os.path.abspath(__file__)) #取出当前文件所在目录
sys.path.append(Basedir)
#注:导入模块默认从当前目录开始查找,若找不到再去环境变量中目录去找
Python脚本名称不要与模块名相同
二、数据类型
1、数字
(1) int(整型)
2 是一个整数的例子。
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
(2) long(长整型)
长整数不过是大一些的整数。
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意:自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。Python3去掉了long,只有int。
(3) float(浮点型)
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
(4) complex(复数)
(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数。
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
2、布尔值
真或假(1或0),True 或 False
3、字符串
字符串是有顺序、不可修改的。
变量赋值本质:当将一个字符串赋值给一个变量时,本质上是在内存中开辟一块空间用来存字符串,然后变量名指向这块内存空间。再次赋值给变量名新的字符串,本质上是在内存中再开辟一块空间存储新的字符串,变量名指向新的内存空间,原字符串并没有改变(Python中内存对象引用为0时会被释放)。
字符串格式化输出:字符串是 %s; 整数 %d; 浮点数%f
4、bytes
二进制数据由bytes类型表示。
Python3中字符串和字节包不能混用,Socket传输数据必须用bytes类型。
Python3中文本默认编码Unicode,由str表示(读取和写入时的内容都是str)。
Str与bytes的转换方式如下图:

#!/usr/bin/env python3
#-*- coding:utf-8 -*-
print('你好'.encode('utf-8')) #utf-8是指定字符串编码格式,Python3中默认utf-8
print(b'\xe4\xbd\xa0\xe5\xa5\xbd'.decode('utf-8'))
5、列表
列表(list)有顺序、可以修改。
#创建列表 name_list = ['alise', 'seven', 'eric'] 或 name_list = list(['alise', 'seven', 'eric'])
6、元组
元组(tuple)相当于不可变的列表,有顺序。
#创建元组 ages = (11, 22, 33, 44, 55) 或 ages = tuple((11, 22, 33, 44, 55))
7、字典
字典(dict)是无序的。
#创建字典
person = {"name": "mr.wu", 'age': 18}
或
person = dict({"name": "mr.wu", 'age': 18})
8、集合
集合(set)是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重:把一个列表变成集合,就自动去重了
- 关系测试:测试两组数据之前的交集、差集、并集等关系
s = set([3,5,9,10]) #创建一个数值集合
t = set("Hello") #创建一个唯一字符的集合
a = t | s # t 和 s的并集
b = t & s # t 和 s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
三、各种数据类型操作
参考:http://www.cnblogs.com/alex3714/articles/5717620.html
四、数据运算
参考:http://www.cnblogs.com/alex3714/articles/5465198.html
参考:
http://www.cnblogs.com/alex3714/articles/5465198.html
http://www.cnblogs.com/alex3714/articles/5717620.html

浙公网安备 33010602011771号