Python -定义函数
来源:互联网 发布:淘宝退款率计算 编辑:程序博客网 时间:2024/06/10 18:04
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
我们以自定义一个求绝对值的my_abs函数为例:
def my_abs(x):
if x >= 0:
return x
else:
return -x
如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。
return None可以简写为return。
空函数
如果想定义一个什么事也不做的空函数,可以用pass语句:
def nop():
pass
pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。
pass还可以用在其他语句里,比如:
if age >= 18:
pass
缺少了pass,代码运行就会有语法错误。
参数检查
调用函数时,如果参数个数不对,Python解释器会自动检查出来,并抛出TypeError:
让我们修改一下my_abs的定义,对参数类型做检查,只允许整数和浮点数类型的参数。数据类型检查可以用内置函数isinstance()实现:
def my_abs(x):
if not isinstance(x, (int, float)):
raise TypeError(‘bad operand type’)
if x >= 0:
return x
else:
return -x
添加了参数检查后,如果传入错误的参数类型,函数就可以抛出一个错误:
my_abs(‘A’)
Traceback (most recent call last):
File “”, line 1, in
File “”, line 3, in my_abs
TypeError: bad operand type
返回多个值
然后,我们就可以同时获得返回值:
x, y = move(100, 100, 60, math.pi / 6)
print(x, y)
151.96152422706632 70.0
但其实这只是一种假象,Python函数返回的仍然是单一值:
r = move(100, 100, 60, math.pi / 6)
print(r)
(151.96152422706632, 70.0)
原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。
小结
定义函数时,需要确定函数名和参数个数;
如果有必要,可以先对参数的数据类型做检查;
函数体内部可以用return随时返回函数结果;
函数执行完毕也没有return语句时,自动return None。
函数可以同时返回多个值,但其实就是一个tuple。
- python 条件定义函数
- Python function 函数定义
- python 定义函数
- Python函数定义
- Python定义函数
- python的函数定义
- Python -定义函数
- python 函数定义
- python函数定义
- python函数定义
- Python—定义函数
- python 定义颜色函数
- Python函数定义global
- python 函数定义
- Python 函数定义
- Python 函数定义,使用
- Python 函数定义练习
- python定义函数
- UDP广播程序的实现
- LeetCode2.2.9(Reverse Nodes in k-Group)
- 8.28 Android学习日记
- 机器学习算法与Python实践之(一)k近邻(KNN)
- 如何构建自己的.jar文件
- Python -定义函数
- 一些前台密码验证JS
- Node.js HelloWord Linux(Ubuntu)
- 日经春秋 20150829
- 设计模式(一):单例模式
- hdu 5402 Travelling Salesman Problem
- iOS学习之CoreData模糊查找,分页查找,多模型文件处理
- 手势
- 日经社説 20150829 課題残る新競技場の整備計画