python中的函数

函数,可读性强,复用性强,定义之后可以在任意地方调用,他执行某种行为,并且返回一个值

#函数实现斐波那契数列
enternum = int(input('输入想生成的数量\n'))
def test(num):#定义函数,并且带形参'num'
    result = [0,1] #定义初始的列表
    for i in range(num-2):#初始列表有2个值所以需要去掉,循环的次数就是想要生成的个数
        result.append(result[-2]+result[-1])#把列表中前两个数的值之和追加到后面
    return result#返回列表

c = test(enternum)#定义C接受函数的返回值
print(c)#打印出函数的返回值

输出:
输入想生成的数量
10
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

局部变量

当函数定义生命变量的时候,函数内所生命的变理只在其函数内有效,与函数外具有相同名称的其他变量没有任何关系

#局部变量
a = 1
def func(a):
    print('我是全局的',a)
    a = 2
    print('我是函数内的',a)
func(a)
print('我是全局的,函数内的对我不生效',a)

输出
我是全局的 1
我是函数内的 2
我是全局的,函数内的对我不生效 1

global 语句

如果想把一个变量声名为 全局的,则可以使用global语句

#全局变量
a = 1
def func():
    global a
    print('我是全局的',a)
    a =2
    print('在函数内我变成了',a)
func()
print('出了函数我变成了',a)

输出:
我是全局的 1
在函数内我变成了 2
出了函数我变成了 2

默认参数

对于一些参数,我们希望它的一些参数是可选的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值

#默认参数
def func(a,b=1):#b是可选参数
    print(a*b)
c1 = func(3)
c2 = func(4,2)

输出:
3
8

函数之间的调用

#函数与函数的调用
money = 500
def test(consume):#入参为500的时候 该函数返回是0,即test(money)
    return money - consume

def test1(money):#调用了test(consume)函数,返回值是0+500
    return test(money) + money

money1 = test1(money)#调用test1函数,所以返回了500
print(money1)

输出:
500

 

关键参数
如果某个函数有许多参数,而我们只想指定其中的一部分,那么可以使用名字(关键字)而不是位置来给函数指定实参。----这被称作 关键参数

def func(a,b=5,c=10):
    print ('a is',a, 'and b is',b,'and c is',c)

func(3,7)
func(24,c=32)
func(c=23,a=14)

输出:
a is 3 and b is 7 and c is 10
a is 24 and b is 5 and c is 32
a is 14 and b is 5 and c is 23

转载于:https://www.cnblogs.com/mhmh007/p/11590129.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值