1.python 中if else
将if else 压缩到一行(“三元”)
i=6 if a>7 else 0
可翻译成:if a >7: a=6 else: a = 0
2.空值:
是python 中一个特殊的值,用None表示,None不能理解为0,因为None是有意义的,而None是一个特殊的空值。
3.编码:
ACSII编码:因为计算机室美国人发明的,所以最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和符号,这个编码就是ACSII编码。
Unicode标准:是将世界各种语言都统一到一套编码里,这样就不会有乱码的问题,缺点:
同样的文本字符,Unicode作占用的存储空间是ASCII编码的一倍。于是楚翔了UTF-8编码。
UTF-8: UTF-8编码将Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母编码成1个字节,汉子通常是3个字节,生僻的字符是4-6个字节。如果传输的文本包含大量的英文,使用UTF-8可以节省空间。
encode() :以Unicode表示的str可通过encode()方法,可以编码为指定的bytes,例如:
‘ABC’.encode('ascii')‘
decode(): 如果我们从网络或磁盘上读取字节流,那么读取的数字就是bytes,可以通过decode,将bytes变为str.如:b’\xe4\xb8\xad\xe6\x96\x87’.decode(‘utf-8’) ‘中文’
4.list 与 tuple:
list:实例:t = [‘1’,‘a’,‘y’], 使用[] 且里面元素可以进行增删改的操作。
tuple: 实例:t = (‘1’,‘a’,‘y’) 使用() 包含的袁术不可修改。
**5.dict:**内置字典key-value,具有极快的查找速度。
list 与 dict的区别:
dict查找速度极快,不会随key的增加而变慢,list会随着元素的增多而增加时长。
dict占用内存大,内存浪费多;list占用内存小,内存浪费少。
6.if 判断语句:
特点:从上往下开始判断,如果在某个判断上市true,就把判断的语句执行,但剩下的elif,else将被忽略。
7.break 与 continue的区别:通常搭配if条件语句。
break,可以再循环过程中直接退出循环,
continue:提前结束本次循环,进入下一轮循环
注:尽可能少的使用这两个关键字
8.函数关键字:在定义默认参数是,一定要使用不可变对象,
*args: 是可变参数,接收的是一个tuple,
*kw: 是关键字参数,ke接收的是一个dict
9.生成器:将列表元素按照某种算法推算出来,那就可以推算出后续的元素,这种一边循环一边计算的机制称为生成器。有两种生成方式吗,如下示例:
示例一:g = (x * x for x in range(n))
示例二:包含了yield关键字,是另一种写法
def fib(max):
n, a, b = 0, 0, 1
while n < max:
yield b
a, b = b, a + b
n = n + 1
return'done'
9.高阶函数:将函数作为参数传入,函数式编程就是指这种高度抽象的变成范式。
如:
def add(x,y,f):
return f(x)+f(y)
print(add(12,11,abs))
10.enumerate函数:用于将可遍历的数据对象(列表,元组,字符串)组合成一个序列索引,他会同时列出数据和数据下标,常用于for循环中。
如下代码:
seq = [‘ont’, ‘two’, ‘three’]
示例一:
i = 0
for element in seq:
print(i,seq[i])
i+=1
示例二:
for i ,element in enumerate(seq):
print(i,element)
以上两个例子,一个是常规用法,第二个使用了enumerate()函数,一对比,明显示例二跟符合DRI原则。
11.ramge():创建整数列表,一般用于for循环中。
语法range(start ,stop,[,step])
start:计数开始位置
dtop:计数到stop结束,但不包括stop
step:步长,默认为1
示例:
seq = ['hello']
for i in range(len(seq)):
print(seq[i]) // h e l l o