python教程(三)·自定义函数

本文介绍了Python中如何创建自定义函数,包括参数的使用、作用域的概念、关键字参数和默认参数的应用。通过示例代码详细解析了参数是否可变、函数作用域、局部变量与全局变量的区别以及如何在函数中修改全局变量。最后,讨论了关键字参数和默认参数的使用方式,帮助读者深入理解Python函数的使用技巧。
摘要由CSDN通过智能技术生成

前面介绍了如何使用函数,这一节我们就来学习怎么创建自己的函数!

自定义函数

创建函数非常简单,它使用关键字 “def”,下面的代码创建了一个带有一个参数的函数,并使用不同的参数调用

def hello(name):
    print('hello', name)

hello('feather')  # 调用函数,传入参数 'feather'
hello('csdn')  # 调用函数,传入参数 'csdn'

运行程序可以得到下面输出:

hello feather
hello csdn

可以看到,传入的参数被赋值给变量name,然后执行函数内的代码块,对!这也是一种代码块,注意后面的冒号

函数并非一定要有参数,我们完全可以定义一个不带参数的函数,比如这个

def hello():
    print('hello world!')

像获取输入的函数input,返回用户的输入,我们也可以在函数中使用return语句来返回数据,下面是一个计算斐波那契数列第n项的函数

def fibs(num):
    if num == 1:
        return 0
    elif num == 2:
        return 1
    elif num > 2:
        previous = 0  # 前一项
        current = 1  # 当前项
        for i in range(num-2):
            temp = current
            current = previous + current  # 当前项等于前两项和
            previous = temp
        return current
    else:
        # num < 1
        return None

num = int(input('计算第几项:'))
print(fibs(num))

简单说下斐波那契数列,除了第一和第二个数,后面的数等于前两个数相加,这样的一组数可以叫做斐波那契数列。

就算不懂斐波那契数列也没关系,只需要知道当函数内的代码执行到return语句时,马上结束函数,并把return后面的值(如果有)返回给调用者,上面把返回值马上又做为参数去调用print函数输出了。

函数的末尾无论是否有return,都会返回到调用处,其实相当于函数的末尾有一个隐含的没有返回值的return语句(前面提到过,所谓的“没有返回值”,其实返回了一个None,None是“空”的意思,这很好理解)

默认情况下,参数值和参数名称是按函数中定义的顺序匹配起来的。

下面总结函数的定义的基本格式:

def 函数名(参数1,参数2,参数3):
    函数体

参数可以改变吗?

看看下面的代码,有没有一点出乎意料?

>>> def change(n):
...     n = 'abc'
... 
>>> name = 'feather'
>>> change(name)
>>> name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值