python里面的函数
2016-05-13 14:29
519 查看
python里面的函数
函数定义
def my_abs(x): if x >= 0: return x else: return -x
如果没有
return语句,函数执行完毕后也会返回结果,只是结果为
None。
return None可以简写为
return。
在Python交互环境中定义函数时,注意Python会出现
...的提示。函数定义结束后需要按两次回车重新回到
>>>提示符下。
空函数
如果想定义一个什么事也不做的空函数,可以用pass语句:
def nop(): pass
pass语句什么都不做,那有什么用?实际上
pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个
pass,让代码能运行起来。
pass还可以用在其他语句里,比如:
if age >= 18: pass
缺少了
pass,代码运行就会有语法错误。
返回多个值
比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:import math def move(x, y, step, angle=0): nx = x + step * math.cos(angle) ny = y - step * math.sin(angle) return nx, ny
import math语句表示导入
math包,并允许后续代码引用
math包里的
sin、
cos等函数。
然后,我们就可以同时获得返回值:
>>> 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,但写起来更方便。
默认参数
[align=left]def repeat_str(s, times = 1):[/align][align=left] repeated_strs = s * times[/align]
[align=left] return repeated_strs[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]repeated_strings = repeat_str("Happy Birthday!")[/align]
[align=left]print(repeated_strings)[/align]
[align=left]repeated_strings_2 = repeat_str("Happy Birthday!" , 4)[/align]
[align=left]print(repeated_strings_2)[/align]
[align=left]#不能在有默认参数后面跟随没有默认参数[/align]
[align=left]#f(a, b =2)合法[/align]
[align=left]#f(a = 2, b)非法[/align]
[align=left]#关键字参数: 调用函数时,选择性的传入部分参数[/align]
[align=left]def func(a, b = 4, c = 8):[/align]
[align=left] print('a is', a, 'and b is', b, 'and c is', c)[/align]
[align=left]func(13, 17)[/align]
[align=left]func(125, c = 24)[/align]
[align=left]func(c = 40, a = 80)[/align]
相关文章推荐
- 一个简单的python爬虫程序
- python 判断当前系统的Python编译器类型
- 使用python完成公司考勤数据的邮件发送
- str的format原来是这样用的
- python处理excel(一):读
- 使用python完成公司考勤数据的邮件发送
- dataframe按照条件选取行
- 灰帽子python 读书笔记 2
- python数据分析1:获取双色球历史信息
- 灰帽子python 读书笔记 1
- Python配置OpenCV
- python画词云图(电商评论数据)
- Python常见问题(2):编程问题 Programming FAQ
- Python常见问题(1):来历与简介General Python FAQ
- 官方文档Python 2.7.11 documentation
- 其他网站和应用的Python接口API
- Python标准库The Python Standard Library
- 官网PYthon语言参考手册The Python Language Reference
- python Image模块调用show()异常问题
- python numpy的部分函数