语句+细节记录

1.return的判断语句

当return后跟的不是一个值,而是一个判断语句时,意义都是判断其真假,并返回相应的布尔值(True/False)
引用Python官方文档的解释:

The expression x and y,first evaluates x; if x is false, its value is returned; otherwise, y is evaluated and the resulting value is returned.
The expression x or y,first evaluates x; if x is true, its value is returned; otherwise, y is evaluated and the resulting value is returned.

a和b:a假,整个都假,返回a;a真,继续执行后面的y,返回y
a并b:a真,整个都真,返回a;a假,继续执行后面的y,返回y
例:
return n % 2 == 1
意为:先判断n对2求余数是否为1,如果是1则返回True,如果不是则返回False

return s and s.strip()
当s为None时,运行到s时就已经可以判断为False了,返回None,不需要再继续执行后面的s.strip()。而如果语句写为 return s.strip()时,s为None该语句就会报错。

2.真假判断

Python中所有的对象都可以进行真值(布尔值)测试
所以在1中,返回的是一个数/字符串,在使用filter时会自动判断返回的对象是真还是假(不是指返回的对象一定要是布尔值),然后决定保留还是舍弃
语句+细节记录

3. str.strip()

去除字符串首尾的指定字符,默认是空格和转行符
str = ‘0000abcdefg0000’
str.strip(‘0’)

4.切片的花式使用

string [start: end: step]
[::-1] 数列翻转:表示整个数列,以步距为-1取值(1为正着,往后推1个顺着取;-1为反着,往前推1个顺着取)
例:‘12345’[::-1] → ‘54321’
[3::-1]: 从索引为3的数开始倒着,以步距为1取
例:‘12345’[3::-1] → ‘4321’