[Python基础知识]05函数和模块

本文详细介绍了Python中的函数定义,包括函数名、参数列表、返回值处理、递归、不同类型的参数(位置参数、默认值参数、可变参数和关键字参数)。通过实例展示了如何使用这些概念来编写和调用函数。
摘要由CSDN通过智能技术生成

一、函数的定义

格式:def 函数名(参数列表):

注:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。即使该函数不需要接收任何参数,也必须保留一对空的圆括号

  • 函数形参不需要声明其类型,也不需要指定函数返回值类型

  • 参数列表是调用该函数时传递给它的值,可以有零个、一个或多个,当传递多个参数时各参数由逗号分隔

  • 函数内容以冒号起始,并且缩进(函数体相对于def关键字必须保持一定的空格缩进)



#下面的定义是一个求阶乘的函数
def factorial(num):
    result = 1
    for n in range(1, num + 1):
        result *= n
    return result
x = factorial(4)
y = factorial(10)
print(x)
print(y)

运行结果:

二、返回值

  1. return [表达式] 结束函数,选择性地返回一个值给调用方。

  1. 函数可以没有return,此时函数并不返回值,不带表达式的return相当于返回 None。

  1. 如果程序有多个返回值,可以封装为列表返回,也可以直接返回多个值,如果是直接返回多个值,python自动封装为元组



import math
def gcd_lcm(a,b):
    #求最大公约数
    x = math.gcd(a,b)
    #求最小公倍数
    y = a * b // x
#     return [x,y]
    return x,y

# z = gcd_lcm(12,20)
# print(z)
## 使用序列解包获取多个返回值
mygcd,mylcm = gcd_lcm(12,20)
print(mygcd)
print(mylcm)

运行结果:

三、函数的嵌套

递归时函数自己调用自己。递归时要注意设置结束条件,虽然Python中有限定递归的总数,但是还是要注意的。

四、函数的参数

1、位置参数:

调用函数时实参和形参的顺序必须严格一致,并且实参和形参的数量必须相同。否则会报错。

2、默认值参数

如果大部分的参数是某个值,可以设置为默认参数,简化函数的调用

注:

  • 默认值参数必须出现在函数参数列表的最右端,任何一个默认值参数右边不能有非默认值参数。

  • 如果默认参数不是在参数最后,则python解释器会报错。

  • 默认参数必须指向不变对象,比如str,int,NONE等。而默认参数是list、dict等是可变对象时,会导致数据错误

  • f.__defaults__ #查看函数默认值参数的当前值

3、可变参数

*parameter用来接受多个实参并将其放在一个元组中



def value(a,b,*c):
    '''
    a:操作数
    b:操作符号(+—*/)
    c:操作数
    功能:用a和c进行b的操作
    '''
    if b=='+':
        for  item in c:
            a=a+item       
    elif b=='-':
        for item in c:
            a=a-item
    return a
y=value(20,'-',4,5,6)
print(y)
z=value(20,'+',4,5)
print(z)
x=value(20,'+',5,6)
print(x)

运行结果:

4、关键字参数

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值