Python学习笔记(六)

函数:

调用python内置的函数,可以通过 help(fun)进行查询。

举例:

abs(x):求x绝对值

cmp(x,y):比较两个数大小,如果 x<y,返回 -1,如果 x==y,返回 0,如果 x>y,返回 1。

int(x):把其他数据类型转换为整数,包括字符串类型。

str():把其他类型转换成 str。


编写函数:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。
return None可以简写为return。


引用函数库并返回多值:

import math
def move(x, y, step, angle):
    nx = x + step * math.cos(angle)
    ny = y - step * math.sin(angle)
    return nx, ny
其实返回的是一个tuple,语法上可以省略(),按位置赋值给变量。


递归函数:

如果一个函数在内部调用自身本身,这个函数就是递归函数。

使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。

定义默认参数:

由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面。

定义可变参数:

def fn(*args):
    print args
可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数。

Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值