学习python可能的第八天——有关于函数

本文深入探讨Python函数设计,包括必选参数、默认参数、可变参数、关键字参数及命名关键字参数的使用技巧,同时解析hex函数、pass语句、参数类型检查与函数返回值的细节。

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

hex()函数,把一个整数转换成十六进制

如果要返回值采用return语句,如果没有return语句,函数执行完后返回结果为None。
pass:如果想定义一个什么事都不做的空函数,可以用pass语句
pass语句什么都不做,可以用作占位符,把没有想好怎么写的代码可以一个pass,让代码能够先运行起来。

参数类型检查可以用内置的函数isinstance()实现
def my_abs(x):
if not isinstance(x,(int,float)):
raise TypeError(‘bad operand type’)
if x >=0:
return x
else:
return -x
上式为检查参数类型是否为int,float。

函数返回值可以返回多个,但其实是一个tuple。、

默认参数必须指向不变的对象。不变对象一旦创建,对象内部的数据不能修改,这样会减少由于修改数据导致的错误。

可变参数:在参数位置加上*号
def calc(*number):
sum = 0
for n in numbers:
sum = sum + n * n
returen sum

当有一个已知的元组或列表,想要以可变参数的形式传进去,可以在列表或元组前加*号,例:
nums = [1,2,3]
calc(nums)(clac为设置可变参数的函数)

关键字参数,可变参数允许你传入0或任意个参数,这些可变参数在函数调用时组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在内部自动组装成一个dict。

在传入参数时,可以只传入必选参数,也可以只传入一个或多个关键参数。

关键字参数可以拓展函数的功能,比如做用户注册的功能,除了用户名和年龄是必填,其他的可选项,利用关键字参数来定义这个函数就能满足注册需求。例:
def person(name,age,kw):
此时
kw就是关键字参数。

关键字参数是以字典的形式出现。

关键字参数的命名:本身对于参数传入如果没有限制,那么关键字参数命名为kw这种形式。如果想要使调用者传入必须要的参数名字。那么可以限制关键字参数的名字,就可以用命名关键字参数,例:
drf preson(name,age,*,city,job):
print(name,age,city,job)
和关键字参数
kw不同, 命名关键字参数 需要一个特殊分隔符 * 号,* 号后面的参数被视为命名关键字参数。

命名关键字必须传入参数名,这和位置参数不同,如果没有传入参数名,调用报错,如上式
preson(‘jack’,24,‘beijing’,‘engineer’)
那么调用将会报错。原因是调用时缺少参数名city,job,python解释器会把这4个参数均视为位置参数,但person只接受两个参数位置。

正确调用方法:person(‘jack’,23,city = ‘beijing’,job = ‘engineer’)

但是我们可以给命名关键字参数一个缺省值,从而简化调用,此时可以不用写入有缺省值的命名关键字参数。
例:
def person(name,age,*,city = ‘beijing’ ,job):
print(name,age,cit,job)

person(‘jack’,23,job = ‘engineer’)
jack,23,beijing,engineer

python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数、命名关键字参数进行组合使用。

可变参数无法和命名关键字参数混合。

参数定义的顺序必须为,必选参数,默认参数,可变参数(数组)/命名关键字参数和关键字参数(字典)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值