lambda:声明一个匿名函数
f = lambda x:x*x
作用:节省代码量,看着更高级一点。
三元运算符:
max = a if a>b else b
高阶函数:
变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就可以称之为高阶函数。
def func(x,y):
return x+y
def calc(x):
return x
n = func
print(calc(func))
递归:
调用自己
与栈的关系:
就是将变量压栈,容易造成栈的溢出。执行效率不高。
递归的作用:
尾递归优化。(python当中没有。。。)
内置函数:
all():其实质是利用bool()方法判读数据,如果有一个为False,则就为False。比如:0。但是其中如f = []空列表时一般为False,但all()判断为True。
any():和all()差不多,只是其只要任意一个值为True就返回True。空的列表之类的返回False。
slice():提前定义好切片规则。
eval():只能处理当行代码。可以拿到返回结果
exec():可以完成多行代码。(复杂的,函数。。。),拿不到返回结果
ord():拿到字符在ascii码中的位置,数值
str():通过传入的数值或者位置拿到ascii字符。
字符串一般是不能直接修改的,但是可以利用bytearray()修改,不过在修改之前需要将字符串进行编码操作。因为要将其转换成字节形式。
str1 = 'baohuiquan'
print(str1[1])
#str1[0]="B"
print(str1)
str1 = str1.encode('utf-8')
str1 = bytearray(str1)
print(str1[0])
str1[0]=66
print(str1)
map()方法
例: map(func,list)
map(lambda x:x*x,[1,2,3,4])
结果:[1,4,9,16]
filter()方法:过滤
如filter(lambda x:x>3,[1,2,3,4,5])
结果:[4,5]