说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)设计一个 Python 函数 get_keys,该函数的第一个参数是一个位置参数,可以传入 list、tuple 或 set。之后的参数是都是不定长的关键字参数。函数的目标是返回一个所有关键字形参的序列,序列的数据类型是第一个位置参数决定的。
Python 代码如下
def get_keys(dtype, /, **kwargs):
# 判断参数传值的范围
if dtype not in (list, tuple, set):
raise ValueError('dtype 的必须是 list、tuple 或 set.')
data = dtype(kwargs.keys())
return data
# 示例用法
get_keys(list, name='Alice', age=25, city='Wonderland')
# ['name', 'age', 'city']
get_keys(set, name='Alice', age=25, city='Wonderland')
# {'age', 'city', 'name'}
get_keys(tuple, name='Alice', age=25, city='Wonderland')
# ('name', 'age', 'city')
get_keys('jihe', name='Alice', age=25, city='Wonderland')
# ValueError: dtype 的必须是 list、tuple 或 set.
get_keys(dtype=set, name='Alice', age=25, city='Wonderland')
# TypeError: get_keys() missing 1 required positional argument: 'dtype'
本题目第一个参数是一个位置参数(同时不能用关键字来传参),它的数据类型是一个可调用对象(限定了三个固定的值)。
查看相关链接中的知识。
(完)
更新时间:2024-08-16 22:44:07 标签:python 习题 函数 参数