1. 字符串相关操作
1.1 字符串输入输出
- 输入:
1 | s = input() |
- 输出:
1 | print(s) |
在输出时,可通过 和 运算符同时输出多个字符串(字符串之间无空格),也可通过 (字符串之间以一个空格间隔)
例如:
1 | s1 = "qwq" |
运行结果:
1 | qwqqq |
占位符的使用方法:
1 | s = 3.1415 |
运行结果:
1 | 3 |
改变结尾方式:使用 改变
具体用法:
1 | a = 2 |
运行结果:
1 | 2 |
1.2 字符串的拼接及长度获取
-
拼接可使用 和 运算符将多个字符串合为一个字符串
-
长度获取:
1 | l = len(s) |
1.3 字符串的转化
- 大小写转化
可以将字符串中的小写字母转化为大写字母, 可以将字符串中的大写字母转化为小写字母, 可以将字符串所有单词的首字母变成大写,而其他字母依然小写。
具体用法:
1 | s = "aBcD" |
运行结果:
1 | aBcD |
可以注意到, 对 本身并不会造成任何影响,需要赋值给字符串变量才能体现出来。 和 同理。
- 去除首尾空格
可以去除字符串两侧(不包含内部)全部的空格。使用该方法,也可以通过指定参数,去除两侧指定的特定字符。(不加任何参数就是默认删除空格)
注意:
在指定参数时,如果参数是多个字符,则该方法会将多个字符逐个去比对,进行删除(区分大小写),直到首尾两侧没有匹配的字符为止。该方法t同样对字符串中间的字符没有影响。
这东西同样得记得赋值!
具体用法:
1 | s1 = " qqwqq " |
运行结果:
1 | qqwqq |
1.4 字符串替换
- 前置知识:字符串查找
利用 可以在一个较长的字符串中查找子字符串。如果该字符串中有一个或者多个子字符串,则该方法返回第一个子串所在位置的最左端索引(注意:索引从 开始),若没有找到符合条件的子串,则返回 。
具体用法:
1 | s1 = "qwqaqwq" |
运行结果:
1 | 2 |
- 字符串替换
函数括号中包括两个参数,第一个参数是代替换串,第二个参数是替换串。
具体语法:
1 | s = "qwqaqwq" |
运行结果:
1 | qwqaqwq |
1.5 字符串分割
可以将字符串分割成字符列表,括号里共一个参数,表示以什么作为分隔符(不传入参数默认以 " " 或 "\n" 或 "\t"作为分隔符),若字符串中未出现该分隔符则不分割,即列表中只包含它本身。
具体用法:
1 | s = "a+b c+d\ne+f" |
运行结果:
1 | ['a+b', 'c+d', 'e+f'] |
1.6 字符串与其他类型相互转换
具体用法:
1 | s1 = "123456" |
运行结果:
1 | 123456 |
2. 变量与表达式
2.1 各种运算符
操作符 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 整除 |
% | 取余 |
** | 幂 |
2.2 math 库函数
- 两种调用方式
1 | import math |
1 | from math import * |
- 常用函数
函数名 | 描述 |
---|---|
pi | 圆周率数值(注意不是弧度) |
e | 自然常数 |
abs(x) | 整数型绝对值 |
fabs(x) | 浮点数型绝对值 |
exp(x) | e^x |
log2(x) | |
log10(x) | |
log(x) | ln(x) |
pow(x, y) | x^y |
sqrt(x) | x 的平方根 |
cos(x)(sin tan 等同理) | 三角函数 |
degrees(x) | 弧度转角度 |
radians(x) | 角度转弧度 |
3. 各种结构
注意缩进!!!!!!!!!!
3.0 条件表达式
优先级
3.1 分支结构
1 | if <条件1>: |
和 部分可按需取舍
分支结构可嵌套
题型相关知识补充:闰年指的是能被 整除但不能被 整除或者能被 整除。
3.2 循环结构
- 语句
1 | while <条件>: |
执行顺序:
-
判断条件语句为真还是假
-
如果为真,执行语句块;如果为假,跳出循环
-
重复上述过程 ...
(直到跳出循环)
(若陷入死循环,就一直执行下去)
- 语句
1 | for <循环变量> in <遍历结构(可以是列表,字符串等,例如range(n)就是一个列表)>: |
生成一个包含 到 的列表
生成一个包含 到 的列表
生成一个包含 到 步长为 的列表
- 与
:结束当前循环,进入下一次循环(对于当前所在的循环结构)
:直接结束循环(对于当前所在的循环结构)
4. 元组
元组的元素不可修改,列表的元素可修改,这是他们俩的典型区别。
元组内部有序。
4.1 创建
1 | tuple1 = ("a", "b", 1, 2) |
4.2 访问
1 | t = (1, 2, 3, 4, 5) |
运行结果:
1 | 2 |
4.3 连接
元组元素无法修改,只能通过 运算符连接两个元组:
1 | t3 = t1 + t2 |
4.4 删除
元组元素无法删除,只能通过 语句删除整个元组:
1 | t = (1, 2, 3) |
删除完毕后再次调用已删除的元组程序会报错:
1 | NameError: name 't' is not defined |
4.5 函数
函数 | 描述 |
---|---|
len(t) | 计算元素个数 |
cmp(t1, t2) | 比较两个元组 |
max(t) | 找最大值 |
min(t) | 找最小值 |
tuple(list) | 将列表转换为元组 |
注意:元组中数字小于其他类型
5. 列表
5.1 创建
1 | list1 = ["a", "b", 1, 2] |
5.2 访问
1 | l = [1, 2, 3, 4, 5] |
运行结果:
1 | 2 |
5.3 更新
1 | l = [] |
运行结果:
1 | [7, 3] |
5.4 删除
1 | l = [1, 3, 5, 7, 3] |
运行结果:
1 | [1, 3, 5, 3] |
5.5 函数
函数 | 描述 |
---|---|
len(l) | 计算元素个数 |
cmp(l1, l2) | 比较两个列表 |
max(l) | 找最大值 |
min(l) | 找最小值 |
list(tuple) | 将元组转换为列表 |
list.append(x) | 末尾添加元素 |
list.insert(index, x) | 插入元素 |
list.pop(index) | 末尾删除元素(index 默认 -1) |
list.remove(x) | 删除指定元素 |
list.count(x) | 统计某元素出现次数 |
list.extend(seq) | 末尾追加另一个序列的所有元素 |
list.index(x) | 找出某个值第一个匹配项的索引位置 |
list.reverse() | 反向列表中的元素 |
list.sort() | 升序排序 |
list.sort(reverse = True) | 降序排序 |
6. 字典
字典无序,不允许同一个键出现多次,键不可变。
6.1 创建
1 | dict1 = {"a": 1, "b": 2} |
6.2 访问
1 | d = {"a": 1, "b": 2, "c": 3} |
运行结果:
1 | 1 |
6.3 更新
1 | d = {"a": 1, "b": 2, "c": 3} |
运行结果:
1 | 4 |
6.4 删除
1 | d = {"a": 1, "b": 2, "c": 3} |
6.5 函数
函数 | 描述 |
---|---|
len(d) | 计算键个数 |
cmp(d1, d2) | 比较两个字典 |
str(d) | 输出字典可打印的字符串表示 |
type(v) | 返回输入的变量类型,如果变量是字典就返回字典类型 |
d.clear() | 清空 |
d.copy() | 浅复制 |
d.fromkeys(seq[, val]) | 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值 |
d.get(key, default=None) | 返回指定键的值,如果值不在字典中返回default值 |
d.has_key(key) | 如果键在字典dict里返回true,否则返回false |
d.items() | 返回可遍历的(键, 值) 元组的列表 |
d.keys() | 返回一个字典所有键的列表 |
d.values() | 返回一个字典所有值的列表 |
d.update(d2) | 把字典d2的键/值对更新到d里 |
pop(key[,default]) | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
popitem() | 返回并删除字典中的最后一对键和值。 |