2019.08.14学习整理
递归
什么是递归
在一个函数里在调用这个函数本身
最大递归层数做了一个限制:997,但是也可以自己限制
结束递归的标志:return
递归解决的问题就是通过参数,来控制每一次调用缩小计算的规模
使用场景:数据的规模在减少,但是解决问题的思路没有改变
内置函数
1.bytes()
解码字符。
res = '你好'.encode('utf8')
print(res)
b'xe4xbdxa0xe5xa5xbd'
res = bytes('你好', encoding='utf8')
print(res)
b'xe4xbdxa0xe5xa5xbd'
2.chr()/ord()
chr()参考ASCII码表将数字转成对应字符;ord()将字符转换成对应的数字。
print(chr(65))
A
print(ord('A'))
65
3.divmod()
分栏。
print(divmod(10, 3))
(3, 1)
4.enumerate()
带有索引的迭代。
l = ['a', 'b', 'c']
for i in enumerate(l):
print(i)
(0, 'a')
(1, 'b')
(2, 'c')
5.eval()
把字符串翻译成数据类型。
lis = '[1,2,3]'
lis_eval = eval(lis)
print(lis_eval)
[1, 2, 3]
6.hash()
是否可哈希。
print(hash(1))
1
面向过程编程
优点:复杂的问题流程化,进而简单化。
生产汽水瓶的流水线,没办法生产特斯拉。流水线下一个阶段的输入与上一个阶段的输出是有关联的。因此他的扩展性极差。
缺点:扩展性差。