Xman整理篇___关于Python的基础内容(函数)

Python内置了很多函数,可以直接调用

要调用一个函数,需要知道函数的名称和参数,例如:

abs(x):返回x的绝对值;  int():将其他数据类型转换为整数;  str():把其他类型转换成str

cmp(x,y):2个参数,如果x<y,返回 -1,如果x>y,返回1,如果相等,返回0

在Python中定义一个函数使用def语句,依次写出函数名、括号,括号中的参数,还有冒号: 

在缩进块中编写函数体,返回的函数值用return返回

* 函数返回多值

import math
def move(x,y,step,angle):
    nx=x+step*math.cos(angle)
    ny=y-step*math.sin(angle)
    return nx,ny
x,y=move(100,100,60,math.pi/6)
print(x,y)
结果:151.96152422706632  70.0   #返回的结果 仍然是单一值,是一个tuple 

在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋予对应的值

*递归函数

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

阶乘fact(n):

fact(n)=n!=n*(n-1)!=fact(n-1)*n

递推可得:

def fact(n):
    if n==1:
        return 1
    return n*fact(n-1)

练习

编写一个函数,给定输入n,a,b,c,打印移动步骤:move(n,a,b,c)

例如:输入move(2,‘a’,‘b’,‘c’),打印出:A-->B;A-->C;B-->C

def move(n,a,b,c):
if n==1:
print(a,'-->',c) #只有一个盘子从A到C的情况,所有递归,最终都是走到这一步
return move(n-1,a,c,b) #将A柱的n-1个盘子移动到B
print(a,'-->'c) #将A柱最后剩下的1个盘子移动到C,和n为1的情况一样
move(n-1,b,a,c) #将B柱的n-1个盘子移动到C

*默认参数 (默认参数只能定义在必需参数的后面)

函数的默认参数的作用是简化调用,例如:

def power(x,n=2):
    s=1
    while n>0:
        n=n-1
        s=s*x
    return s

*可变参数 (*args)

如果想让一个函数接受任意个参数,可以这样定义:

def fn(*args):
    print(aargs)

解释:Python解释器会把传入的一组参数组装成一个tuple传递给可变参数

         在函数内部,直接把变量args看成一个tuple就可以



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值