python学习笔记-定义函数

高洛峰
发布: 2016-11-15 14:55:48
原创
1893人浏览过

python中定义函数的关键词是def,例如定义一个叫my_function的函数我们可以这么定义, 其中括号内的x,y为传入的参数。

def my_function():
    # function body
登录后复制

返回值

函数可以用关键字return返回数据。函数执行到return即返回不再执行函数。没用写return语句的函数,默认返回None。
return None可以简写成return。

空函数

如果想要定义一个什么都不做的函数,那么可以用pass语句。
例如

def do_nothing()
    pass
登录后复制

pass起的是占位符的作用。如果这个函数具体内容不需要定义就可以使用pass。

参数检查

前一篇文章介绍过内置函数会对传入的参数的个数和数据类型进行检查。那么对于自定义函数,python是怎么处理的呢?
我们定义一个函数

立即学习Python免费学习笔记(深入)”;

def my_function(x,y):
    return x*y
登录后复制

调用:my_function(1,2,3)

报错:

Traceback (most recent call last):
  File "/Users/W/Code/Python/LearnPython/DataType.py", line 4, in <module>
    my_function(1,2,3)
TypeError: my_function() takes exactly 2 arguments (3 given)
登录后复制

调用:my_function(1,"abc")

NovelAI
NovelAI

AI 辅助写作、讲故事,基于你自己的作品创造出类似人类的写作。

NovelAI 236
查看详情 NovelAI

报错:不返回错误信息。事实上我们希望my_function传入的两个参数应该是整数活着浮点数才对。

为函数添加参数检查

我们对my_function作一些改写。

def my_function(x, y):
    if not (isinstance((x,y),(int,float)) and isinstance(y,(int,float))):
        raise TypeError('Bad operand type')
    return x*y
登录后复制

此时调用my_function函数时传入错误的参数则会抛出TypeError。

函数返回多个值

Python支持返回多个值。Python其实是通过返回一个tuple实现的。我们可以通过简单的demo验证:

def func():
    return 2, 3
print func()
登录后复制

则会输出(2,3)这么一个tuple。
在语法上,返回一个tuple可以省略括号,即多个变量可以同时接收一个tuple,按位置赋给对应的值。例如
x,y = func()。

相关标签:
python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号