python的函数学习笔记
2016-12-05 17:37
197 查看
(1)如何定义函数:
在Python中,定义一个函数要使用 def
语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。
例如:
def my_abs(x):
if x >= 0:
return x
else:
return -x
请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。
如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。
(2)函数返回多值:
在函数的定义中可以在括号中设置多个值,也就是设置多个形参。在使用reture返回这些参数时,可以使用一个return操作,在其后把需要返回的参数用逗号隔开,这样我们就可以获得函数的多个参数,得到的结果以元组形式存放。例如:
import math
def move(x, y, step, angle):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
(3)函数之递归函数
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。
使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。
在Python中,定义一个函数要使用 def
语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。
例如:
def my_abs(x):
if x >= 0:
return x
else:
return -x
请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。
如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。
(2)函数返回多值:
在函数的定义中可以在括号中设置多个值,也就是设置多个形参。在使用reture返回这些参数时,可以使用一个return操作,在其后把需要返回的参数用逗号隔开,这样我们就可以获得函数的多个参数,得到的结果以元组形式存放。例如:
import math
def move(x, y, step, angle):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
(3)函数之递归函数
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。
使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。
相关文章推荐
- Python函数学习笔记
- Python学习笔记整理(十二)Python的函数
- Python3.3 学习笔记8 - 函数
- python学习笔记--探索函数
- python 学习笔记 -- 函数
- Python 学习笔记:需要仔细阅读一个函数
- Python 学习笔记 - 9.函数(Function)
- python函数缺省值与引用学习笔记分享
- Python3.3 学习笔记4 - 函数 - input & print
- python学习笔记之open函数的用法
- Python 学习笔记(一)语句,变量,函数
- python学习笔记: 一些有用的文件操作函数
- Python2.7 学习笔记 (二)—— 函数,模块,正则
- python函数缺省值与引用学习笔记分享
- Python学习笔记(函数)
- python_模块与函数学习笔记
- python简明教程学习笔记2--函数
- python学习笔记8-函数整理
- python学习笔记(六)——函数
- Python学习笔记:函数与类