2018-10-11笔记

1.匿名函数

函数名 = lambda 参数列表:返回值
说明:
lambda是关键字
:固定的
此处返回值相当于只有一个return语句的函数体

#写一个匿名函数,功能是求两个数的和
[IN1]sum1 = lambda num1,num2: num1+num2

     print(sum1(3,9))
[IN2]def sum1(num1,num2):
      return num1+num2
      print(sum1(10,20)
#求1+2+3+……+100
[IN3]sum2 = lambda n: sum(range(n+1))
       print(sum2(100))
[OUT1]12
[OUT2]30
[OUT3]5050

特点:可直接将函数的声明作为一个变量或值

2.变量的作用域

变量的作用域指的是变量能够使用的范围
全局变量:声明在函数和类的外面的变量;作用域从声明开始到整个py结束
局部变量:声明在函数和类内的变量
作用域从声明开始到函数结束

3.关键字

global 关键字:在函数中说明此变量为全局变量。只声明,不赋值,只在函数中使用

[IN]name = 'abc' #全局变量

def func2():
      global name #声明使用的name是全局变量name
      name = 'aaa'#局部变量
      print(name)

print(name)

[OUT]aaa

nonlocal关键字 :在函数中的局部函数中修改局部变量的值

4.函数作为变量

声明函数就是声明一个类型是function的变量,函数名实质就是变量。
sort的使用
列表.sort(key=None, reverse=False)
使用sort的时候,可以通过给key赋一个函数变量,来规定列表中的元素按什么来排序
其中:函数变量要求要有一个参数和一个返回值。参数代表列表中的元素,返回值代表按照那个标准排序

#将列表里的元素中按成绩进行排序
list1=[
    {'name': '张三', 'age': 20, 'score': 90},
    {'name': '李四', 'age': 28, 'score': 70},
    {'name': '王五', 'age': 18, 'score': 89}
]
list1.sort(key=lambda item:item['score'])
 print(list1)
def get_age(item):
    return item['score']
 list1.sort(key=get_age)
 print(list1)

5.将函数作为返回值

函数可以作为返回值出现
python中的函数可以有多个返回值,判断是否有return返回值,考虑是否有新数据产生。

#案例:读程序
def operation(operator:str):
    if operator=='+':
        def sum1(*args,**kwargs):
            sum2=0
            for item in args:
                sum2+= item
            for key in kwargs:
                sum2+= kwargs[key]
            return sum2
        return sum1
    elif operator=='*':
        def func1(*args,**kwargs):
            sum2=1
            for item in args:
                sum2*=item
            for key in kwargs:
                sum2*=kwargs[key]
            return sum2
        return func1

print(operation('*')(3,4,6,3))

6.函数的调用

函数的调用过程是一个压栈的过程
每次调用函数时,系统都会在内存中(栈)开辟空间来存储函数执行过程中产生的数据(函数中声明的变量)
当函数调用完成后,这块内存空间会自动销毁。

#求多个数的和及平均值
def my_sum(*nums):
    sum1=sum(nums)
    average=sum1/len(nums)
    return sum1,average

print(my_sum(3,4,2,5,7,37))

7.递归函数

递归函数:函数中调用函数本身。循环能做的事递归都可以做。
步骤:1)确定临界值(循环结束的条件,一般是最小值)
2)找关系,假设函数功能已经实现,找f(n)和f(n-1)的关系
3)根据关系,用f(n-1)实现f(n)的功能
一般不用递归,耗内存

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,254评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,875评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,682评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,896评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,015评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,152评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,208评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,962评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,388评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,700评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,867评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,551评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,186评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,901评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,689评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,757评论 2 351

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,772评论 0 38
  • 星期五上午,我们在练习上小桥要表演的节目,我们先来了一遍,老师说不行,我们又练习了几遍,老师说进步了,但还...
    紫百合一阅读 289评论 0 0
  • 每一次承担都是成长,人必须要突破自己,把一切都处理好,就不会内疚,把一切都看平淡化,心里放平和,用感情去处理,加油
    88e94d537f85阅读 88评论 0 0
  • 第二章 临近午夜,万大军坐在公交车的乘务员座位上慵懒地打着哈欠。 他来回的巡视了一下车厢,除了几个下夜班的年轻男女...
    来学校补习班阅读 276评论 1 3