【python学习笔记】第五章函数和代码的复用

函数和代码的复用

##定义一个对于整数n求阶乘的函数
def fact(n):
    s=1
    for i in range(1,n+1):
        s *= i
    return s

定义完后函数就可使用

>>> print(fact(10))
3628800

也可定义fact为两个参数的函数,必须的参数放在前,不必要的放在后,用逗号隔开(1为m的初始值)
若要同时输出结果和参数,可在return后添加

##定义一个对于整数n!同时计算n!//m的函数
def fact(n,m=1):
    s=1
    for i in range(1,n+1):
        s *= i
    return s//m,n,m

n,m可通过位置传递,也可直接名称传递

>>> print(fact(10))
3628800101
>>> print(fact(10,5))
725760105
>>> print(fact(m=5,n=10))
725760105

*b为可变参数(可给出多个参数)

##定义一个对于整数n!并和给出的其他参数相乘的函数
def fact(n,*b):
    s=1
    for i in range(1,n+1):
        s *= i
    for item in b:
        s *= item
    return s
>>> print(fact(10))
3628800
>>> print(fact(10,3,5,8))
435456000

全局变量和和局部变量

##全局变量和和局部变量
n,s=10,100
def fact(n):
    s=1
    for i in range(1,n+1):
        s *= i
    return s
print(fact(n),s)

输出结果为3628800 100
保留字global,声明某一变量为全局变量

n,s=10,100
def fact(n):
    global s
    for i in range(1,n+1):
        s *= i
    return s
print(fact(n),s)

输出结果为362880000 362880000

局部变量为组合数据类型且未创建,等同于全局变量
##局部变量为组合数据类型且未创建,等同于全局变量
Is = ["F","f"]
def func(a):
    Is.append(a)
    return
func("C")
print(Is)
>>>['F', 'f', 'C']
Is = ["F","f"]
def func(a):
    Is=[]
    Is.append(a)
    return
func("C")
print(Is)

这段代码中定义中的Is为局部变量,但输出全局变量

>>>['F', 'f']

lambda函数

lambda函数返回函数名作为结果,一般在某一参数有函数形式是使用

>>> f = lambda x,y : x+y
>>> f(10,15)
25
>>> f = lambda : "lambda函数"
>>> print(f())
lambda函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值