函数,对应C#中的方法,是在日常编程工作中最广泛使用的工具,如何巧妙地分割问题形成函数是一个程序员必不可少的素质,今天来学习Python的函数构成,了解其与C#等语言的差异,可为日后编程工作带来极大方便。
①内建函数
内建函数是Python中自带的函数,使用时需要引入(import)函数库。 当我们知道只函数名而不知其功能时,可以在交互式命令行使用help(函数名)查看帮助信息。 更多的情况下,当我们想要寻找满足需求的函数时,可以访问网站: https://docs.python.org/2/library/ 查阅相关功能。 这里小提一下类型转换函数(int()、str()等等),它们可以转换字符类型,如
1 | int('123') |
与比较函数cmp(x,y),如果 x
1 | 1, 2) cmp( |
更多的函数还需要在后期开发中不断学习。
②自建函数
在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。 我们以自定义一个求绝对值的 my_abs 函数为例:
1 | def my_abs(x): |
如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。 return None可以简写为return。
返回多值
Python的函数支持返回多值,只需在return后将值用逗号隔开即可。这样函数将返回一个Tuple链表包含多值 如
1 | import math |
定义默认函数
python对默认函数的定义很像C#中函数的重构,即,一个函数传入值的多少可变 具体实现方法是给可不赋值的变量赋初始值,如
1 | def power(x, n=2): #定义函数 |
定义可变函数
如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数:
1 | def fn(*args): |
可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:
1 | fn() |
可变参数也不是很神秘,Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。