最近开始学习Python,利用空闲时间记录部分笔记,方便日后回顾,同时,希望能帮助到正在学习中的同胞,如果文章内容有出入,欢迎随时指正。
每种编程语言都回提供函数功能,通过封装公用的代码块到函数中,可以极大的提高开发效率,减少冗余。
1. 调用函数
Python内置了很多函数供开发者调用,通过一下代码简单演示函数的调用:
```
>>>abs(-10)
10
>>>max(1,1,2,3)
3
>>>int(12.13)
12
>>>str(100)
'100'
```
2. 定义函数
在Python中,定义函数使用def语句,依次写入函数名、括号、参数及结尾使用冒号,如:
```
>>>def abs_test(x):
... if(x>0):
... return x
... else:
... return -x
...
>>> abs_Test(-5)
5
```
Python函数支持返回多个值,如下所示:
```
>>>def ret_test(x,y):
... if(x>y):
... return x,y
... else:
... return y,x
...
>>> abs_Test(1,2)
2,1
```
3. 函数的参数
Python在定义函数时,灵活度非常大,除了常规的函数定义外,还可以使用默认参数、可变参数及关键字参数。使得函数定义出来的接口,不但能处理复杂的函数,还可以简化调用者的代码。
默认参数实例如下:
```
>>>def power(x,n=2):
... s=1
... while(n>0):
... n=n-1
... s = s*x
.... return s
...
>>>power(5)
25
>>>power(5,2)
25
```
可变参数实例如下:
```
>>>def calc(*numbers):
... sum=0
... for n in numbers:
... sum = sum+n*n
... return sum
...
>>>cls(1,2)
5
>>>cls()
0
```
4. 递归函数
在函数内部,可以调用其它函数,如果在一个函数内部调用个自身,这个函数就是递归函数。如定义阶乘函数时,可以使用如下方式进行递归调用。
```
>>>def fact(n):
... if(n=1):
... return 1
... return n*fact(n-1)
...
>>>fact(1)
1
>>>fact(5)
120
```