一、字面量
在代码中,被写下来的固定的值,称之为字面量。
二、字符串格式化
语法
- “%占位符%” %变量
- f"内容{变量}"
精度的控制
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
.n,控制小数点精度,要求是数字,会进行小数的四舍五入
三、表达式格式化
- f"{表达式}"
- “%s%d%f" %(表达式,表达式,表达式)
四 、函数的说明文档
我们可以给函数添加说明文档,辅助理解函数的作用,
语法如下:
def func(x,y):
'''
函数说明
:param x: 形参x的说明
:param y: 形参y的说明
:return : 返回值的说明
'''
函数体
return 返回值
通过多行注释的形式,对函数进行说明解释。
五、容器
列表 [ ]
列表的常见方法
方法 | 说明 |
---|---|
列表.append(元素) | 向列表中追加一个元素 |
列表.extend(容器) | 将数据容器的内容依次取出,追加到列表尾部 |
列表.insert(下标,元素) | 在指定下标处,插入指定的元素 |
del列表[下标] | 删除列表指定下标元素 |
列表.pop(下标) | 删除列表指定下标元素,可以用一个变量接收这个元素 |
列表.remove(元素) | 从前向后,删除此元素第一个匹配项 |
列表.clear() | 清空列表 |
列表.count(元素) | 统计此元素在列表中出现的次数 |
列表.index(元素) | 查找指定元素在列表的下标找不到报错ValueError |
len(列表) | 统计容器内有多少元素 |
列表有哪些特点
- 可以容纳多个数据(上限为 2 63 2^{63} 263-1、9223372036854775807个)
- 可以容纳不同类型的数据(混装)
- 数据是有序存储的(有下标序号)
- 允许重复数据存在
- 可以修改(增加或删除元素等)
元组 ( )
定义方式
(元素,元素,元素,…)
操作方法
方法 | 说明 |
---|---|
index() | 查找某个数据,如果数据存在返回对应下标,否则报错 |
count() | 统计某个元素在元组中出现的次数 |
len(元组) | 统计元组元素个数 |
注意事项
不可修改内容
字符串常用操作 " "
方法 | 说明 |
---|---|
字符串[下标] | 根据下标索引取出特定位置字符 |
字符串.index(字符串) | 查找给定字符的第一个匹配项的下标 |
字符串.replace(字符串1,字符串2) | 将字符串内的全部字符串1, 替换为字符串2不会修改原字符串, 而是得到一个新的按照给定字符串 |
字符串.split(字符串) | 对字符串进行分隔不会修改原字符出,而是得到一个新的列表 |
字符串.strip() 字符串.strip(字符串) | 移除首尾的空格和换行符或指定字符串 |
字符串.count(字符串) | 统计字符串内某字符串的出现次数 |
len(字符串) | 统计字符串的字符个数 |
序列的切片操作
序列是指内容连续、有序,可以使用下表索引的一类数据容器。列表、元组、字符串都可以视为序列
切片:从一个序列中,取出一个子序列
语法:序列[起始下标:结束下标:步长]
表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:
- 起始下标表示从何处开始,可以留空,留空视作从头开始
- 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
- 步长表示,依次取元素的间隔
- 步长1表示,一个个取元素
- 步长2表示,每次跳过1个元素取
- 步长N表示,每次跳过N-1个元素取
- 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)
集合的特点 { }
- 可以容纳多个数据
- 可以容纳不同类型的数据
- 数据是无序存储的
- 不允许重复数据存在
- 可以修改
- 支持for循环
容器的比较
六、不定长参数
位置传递
def fun(*args)
传进的参数都会被args收集,他会根据参数位置合并为一个元组,args是元组类型,这就是位置传递
关键字传递
def fun(**kwargs)
参数是“key=value”形式的情况下,所有的“key=value”都会被kwargs接受,同时组成字典。
七、函数
函数做参数传递
- 函数本身可以作为参数,传入另一个函数中进行使用。
- 将函数传入的作用:传入计算逻辑 ,而非传入数据
匿名函数
lambda匿名函数语法:
lambda 传入参数:函数体(一行代码)
匿名函数用来临时构建函数,只用一次的场景,且只能写一行函数体代码
八、文件
文件操作函数
操作 | 功能 |
---|---|
文件对象 = open(file,mode,encoding) | 打开文件获取文件对象 |
文件对象.read(num) | 读取指定长度字节,不指定num读取文件全部 |
文件对象.readline() | 读取一行 |
文件对象.readlines() | 读取全部行,得到列表 |
for line in 文件对象 | for 循环执行文件,一次循环得到一行数据 |
文件对象.close() | 关闭文件对象 |
with open()as f | 通过with语法打开文件,可以自动关闭 |
九、异常
在可能发生异常的地方进行捕获。当异常出现的时候,提供解决方式,而不是任由其导致程序无法运行。
格式:
try:
可能发生异常的语句
except [异常 as 别名:]
出现异常的准备手段
[else:]
未出现异常时应该做的事情
[finally:]
不管出不出现异常都会做的事情
异常具有传递性
十、包、模块
if _ name _ == ‘_ main _’
当运行的模块是自己模块时,才会执行相应的函数
其他模块导入则不会执行
_ all _ = [“test_a”]
from module1 import *
import * 只能导入test_a