1.模块初识
(1)sys模块
sys模块是系统自带的模块,包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互,这里只介绍两个常用的函数 sys.path和 sys.argv。
sys.path是获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
例如在我的电脑上运行以下代码:
import sys
print(sys.path)
得到的结果如下:
['D:\\Users\\YHfeng\\python\\S14\\Day2',
'D:\\Users\\YHfeng\\python\\S14',
'D:\\Program Files\\Anaconda3\\python35.zip',
'D:\\Program Files\\Anaconda3\\DLLs',
'D:\\Program Files\\Anaconda3\\lib']
这就是在我的电脑上存放模块的路径。
sys.argv是实现从程序外部向程序传递参数。
例如在我的电脑上运行以下代码:
import sys
print(sys.argv[0])
得到的结果如下:
datatype.py
就是该运行程序。
(2)OS模块
os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口。这里只介绍os.system函数。
os.system()是运行shell命令,例如执行shell的dir命令
import os
os.system(dir")
得到的结果如下:
驱动器 D 中的卷是 LENOVO
卷的序列号是 6A2D-F509
D:\Users\YHfeng\python\S14\Day2 的目录
2020/01/29 11:29 <DIR> .
2020/01/29 11:29 <DIR> ..
2020/01/29 11:29 351 datatype.py
2020/01/28 15:08 77 __init__.py
2 个文件 428 字节
2 个目录 174,975,459,328 可用字节
得到该文件下的子目录。
2.Python的数据类型
(1)数字
数字的数据类型分为int、float和complex三种,int是整数,float浮点数一般就表示小数,但两者不对等,complex是复数,在有些专业领域用得比较多,比如系统分析的拉普拉斯变换、物理学的电动力学都要用到。
整数在python3中已经不区分int和long了,都是int型
(2)布尔值
就是True和False,在机器里是1和0,但在判断中,非0都是True,比如
if 2:
print(“hello world!”)
运行结果为:
hello world!
(3)字符串
字符串的功能较多,这里不再赘述,可参考Python字符串。
3.Python的列表
列表类似于C语言中的数组,例如
#定义一个names列表,里面有8个值,下标从0开始
names = ["zhao", "qian" ,"sun", "li","zhou" ,"wu", "zheng", "wang"]
打印整个列表
print(names)
打印从下标为2的值到最后
print(names[2:])
打印从下标为1的值到下标为4的值,顾前不顾后,下标为4的值不打印
print(names[1:4])
['zhao', 'qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang']
['sun', 'li', 'zhou', 'wu', 'zheng', 'wang']
['qian', 'sun', 'li']
列表的下标可以从前往后数从0开始,也可以从后往前数从-1开始。从从后往前数的切片时,不能写成names[-3:-1],要写成names[-1:-3],也是从前往后数。
(1)name.append()是列表在末尾增加值的函数,一次只能增加一个。
(2)name.insert(插入的下标,插入的值)是列表插入值的函数,例如:
names = ["zhao", "qian" ,"sun", "li","zhou" ,"wu", "zheng", "wang"]
names.append("yu")
names.insert(4,"liu")
print(names)
['zhao', 'qian', 'sun', 'li', 'liu', 'zhou', 'wu', 'zheng', 'wang', 'yu']
(3)列表元素的删除,有三种方式
names.remove(),移除列表中的某个值,括号内为“值”
del names[下标]
names.pop(下标),如果不填默认值为最后一个,举例
names = ["zhao","qian","sun","li","zhou","wu","zheng","wang"]
names.remove("zheng")
del names[1]
names.pop()
print(names)
运行后的结果为
['zhao', 'sun', 'li', 'zhou', 'wu']
把zheng ,第二个值和最后一个值删除了。
(4)通过值输出下标使用names.index(“值”)函数
(5)可以通过names.count()来统计元素值出现的次数
(6)names.copy是复制列表
names = ["zhao","qian","sun","li","zhou","wu","zheng","wang"]
names2 = names.copy()
print(names)
print(names2)
运行结果为:
['zhao', 'qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang']
['zhao', 'qian', 'sun', 'li', 'zhou', 'wu', 'zheng', 'wang']
赋值=在列表间是赋值列表的存储地址,所以任何一个改了,列表都会修改。
4.Python的元组
元组也是存一组数,但是只可以读,不能做其他操作,它的方法只有两个,index()和count(),作用和上文列表的相应函数作用一致。