Python学习笔记:函数

本文详细介绍了Python中的函数定义,包括如何创建最大值函数、参数类型检查、返回多个值、默认参数、关键字参数及不定长参数的使用。通过示例展示了如何在函数中处理不同类型的数据,并强调了函数参数的灵活性和错误处理的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数

定义一个函数

#格式:
def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

定义一个功能为最大值的函数

def max(num1,num2):
    if num1>num2:
        return num1
    else:
        return num2
print(max(55,77))
77

在函数中可以进行类型判断处理,如果类型不合法则可以抛出错误

def sum(num1,num2):
    if not (isinstance(num1,(int,float)) and isinstance(num1,(float,int))):
        raise TypeError('参数类型错误')
    return num1+num2
sum(3,5)
8
sum(3.5,2.2)
5.7
sum(2,'a')
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-11-32eeadf29e36> in <module>
----> 1 sum(2,'a')


<ipython-input-7-e8060baa8200> in sum(num1, num2)
      2     if not (isinstance(num1,(int,float)) and isinstance(num1,(float,int))):
      3         raise TypeError('参数类型错误')
----> 4     return num1+num2


TypeError: unsupported operand type(s) for +: 'int' and 'str'

返回值

函数可以返回多个值,具体如下:

# 定义一个函数可以返回两数进行运算之后的商和余数
def division(num1,num2):
    yushu = num1%num2
    shang = (num1-yushu)/num2
    return shang,yushu
a,b = division(10,3)
a
3.0
b
1

当只有一个变量接受多个返回值的时候,那么这个变量就是元组

tuple = division(10,3)
tuple
(3.0, 1)

函数的参数

默认参数

在编写函数的时候,可以对某些参数进行设置默认值,那么在调用这个函数的时候,可以不传入该值而在调用过程中该值就是默认值

def personInfo(name, age, sex = '男'):
    print('姓名:{}'.format(name),end = ' ')
    print('年龄:{}'.format(age),end = ' ')
    print('性别:{}'.format(sex),end = ' ')
personInfo('李明',22)
姓名:李明 年龄:22 性别:男 
personInfo('黄丽', 25, '女')
姓名:黄丽 年龄:25 性别:女 

关键字参数

在 Python 中,可以通过参数名来给函数传递参数,而不用关心参数列表定义时的顺序,这被称之为关键字参数

personInfo(name = '黄丽', sex = '女', age = 44)
姓名:黄丽 年龄:44 性别:女 

不定长参数

在设计函数的时候,我们有时候无法确定传入的参数个数。

那么我们就可以使用不定长参数。

Python 提供了一种元组的方式来接受没有直接定义的参数。这种方式在参数前边加星号 * 。

def personInfo(name, age, sex = '男', * hobby):
    print('姓名:{}'.format(name),end = ' ')
    print('年龄:{}'.format(age),end = ' ')
    print('性别:{}'.format(sex),end = ' ')
    print('爱好:{}'.format(hobby),end = '')
personInfo('黄丽', 44,'女', '篮球','射箭','跑步')
姓名:黄丽 年龄:44 性别:女 爱好:('篮球', '射箭', '跑步')

如果是字典来表示,则可以表示为 **hobby

def personInfo(name, age, sex = '男', ** other):
    print('姓名:{}'.format(name),end = ' ')
    print('年龄:{}'.format(age),end = ' ')
    print('性别:{}'.format(sex),end = ' ')
    print('其他:{}'.format(other),end = '')
personInfo('黄丽', 44,'女', hobby = ('篮球','射箭','跑步'), university = ('深圳大学'))
姓名:黄丽 年龄:44 性别:女 其他:{'hobby': ('篮球', '射箭', '跑步'), 'university': '深圳大学'}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值