首页 > 代码库 > python学习笔记(二) - 函数
python学习笔记(二) - 函数
一. 调用函数
python内置了一些数据类型转换函数,比如int()函数可以把其他数据类型转换为整形
>>> int('123') 123 >>> int(12.34) 12 >>> float('12.34') 12.34 >>> str(1.23) '1.23' >>> unicode(100) u'100' >>> bool(1) True >>> bool('') False函数名其实就是只想一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个别名。
>>> a = abs # 变量a指向abs函数 >>> a(-1) # 所以也可以通过a调用abs函数 1
二. 定义函数
1. 自定义函数:
定义一个求绝对值的函数my_abs
def my_abs(x): if x >= 0: return x else: return -x2. 空函数:
如果想定义一个什么事都不做的空函数,可以用pass语句:
def nop(): pass if age >= 18: pass
3. 参数检查:
数据类型检查可以用内置函数isinstance实现:
def my_abs(x): if not isinstance(x, (int, float)): # 只允许整数和浮点数类型的参数 raise TypeError('bad operand type') if x >= 0: return x else: return -x
4. 返回多个值:
函数可以返回多个值吗?答案是肯定的。
import math def move(x, y, step, angle=0): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx, ny x, y = move(100, 100, 60, math.pi / 6) print x, y # 151.961524227 70.0但其实这只是一种假象,python函数返回的仍然是单一值:
r = move(100, 100, 60, math.pi / 6) print r # (151.96152422706632, 70.0)原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接受一个tuple,按位置赋给对应的值。
所以,python的函数返回多值其实就是返回一个tuple
三. 函数的参数
四. 递归函数
python学习笔记(二) - 函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。