1.匿名函数

list(filter(lamda a:a>3,[1,2,3,4,5]))

一般和过滤器一起使用

2.函数的作用域

a = 123

def test():

a = 666

a = a + 1

print(a)

test()

print(a)

1.函数外面访问不到函数里面的变量

2.函数里面可以访问外面的变量

3.函数里面不能修改外面的变量,针对不可变类型而言的,对于列表等可变类型可以修改.

4.函数里面和外面变量名相同,但不是同一个.

5.函数内部用 global a 申明a为全局变量,可对外面的变量进行修改.

6.nonlocal 局部变量申明,可以使用外层非全局变量

def Q():

b = 123

def W():

nonlocal b

b = b + 1

print('进入到W函数')

W()

Q()

3.闭包

函数里面定义的函数在外面去调用.不严谨的说法.ps我个人认为就是在外层函数内部定义一个函数,内层函数的名被赋予了一个内层函数地址,最后返回内层函数名其实就是内层函数地址.这样就建立了内层函数在外层访问的联系.原本外层函数不能访问内层函数,但是通过地址传递出去内层函数,便可以访问.

def A():

print('我是A函数')

def B():

print('我是B函数')

return B

调用B,A()()

4.递归和回调函数

递归:

def fun(x):

if x == 1:

return 1

return fun(x-1)*x

print(fun(5))

返回120,要改变一个值,防止死循环.

回调函数

def fun2(f,c): f是函数名.c是判断参数

if c ==True:

f()

else:

print('不调用')

def play():

print('玩泥巴')

fun2(play,True) 这样就调用了外部的play函数,关键在于传一个函数名参数.

5.linux命令

alias 命令别名:

alias a = 'cd pyme'

a 直接执行 cd pyme

取消别名:unalias a

关机后自动取消

history查看历史

python基础知识07-函数作用域和匿名函数的更多相关文章

  1. Python基础知识总结笔记(四)函数

    Python基础知识总结笔记(四)函数python中的函数函数中的参数变量作用域偏函数PFA递归函数高阶函数BIFs中的高阶函数匿名函数lambda闭包Closure装饰器Decorator函数式编程 ...

  2. day16_函数作用域_匿名函数_函数式编程_map_reduce_filter_(部分)内置函数

    20180729    补充部分代码 20180727    上传代码 #!/usr/bin/env python # -*- coding:utf-8 -*- # ***************** ...

  3. python基础(补充):lambda匿名函数,用了的,都说好!

    lambda函数又叫做"匿名函数".当你完成一件小工作时,直接使用该函数可以让你的工作得心应手. lambda函数介绍 在Python中,定义函数使用的是def关键字,但是通过la ...

  4. python学习-day15:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r

    ---恢复内容开始--- 一.全局变量与局部变量 在子程序中定义的变量称为局部变量, 在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序.当全局变量与 ...

  5. python学习-day16:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r

    一.作用域 作用域在定义函数时就已经固定住了,不会随着调用位置的改变而改变 二.匿名函数 lambda:正常和其他函数进行配合使用.正常无需把匿名函数赋值给一个变量. f=lambda x:x*x p ...

  6. python基础——10(三元运算符、匿名函数)

    一.三元运算符 本质是if--else--的语法糖 前提:简化if--else--的结构,且两个分支有且只有一条语句 案例: a = 20 b = 30 res = a if a > b els ...

  7. Python函数作用域和匿名函数

    匿名函数的定义 全局变量和局部变量的概念 global(全局变量)和 nonlocal(局部变量) 闭包.递归.回调 匿名函数 匿名函数  lambda 语法规则:lambda   参数 : 表达式 ...

  8. python_07 函数作用域、匿名函数

    函数的作用域:无论在哪个地方调用函数,函数运行过程中的作用域只跟定义的时候有关,跟在哪个地方调用无关. name='alex' def foo(): name = 'linhaifeng' def b ...

  9. 潭州课堂25班:Ph201805201 第九课 函数作用域和匿名函数 (课堂笔记)

    匿名函数: lambda obj:str(obj).isdigit 语法规则:   lambda 参数:表达式 列: ma1 = map( lambda obj:'binbin','abcdef' ) ...

随机推荐

  1. CF767E ChangeFree【贪心/优先队列】By cellur925

    题目传送门 $naive$想法 最开始的一个贪心策略是每次尽量花掉硬币 ,如果不满足条件,就花纸币.而且不满足条件的时候,要尽量向百取整.(显然是不对的,因为有时候不够)但是显然这个贪心策略是错误的, ...

  2. Codeforces Round #261 (Div. 2) C

    Description Recently Pashmak has been employed in a transportation company. The company has kbuses a ...

  3. PowerShell~发布你的mvc网站

    通过使用ps加上msbuild可以方便的编译你的.net应用程序,并且可以把它发布到你的磁盘上,部署非常方例! 我们在c盘添加一个hello网站,解决方案名是hello.sln,它的网站是hello. ...

  4. Vue 页面加载闪现代码问题

    CSS中 [v-cloak] { display: none; } HTML中 <div v-cloak> {{ message }} </div> 显示代码主要是{{}}这个 ...

  5. Jquery 中使用String.Format

    第一种方法: String.format = function() { if (arguments.length == 0) return null; var str = arguments[0]; ...

  6. 关于HashMap中hash()函数的思考

    关于HashMap中hash()函数的思考 JDK7中hash函数的实现   static int hash(int h) { h ^= (h >>> 20) ^ (h >&g ...

  7. python中的seteuid

    seteuid(...)    seteuid(uid)        Set the current process's effective user id.

  8. iOS逆向实战与工具使用(微信添加好友自动确认)

    iOS逆向实战与工具使用(微信添加好友自动确认) 原文链接 源码地址 WeChatPlugin-iOS Mac OS 版微信小助手(远程控制.消息防撤回.自动回复.微信多开) 一.前言 本篇主要实现在 ...

  9. 【Win32汇编】编译环境配置

    开始学习[Win32汇编],编译过程较为繁琐,做个记录. 使用 MASM32 提供的 ml.exe 和 link.exe,以及 VS2013 中的 nmake.exe 和资源编辑器. ml.exe: ...

  10. Django创建第一个应用

    一.创建第一个应用,并在settings.py中添加. python manage.py startapp article 二.创建第一个模型 class Article(models.Model): ...