1. 字符串操作
- 三个单字符,可以直接输出长的带换行的文档;
- Python如何优雅的交换两个变量的值
2. random模块的应用
引用random模块,randint函数中有两个变量,表示生产[a,b]
使用random.getstate获取随机数种子,再通过random.setstate可以重新得到刚才的随机数.
3. 浮点数
如果在python中,使用float型数据时会出现偏差,但是如果引用decimal模块,则可以精准进行浮点数进行计算
4. Bool 型数据
只有空字符串。bool后才是false,否则就是true;
false表示假,而Null表示一无所有,空;
值为0的数字类型为false,包括Decimal(0),Fraction(0,1)
空的序列和集合:'',(),[],{},set(),range(0)
以上使用bool均为false
5. 短路逻辑
and or 等逻辑运算符需要遵循短路逻辑。
从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
Python在计算式,不需要在计算and和or的时候,一定要算完,如果 A and B时,如果A不是0,则需要计算到B,若B也不为0,则输出B;如果A or B,如果A不为0,则直接输出A即可,不用关心B。
6. 循环语句
跳出循环可以用break,continue或者else。
其中,else的用法:当循环条件不再为真的时候,else语句才会执行。而使用break是跳出循环,此时的条件依旧为真。
例子1:通过while...else语句,如果循环break掉循环,则不执行else语句。
break 只能跳出一层循环:通过该例子可以看出,break只跳出了每天学习1h后推出的循环
通过以上例子,可以了解到,通过while...else可以判断程序是否已经正常退出循环。
嵌套代码示例,通过这个示例学到,如果print后的语句不想自动出现换行,需要再print后面加上‘end = ' '’
7. 循环语句-for
for 变量 in 可迭代对象:
statement(s)
其中,可迭代对象指的是元素可以被单独提取的对象。
range 的用法,默认的start为0,默认的stop是开区间:
得到素数的程序,根据素数的定义,素数只能被1和他自身整除:
8. 列表
列表的切片语法真是优雅而又简单
Python 的列表可以有各种不同类型的数据,且列表的第一个元素是0
列表的切片语法:
9. 列表的增删改查
9.1 列表元素的增加
第一种:通过append或者extend在列表后增加元素
第二种:通过list[len[list]:] = []的方式增加元素
第三种:使用insert
9.2 列表元素的删除
方法1:使用remove函数删除:
1)如果列表中存在多个匹配的元素,则remove只会删除第一个;
2)如果指定的元素不存在,则程序报错
方法2:使用pop函数删除指定位置的元素
方法3:clear清空所有的元素
heros.clear()
9.3 列表元素的修改
列表和字符串的差别之一:列表是可变的,字符串是不可变的。
对一个数组进行倒叙排序有两种方法:
方法一:先sort正序排列,再用reverse从后往前重新排列;
方法二:sort(reverse=True)
索引值index函数,如果有多个元素,会返回多个元素的第一个index值
9.3 列表元素的修改
列表的加法:
列表的乘法(即列表内元素的重复)
9.4 二维数组的基本操作
二维数组建立的时候,可以使用嵌套列表进行建立
个人认为:元组不适合做二维数组,如果使用元组,那元组内的每个元素需要是列表
二维数组的浅复制和深复制。
嵌套列表浅复制的方式有两种:
1. list.copy()
Python浅拷贝:
方法一:list.copy
方法二:list[:]
如果使用乘号对嵌套列表进行拷贝,他拷贝的只是对同一个列表的引用!
Python变量并不是一个盒子,并不是将数值放在变量里面去,而是一个标签将变量与数据进行挂钩,该行为称之为引用。
一个变量赋值给另一个变量,相当于将一个标签的引用传递给另一个变量
列表推导式以C语言一样的速度执行:
列表推导式的语法:
[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]