python复习总结-3

7函数与抽象

简单定义一个函数

def function(x,y):
    return x+y


a=function(2,4)
print(a)
-------------------------------------------------------------------------------------------


6

 通过def语句来对一个期望函数进行定义,通过定义的函数名称来调用该函数。

关于函数的参数设置

1设置一个默认值参数

def greeting(n,gender='male'):
    s='Mr' if gender=='male' else 'Miss'
    sname=s+n
    print('hi'+sname)

在定义函数的过程中,我们给了gender一个默认的参数male,如果用户没有输入参数的话,系统将按照默认的参数来执行。

2我们可以通过提供给函数一个非只读类型的参数,在函数内部进行外部数据的修改。(例如,字典,列表)当我们想确保参数是非只读类型的话,可以通过assert进行断言。

3通过使用关键字参数我们可以改变参数设置的顺序

def greeting(name,gender):
    name=name.title()
    s="Mr" if gender=='male' else 'Miss'
    print('hi',s,name)
-------------------------------------------------------------------------------------------greeting(gender='male',name='henry')

4任意数量参数设置与参数分配

def myprint(title,*contents):
    print(title,":")
    for x in contents:
        print(x)

该参数设置后contens可以吸收任意数量的参数并且将这些数据组成一个元组

当然我们也可以接受关键字参数

def myprint(name,**contents):
    print(name,':')
    for k,v in cotents:
        print(k,v)
print(type(contens))

设置参数之后,contens单元变成一个字典形式,对其遍历可以获取该字典中的内容

当然在输入时可以用这种方法来分配参数

def myprint(name,age,gender,salary):
    print(name,gender,age,salary)
s=dict(salary='5600',age='13',gender='male')
myprint('tom',**s)

函数内部的变量叫做局部变量,对局部变量的修改没法作用与全局变量,加入我们想要在函数内部进行对全局变量的修改,利用global

x=3
def func():
    global x
    x=77
func()
print(x)
-------------------------------------------------------------------------------------------
77

函数的特殊方法:递归

以阶乘为例

def function(n):
    if n==1:
        return 1
    else:
        s=n*function(n-1)
        return s

通过函数内部的嵌套循环来实现运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值