2018-10-11总结

匿名函数

1.普通函数
def 函数名(参数列表):
函数体
2.匿名函数
函数名 = lambda 参数列表:返回值
sum1 = lambdm (args,*kwargs):None
说明:
函数名 ----变量名
lambda ---关键字
参数列表 ----(参数名1,参数名2...)(至少有一个函数)

返回值 -----相当于有一个return语句的函数体

匿名函数的调用和普通函数一样:函数名(实参列表)也支持位置参数,关键字参数,不定长函数

变量的作用域

1.变量的作用域

变量的作用域是指变量更够使用的范围

2.全局变量和局部变量

全局变量:声明在函数和类的外面的变量都是全局变量,作用域是从声明开始到整个py文件结束。

3.局部变量

声明在函数和类中的变量都是局部变量。声明在函数中的变量,作用域从声明开始到整个函数结束。

def fuc():
a = 123  #a就是局部变量

4.global 关键字

在函数中说明一个变量是全局变量
`注意:值在函数中使用

name = 'uzi'
def fuc():
global name#说明当前使用的变量为全局变量
  name ='letme'
  print(name) 
fuc()  # 'letme'

5.nonlocal 关键字

想要在局部变量中修改局部变量的值

def fuc():
  abc = 100
  nonlocal abc
  abc = 200
  print(abc)

fuc()   #200


4.函数作为变量

1.声明函数就是声明一个类型是function的变量,函数名实质就是一个变量名

def fuc():
  print()
print(type(fuc))  #<class 'function'>

2.函数作为列表元素

a = 10
list1 = [1,a]
def fuc():
  print('love')
  return 10
list2 = [1,fuc(),fuc]
print(list2)  #[1,10,fuc地址]

3.将函数作为参数

def fuc1(n):
    n()

def fuc2():
    print('chenguo is good man')

fuc1(fuc2) #chenguo is good man

列表.sort(key = None ,reverse = False) 使用sort的时候,可以通过key赋值一个函数变量,来规定列表中的元素按照什么标准来排序 这儿的函数要求有一个参数和返回值。

lst3 = [(10,20),(100,3),(1,90)]
def sum1(item):
    return  item[1]
list3.sort(key = sum1)
print(list3) #[(100, 3), (10, 20), (1, 90)]

4.将函数作为返回值

根据运算符号,返回对应的功能

def oper(opera):
    if opera =='+':
        def fuc1(*args,**kwargs):
            #*args = (tuple)
            #**kwaggs = {dict}
            sum1 = 0
            for x in args:
                sum1 += x
            for y in kwargs:
                sum1 += kwargs[y]
            return  sum1
    return  fuc1
re = oper('+')(34,56,35,a = 12 , b = 45)
print(re)#182

函数的调用

1.补充:python中的函数可以有多个返回值

求多个数的和以及平均值

def sum1(*n):
    sum2 = sum(n)
    avrg = sum2/len(n)
    return  (sum2, avrg)  #同时返回和 、平均值
a = sum1
print(a(12,3,4,4))  #(23, 5.75)

递归函数

递归函数:函数中调用函数本身,这样的函数就是递归函数(自己调自己)

循环能做的事情递归都可以做,但是实际上循环能解决的问题绝对不选递归

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,959评论 0 5
  • “你用幼稚换来的成熟,就是自己亲身体验的成长。” 文/春梅 上周的专业课上,全班一起看一部名叫《人间世》的纪录片,...
    春梅记阅读 1,513评论 0 0
  • ch2 利用用户行为数据 为更好的对每个用户服务,需要深入挖掘用户的行为数据。用户的行为不是随机的,其中蕴含有模式...
    FinlayLiu阅读 4,256评论 0 0
  • 我一直相信文字是有力量的,和歌曲一样积蓄在下一个节奏高升的嘶吼中,用撕心裂肺的泪水溅满身边冷漠的脸庞。 我需要戴着...
    高三岁阅读 3,418评论 0 0
  • 我们家可能是你在深圳能找到最考究的民宿了~所有家具都是找老师傅专门订做,仿明风格的罗汉椅、边桌和xxx,全部都是实...
    莫劳达内阅读 2,435评论 0 0

友情链接更多精彩内容