python——函数

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]

 

    

posted @ 2018-11-14 15:17  我不会喜欢你  阅读(129)  评论(0编辑  收藏  举报