一、模块
使用模块中的函数
模块类似工具包,需要用import导入
每一个以.py结尾的文件都是一个模块
模块内部定义的全局变量、函数都是模块提供给外界直接使用的工具
使用方式:先用import导入模块,然后另起一行写 模块名.(所需函数)
![](https://i-blog.csdnimg.cn/blog_migrate/cfaaaf2a41be243687da12838e2f0cb8.png)
模块名也是一种标识符
以字母、下划线、数字组成(数字不可为开头)
不能与关键字重名
【补充】PYC文件
将已执行过的文件记录为.pyc形式(以二进制字节码保存),下一次使用时直接一次性解释而非逐条解释
二、高级变量类型
列表(类似C中的数组,list)
定义
存储一系列数据
列表索引从0开始,列表名【索引值】可用于查看或修改该处内容
用 【】 定义
name_list = ["zhangsan", "lisi", "wangwu"] #此时一个变量存放了三个元素
列表操作
ipython的简单操作:定义一个数组(可以为空),另起一行打 数组名.+回车 可以看到所有操作
列表.sort() 升序排序
列表.sort(reverse = True) 降序排序
列表.reverse() 反转/逆转
列表.remove[数据] 删除第一个出现的指定数据
列表.pop 删除末尾数据
列表.pop(索引) 删除指定索引的数据
del 列表【索引】 删除指定索引的数据
P.S. 建议不要用del,del相当于完全删除,后面把这段代码删了数据也不会恢复
len(列表) 获取列表长度
列表.count(数据) 统计数据在列表中出现次数
列表【索引】 从列表中取值
列表.index(数据) 获得数据第一次出现的索引
列表.insert(索引,数据) 在指定位置插入数据
列表.append(数据) 在末尾追加数据
列表.extend(列表2) 将列表2的数据追加到列表1
【科普】关键字、函数、方法
关键字(python内置)
e.g.del、continue等
import keyword
print(keyword.kwlist) #可以输出所有关键字
函数
函数名(参数)
封装了独立功能,可以直接调用
方法
封装了独立功能
通过对象调用,针对这个对象要做的操作
对象.方法名(参数)
循环遍历(for)
#for 循环内部使用的变量 in 列表,变量名随意
for name in name_list:
print("%s" % name)
元组(tuple)
定义
内部元素不可更改
用于存储一串信息,之间用 , 分离
用()定义,元组中只包含一个元素时,该元素后面需要有,
索引从0开始
tuple = ()
变量定义方法
tuple = ("zhangsan", 18, 1.75) #可以包含不同类型元素
tuple = () #空元组
tuple = (50, ) #只包含一个元素时的特殊形式
利用索引获取指定元素用【】 e.g.tuple[0]
常用操作(与列表相似)
tuple.count
tuple.index
循环遍历(for)
for循环可以遍历所有非数字类型的变量:列表、元组、字典、字符串
【补充】
格式化字符串后面的()本质上就是元组
tuple = ("zhangsan", 18, 1.75)
#方法一
print(“%s 年龄是 %d 身高是 %f” % tuple)
#方法二
str_tuple = “%s 年龄是 %d 身高是 %f” % tuple
print(str_tuple)
元组与列表之间的转换
#list函数:转换为列表
list(元组)
#tuple函数:转换为元组
tuple(列表)
字典
定义
字典无序(数据保存无顺序),无索引值,由程序员自己定义每一格名称
用{}定义
键与值之间用:分隔
键值对之间用,分隔
键(key)是索引,值(value)是数据,键必须唯一
值可以取任何数据类型,键只能使用 字符串、数字或元组
xiaoming = {"name": "小明",
“age”: 18,
"gender": True}
常用操作
取值
print(xiaoming["name"])
增加/删改
xiaoming["height"] = 1.75 #因为不考虑顺序,所以增加不考虑增加位置
xiaoming["name"] = “小小明”
删除
xiaoming.pop("name")
统计键值对数量 len()
len(字典)
合并字典
字典1.update(字典2)
若被合并字典包含原字典关键字,则被合并字典的数据覆盖原字典该关键字值
xiaoming.update(xiaoming_str)
清空字典
字典.clear
xiaoming.clear
循环遍历
变量名为每一次循环获取到的值对应的key
【补充】列表和元组可以套用
card_list = [{"name": "张三",
"qq": "123456"},
{"name": "李四",
"qq": "234567"}
]
字符串
定义
可以使用“”或‘’定义字符串,建议使用双引号
字符串中想使用双引号时用单引号括在外面(也可用反义)
有索引
常用操作(还有很多其他操作,遇到查找帮助就行)
len()
字符串.count(子字符串) 小(子)字符串在大字符串中出现次数
字符串.index(子字符串)
字符串.isdecimal 只能是数字
字符串.isdigit (1)、\u00b2也可以
字符串.isnumber 可判断中文数字
都不能判断小数
字符串.startwith 是否以指定字符串开始
字符串.endwith 是否以指定字符串结束
字符串.find(str,start=0,end=len(str)) 在指定范围内查找对应字符的索引位置(从第几个开始),对应字符不在字符串内则输出-1
字符串.replace(old_str,new_str,num=string.count(old)) 将old_str替换为new_str,且Num指定时替换num次
字符串.ljust 左对齐
字符串.rjust 右对齐
字符串.center 居中
自动添加空格
![](https://i-blog.csdnimg.cn/blog_migrate/777c1e4cfcf39014a5f43cd43eca5289.png)
切片 字符串【开始索引:结束索引:步长】
适用于字符串、列表、元组
切片使用索引值限定范围
顺序提取 0、1、2、3......倒序索引 -1、-2、-3.......
![](https://i-blog.csdnimg.cn/blog_migrate/7dcf3eed3109c16c6db83c6d559b820a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/00a0e3a25ef19e52d3de97bf6b462049.png)
步长写为-1即可倒序