haibaraxx的个人博客分享 http://blog.sciencenet.cn/u/haibaraxx

博文

Python:自定义函数和函数参数

已有 4381 次阅读 2017-5-31 22:03 |个人分类:Python|系统分类:科研笔记| 自定义函数

1 自定义函数


语法

def function_name([arguments]):  # 小括号内可以没有参数,但小括号不能省略。

      'optional documentation string' # 函数的注释(又:DocString),查看命令:print(fn.__doc__),fn为函数名,doc前后各两条下划线

       function_suite


调用

fn()  # 即使没有参数,小括号也不能省略。


示例脚本

输出结果


return语句

终止函数,并可返回值(如return 0)以方便外部调用,但并无print功能。


以下是一个错误的判断素数的函数,它将只会返回输入值是否为奇数。原因就在于,第2个if...else语句中有return,使得for循环终止,即for循环只迭代了一次,也就是j只取到了2。



2 函数的参数形式

- 位置或关键字参数

- 仅位置参数

- 可变长位置参数

- 可变长关键字参数

(参数可以设定默认值 - 默认参数)


默认参数 (default argument)

函数的参数可以有一个默认值,如果提供默认值,在函数定义中,默认参数以赋值语句的形式提供。默认参数一般放在函数列表的最后


关键字参数(keyword argument)

让调用者通过使用参数名区分参数,且允许改变参数列表中的参数顺序。但需要注意的是,调用函数时,要么都不使用关键字参数,要么必须全部使用关键字参数的形式。


可变长位置参数 - 元组参数

用一个长度可变的元组来接收没有直接定义的位置参数,该参数称为可变长位置参数。调用时,需在可变长位置参数前加一个星号*



可变长关键字参数 - 字典参数

用一个长度可变的字典来接收没有直接定义的关键字参数,该参数称为可变长关键字参数。调用时,需在可变长关键字参数前加两个星号**


3 传递函数self()

函数可以像参数一样传递给另外一个函数。

4 lambda函数 - 匿名函数







https://blog.sciencenet.cn/blog-3031432-1058279.html

上一篇:Python: 赋值
下一篇:Python:批量注释
收藏 IP: 95.90.225.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2025-1-7 18:21

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部