9.25 函数小结
时间:2019-09-25
本文章向大家介绍9.25 函数小结,主要包括9.25 函数小结使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
函数的定义
def 函数名():
pass
函数的三种定义方式
空函数
def f():
pass
有参函数
def f(x):
print(x)
无参函数
def f():
print()
函数的调用
函数名()
函数的返回值
1.return可以返回值
2.return可以终止函数
3.return可以返回多个值,用元组返回
函数的参数
形参
位置形参
从左到右依次接收位置实参
默认形参
具有默认值,必须放在位置形参后面
实参
位置实参
从左到右依次传值给位置形参
关键字实参
按照形参名传值,必须在位置实参后面
可变长参数
*
*形参
接收多余位置实参,用元组接收
*实参
打散可迭代对象,当作位置实参传给形参
**
**形参
接收多余关键字实参,用字典接收
**实参
打散字典,当作关键字实参传给形参
*形参**形参
接收所有多余参数
函数对象
def func():
pass
引用
f1 = func
作为容器类元素
lt = [func]
作为函数返回值
def f2():
return func
f3 = f2()
作为函数参数
def f2(func):
pass
f2(func)
函数嵌套
def f1():
def f2():
pass
名称空间与作用域
内置名称空间
内置函数
全局名称空间
除了内置和局部,剩下的都是全局
局部名称空间
函数内部的
执行顺序
内置→全局→局部
搜索顺序
当前位置:局部→全局→内置→报错
全局作用域
全局与局部没有联系
局部作用域
内局部与外局部没有联系
global
让全局与局部进行转换
nonlocal
让内局部与外局部进行转换
可变数据类型会打破作用域关系
闭包函数
def a(x):
def b():
print(x)
return b
c = a(100)
c()
装饰器
1.本质就是函数
2.不修改源代码
3.不改变调用方式
二层装饰器
二层装饰器模版
def deco(func):
def wrapper(*args,**kwargs):
res = func(*args,**kwargs)
return res
return wrapper
@deco
def index()
pass
三层装饰器
迭代器
可迭代对象
含有iter方法的 → 除了数字
迭代器对象
含有iter和next方法的 → 只有文件
三元表达式
列表推导式
字典生成式
生成器表达式
g = (i for i in range(10)
print(next(g)) ##g.__next__()
生成器
含有yield的函数
yield
1.暂停函数
2.一个next可以拿到一个yield值
递归
函数调用函数本身,要有退出条件
匿名函数
lambda 参数:返回值
内置函数
enumerate 获取索引+值
面向过程编程
类似流水线
原文地址:https://www.cnblogs.com/793564949liu/p/11588240.html
- Java 集合系列02之 Collection架构
- 开发者需要掌握的JS事件
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
- Kosaraju算法、Tarjan算法分析及证明--强连通分量的线性算法
- 关于curl网站运维与开发的那些事
- 并查集Union-find及其在最小生成树中的应用
- go 语言的库文件放在哪里?如何通过nginx代理后还能正确获取远程地址
- 离线Tarjan算法-最近公共祖先问题
- Java文件上传下载实训
- 【网络编程系列】二:socket通信原理及实践
- textrank算法原理与提取关键词、自动提取摘要PYTHON
- 【网络编程系列】一:字节顺序的大端与小端表示法
- Linux下的make命令用法
- 增量数据丢失的原因分析(三)(r8笔记第91天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法