Python(2)模块和数据类型

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(),作用和上文列表的相应函数作用一致。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章