python -- 函数总结
来源:互联网 发布:淘宝刷两单会坐牢吗 编辑:程序博客网 时间:2024/06/05 20:13
关键字参数
- 关键字参数就是在实参前面加上形参 = ,让该实参传给固定的实参
def f (name, words): print (name+"->"+words)f(words = "haha", name = "fengs")
默认参数
- 默认参数就是给实参一个默认值, 如果调用函数时不传参, 那么就运行默认参数, 如果传参, 那么就和普通的一样
def f (name = "xiaoming", words = "haha"): print (name+"->"+words)f()
def f (name = "xiaoming", words = "haha"): print (name+"->"+words)f(name = "xiaofeng", words = "heihei")
收集参数
- 收集参数, 就是当你不知道要传多少个参数的时候, 可以设置为收集参数, 就是在形参前面加*,
def f (*params): print ("你传的形参个数是:", len(params))f(1, 2, 3, 4, 5, 6,)
- 这时候如果你形参后面还有参数, 就要使用关键字参数了, 一般后面的参数是默认参数。比如:print()函数
函数变量作用域
- 全局变量和局部变量的作用域这里就不多解释了, 传送门:python变量和作用域
- 在函数在可以调用全局变量, 但是不能直接修改, 如果你直接修改就实际上修改的不是全局变量,
- 具体是这样的: 当python检测到你要直接在函数中修改全局变量时, 它会自动新建一个局部变量, 名字与全局变量一致, 然后修改该局部变量。
- 如果你非要在函数中修改全局变量, 可以global
内嵌函数
- 简单的说就是就是在函数内部又定义了一个函数
def Fun1 (): x = 5 def Fun2(y): nonlocal x x *= y return x return Fun2(3)print (Fun1())
- 其实和全局变量在函数中的引用差不多, 外部函数定义的变量在内部函数中只能引用, 不能直接修改, 如果非要修改, 请用nonlocal关键字指明该变量是外部函数的, 其实和global是一个道理
闭包
- 闭包的内容可以参见 传送门:什么是闭包
- 理解下面两个程序
def make_adder(addend): def adder(augend): return augend + addend return adderprint (make_adder(23)(100))print (make_adder(44)(100))
和
def make_adder(addend): def adder(augend): return augend + addend return adder(100)print (make_adder(23))print (make_adder(44))
匿名函数(lambda表达式)
比如:求两个数的和的函数
def add(x, y): return x+yprint (add(3, 4))
可以简写为
g = lambda x, y: x + yprint (g(3, 4))
- 简单说一下 lambda 的构成:
- 1, 冒号前面的是函数的参数, 可以为一个或者多个或者没有
- 2, 冒号后面的为函数返回值
- 3, lambda 别忘了
- 使用匿名函数的好处:
- 第一个就是不用想函数名, 因为匿名。。。
- 第二是程序看起来更加简洁
- 得到匿名函数的返回值之后你就可以像普通函数一样调用了,
- 但是匿名函数有个限制,就是只能有一个表达式,不需要写return,函数返回值就是该表达式的结果。
- 更多匿名函数的问题请参见 传送门:python匿名函数详解
阅读全文
0 0
- python常用函数总结
- Python函数参数总结
- python常用函数总结
- python常用函数总结
- python中的函数总结
- python--常用函数总结
- Python 常用函数总结
- python 函数总结
- python内置函数总结
- python函数总结
- python函数总结
- python-函数学习总结
- Python学习总结-函数
- python函数总结
- Python 常用函数总结
- python -- 函数总结
- Python常见函数总结
- Python常用函数总结
- application.properties 改成 application.yml
- Objective-C Blocks Under the Hood
- linux 常用操作符号
- python 单行注释 多行注释 批量注释 中文注释
- dwz选择带回功能dialog不能翻页解决方法
- python -- 函数总结
- 20、Warning: there were * unresolved references to classes or interfaces.
- Spring源码分析2 — 容器启动流程
- 添加到父类视图后,subview的高度莫名发生变化
- JEESZ RestFul服务介绍
- sass常用函数总结
- Bitmap与Uri互转、Activity传递Bitmap、分享Bitmap
- ECB模式详解
- 浏览器插件开发-纯属兴趣