Python 第一类对象
def fn():
print("我叫fn") fn()
print(fn) # <function fn at 0x0000000001D12E18>
fn()
gn = fn # 函数名可以进行赋值
print(gn)
gn() fn = 666
print(fn) # 666 def func1():
print("朱祁镇") def func2():
print("徐阶") def func3():
print("王阳明") def func4():
print("魏忠贤") lst = [func1, func2, func3, func4] # 函数+() 就是调用.
print(lst) lst[0]()
for el in lst: # el是列表中的每一项.
el() # 拿到函数. 执行函数 a = 10
b = 20
c = 30
lst = [a, b, c]
print(lst) def wrapper():
def inner():
print("我的天, 还可以扎样写")
print(inner) # <function wrapper.<locals>.inner at 0x00000000028989D8>
inner()
return inner ret = wrapper() # <function wrapper.<locals>.inner at 0x00000000028989D8>
print(ret)
ret() def wrapper():
def inner():
print("哈哈哈")
return inner # 函数名可以像返回值一样返回 ret = wrapper()
ret() # 在函数外面访问了函数内部的函数
ret()
ret() def func1():
a = 10
return a
print(func1()) # 函数可以作为参数进行传递 def func1():
print("谢晋") def func2():
print('杨士奇') def func3():
print('徐渭') def func4():
print("柳如是") # 代理. 装饰器的雏形
def proxy(a): # a就是变量. 形参
print("我是代理")
a()
print("代理执行完毕") proxy(func1)
proxy(func3)
proxy(func4)
Python 第一类对象的更多相关文章
- python 第一类对象 闭包 迭代器
########################总结########################### 1. 函数名 -> 第一类对象 函数名就是变量名. 函数可以赋值 函数可以作为集合类的 ...
- python第一类对象,闭包,迭代器
一.第一类对象 第一类对象 -> 函数名 -> 变量名 1.特征: 函数对象可以像变量一样进行赋值 还可以作为列表的元素进行使用 还可以作为返回值返回 还可 ...
- python函数之第一类对象
目录 python函数之第一类对象 python函数之第一类对象 第一类对象(英语:First-class object)在计算机科学中指可以在执行期创造并作为参数传递给其他函数或存入一个变数的实体. ...
- 正确理解Python函数是第一类对象
正确理解 Python函数,能够帮助我们更好地理解 Python 装饰器.匿名函数(lambda).函数式编程等高阶技术. 函数(Function)作为程序语言中不可或缺的一部分,太稀松平常了.但函数 ...
- Python函数03/函数名的第一类对象及使用/f 格式化/迭代器/递归
Python函数03/函数名的第一类对象及使用/f 格式化/迭代器/递归 目录 Python函数03/函数名的第一类对象及使用/f 格式化/迭代器/递归 内容纲要 1.函数名的第一类对象及使用 2.f ...
- python之路--第一类对象,函数名,变量名
一 . 第一类对象 函数对象可以像变量一样进行赋值 , 还可以作为列表的元素进行使用 可以作为返回值返回 , 可以作为参数进行传递 def func(): def people(): print('金 ...
- python 函数名的应用(第一类对象),闭包,迭代器
1.函数名的应用(第一类对象) 函数名的命名规范和变量是一样的 函数名其实就是变量名 可以作为列表中的元素进行储存. def func1(): pass def func2(): pass lst = ...
- 巨蟒python全栈开发-第11天 第一类对象 闭包 迭代器
一.今日主要内容总览(重点) 1.第一类对象->函数名=>变量名 (1)函数对象可以像变量一样进行赋值 (2)还可以作为列表的元素进行使用 (3)还可以作为返回值返回 (4)还可以作为参数 ...
- day11函数的进阶动态参数,命名空间,作用域,第一类对象
一.习题收藏 5.写函数,计算传入字符串中[数字].[字母].[空格] 以及 [其他]的个数,并返回结果. # def func4(s): # dic = { # 'num':0,'alpha':0, ...
随机推荐
- 根据userAgent判断打开网页的所在终端,以及浏览器
function _IsIOS() { var ua = navigator.userAgent.toLowerCase(); if(ua.match(/iPhone\sOS/i) == " ...
- ABAP游标
DATA: BEGIN OF count_line, carrid TYPE spfli-carrid, count TYPE i, END OF count_line, spfli_tab TYPE ...
- Redshift中查看database、schema、table数据大小
1. 查看当前数据库大小以及记录行数 select trim(pgdb.datname) as database, sum(b.mbytes) as mbytes, sum(a.rows) as ro ...
- stund客户端使用结果说明
stun服务器是用于检测网络类型的重要工具. 源码地址:https://svwh.dl.sourceforge.net/project/stun/stun/0.97/stund-0.97.tgz 或者 ...
- WebGoat 8安装、配置、使用教程(CentOS)
一.说明 1.1 背景说明 之前只用过dvwa,听说WebGoat也是类似的平台后,想装来试试有没有什么异同. 看了下载文件,和网上官方的.非官方的安装教程,感觉很多都对不上: 最后发现WebGoat ...
- Apache+Tomcat+mod_jk配置教程
0.说明 首先我们要弄明白mod_jk的作用是反向代理,而其实使用httpd.conf中的<VirtualHost>标签就可以实现反向代理,为什么还要多搞个mod_jk那么麻烦做反向代理. ...
- vim 文本会在末尾自动添加换行 md5文件和数据只不对应
在linux系统 vim md5data # 打开文件 写入 abc 保存 md5sum md5Data 的计算值和openssl代码计算值不一样 原因在于linux文本文件末尾自动添加了换行 解 ...
- Win10系列:VC++绘制几何图形1
本小节主要介绍如何使用Direct2D来绘制几何图形,其中会使用到FillGeometry函数和FillEllipse函数,FillGeometry函数用于填充几何图形的内部区域,而FillEllip ...
- day29-python阶段性复习三
七.python打开文件方式 open r: 读的方式 w:已写的方式打开 a:以追加的方式 r+ 读写模式 w+ 读写 a+ 读写 rb:二进制读模式打开 wb:以二进制写模式打开 ab 二进制追加 ...
- day17 面向对象-成员
今日主要学习了: 1 .成员 2. 变量 3. 方法 4.属性 5.私有 1. 成员 在类中你能写的所有内容都是成员 2 .变量 1) 实例变量: 昨天写的就是实例变量 ,由对象去访问的变量 . cl ...