函数

函数的定义

函数是组织好的,可重复使用的,用来实现独立功能的代码段。
函数可以提高程序代码的重用率。

函数的格式

1)函数名必须遵循标识符规则,数字,字母,下划线,并且不能以数字开头,不能使用关键字。
2)函数先定义后调用。
3)函数不调用是不执行的。
4)函数可以调用多次。

定义带有参数的函数

1)调用的时候,这个函数定义时有几个参数,就需要传递几个参数,参数值和参数名称是按函数声明中定义的顺序匹配起来的。
2)定义时小括号中的参数,用来接收参数用的,称为“形参”
调用时小括号中的参数,用来传递参数用的,称为“实参”。

函数的参数

  1. 位置参数:(必须一一对应,是有顺序的)在我们传参的时候,实参传递的顺序按照形参定义的顺序进行传递的传参方式。
 def sum(a,b,c):
    d=a+b+c
    print(d)
a=3
b=4
sum(a,b,7)
sum(3,4,7)

2.关键字参数(对应实参,实参写名字)我们在传参的时候,以形参等于实参的形式忽略定义的顺序进行传参的传参方式。

def dengji(name,age):
    print("我叫",name)
    print("年龄",age)
( dengji("张三",30)
 dengji(40,"刘德华"))

def hs(a,b,c):
    print(a,b,c)
hs(2,3,c=8)
hs(3,4,a=2)
dengji(age=20,name="张惠妹")

3.默认参数(对应形参,形参写名字)是在我们定义参数时候,我们给形参一个默认值,在我们调用函数的时候,如果不给有默认值的形参传递,会自动采用默认值。当某个值变化小的时候,我们就可以使用默认参数。

def dengji(name,age,sex='男'):
    print(name,age,sex)
dengji('张三',19)
print('李四',20,'男')
print('王五',21,'女')

def xiaozhu(a,b=3):
    print(a,b)

4.可变参数:能处理比当初声明时更多的参数,会将传入的参数变成元组(*args)或者字典(**kwargs)。
1)元组参数 *args(*通过给形参前面添加使参数变成一个元组,所有传递的参数变成元组的元素。注意:args参数名称可以任意命名,但是一般叫他args)

def kb(*a):
    print(a,type(a))
    for x in a:
        print(x)
 (kb(1)
 kb(1,2,3,4))
kb()

*具有打散序列的功能

def kb2(*a):
    print(a,type(a))
x=(1,2,3)
kb2(x)
kb2(*x)
a=[1,2,3]
print(*a)
b=(1,2,3)
print(*b)
c,*d=a
print(c,d)

2)字典参数(通过给形参前面添加**使参数变成一个字典,所有传递的参数变成字典的键值对,这里传参要求键等于值的形式。*kwargs结果类型是字典,传递值是以key=value方式传入)

def kb(**kwargs):
    print(kwargs,type(kwargs))
kb(name="张三",age=18)
kb(name="张三",age=18,sex='男')
kb()

**具有打散字典的功能

def kb(name,age):
    print(name,age)
a={'name':'张三','age':18}
kb(**a)
**kwargs必须放在*args后面,否则会报错
def kb(*a,**b):
    print(a,b)
a={'name':'张三',"age":18}
kb(1,2,3,**a)

函数返回值return

所谓‘’返回值‘’,就是程序中函数完成一件事后,最后给调用者的结果,调用者根据需求利用返回值做不同的操作。return可以返回多个值。
注意:1.如果函数不写返回值,默认返回none。return关键字有两个作用:一个作用是返回内容,另一个是结束此方法。(return后面的代码不会执行,因此一般不建议在return后面写代码)

def hs(a,b):
    c=a+b
    d=a-b
    e=a*b
    return c,d,e
x=hs(5,6)
print(x)

递归三件

递归前进,递归后退,递归边界。当递归边界成立的时候,递归后退,不成立的时候递归前进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值