006从零开始学Python—自定义函数
发布日期:2025-03-29 23:29:45 浏览次数:8 分类:精选文章

本文共 2552 字,大约阅读时间需要 8 分钟。

Python自定义函数及参数类型详解

在Python编程中,自定义函数是工具箱中不可或缺的一部分。它不仅可以帮助我们简化代码的复杂性,还能使代码更加易读和可维护。以下将从基础到高级探讨Python自定义函数的实现方法及其参数类型。

一、函数的基本定义

1. lambda定义匿名函数

匿名函数通过lambda关键字轻松实现,适用于简短的功能逻辑。语法如下:

lambda parameters: expression

如上语法中:

  • lambda 是匿名函数的起始关键字。
  • parameters 是函数的可能参数,多个参数用逗号分隔。
  • function expression 是具体的逻辑表达式。

示例:统计列表中每个元素的频次

list6 = ['A', 'A', 'B', 'A', 'A', 'B', 'C', 'B', 'C', 'B', 'B', 'D', 'C']
dict3 = {}
for i in set(list6):
dict3[i] = list6.count(i)
key_value = list(dict3.items())
key_value.sort()
key_value.sort(key=lambda x: x[1], reverse=True)

2. def构造有名称的自定义函数

def关键字用于构建中规中矩的自定义函数,结构为:

def function_name(parameters): ... return result

如上语法中:

  • def 是define的缩写,用于自定义函数。
  • function_name 是函数的名称。
  • parameters 是函数相应的输入参数。
  • return用于返回函数计算结果。

实战示例:猜数字游戏

def game(min, max):
import random
number = random.randint(min, max)
while True:
guess = float(input('请在%d到%d之间猜一个数字: ' % (min, max)))
if guess < number:
min = guess
print('不好意思,你猜的数偏小了!请在%d到%d之间猜一个数!' % (min, max))
elif guess > number:
max = guess
print('不好意思,你猜的数偏大了!请在%d到%d之间猜一个数!' % (min, max))
else:
print('恭喜你猜对了!')
print('游戏结束!')
break
# 调用函数
game(10, 20)

2. 自定义函数的参数类型

在使用自定义函数时,参数的类型和约束能决定函数的行为和灵活性。主要参数类型包括:

1. 必选参数

必选参数是调用自定义函数时必须提供的参数,否则函数调用将报错。例如:

def game(min, max):
...

缺少max参数时,会出现如下错误:

TypeError: game() missing 1 required positional argument: 'max'

2. 默认参数

默认参数在定义函数时就已经赋予了初值,在调用时可不需要传递。语法:

def function_name(param1=params1, param2=params2):

示例:计算1到n的p次方和

def square_sum(n, p=2):
result = sum([i**p for i in range(1, n+1)])
return (n, p, result)
# 调用函数
print(square_sum(200))
print(square_sum(200, 3))

3. 可变参数

可变参数用于接收任意数量的实参,适用于动态参数场景。语法:

def function(*args): ...

示例:任意个数的数据求和

def adds(*args):
sum_val = sum(args)
return sum_val
# 调用函数
print(adds(10, 13, 7, 8, 2))
print(adds(7, 10, 23, 44, 65, 12, 17))

4. 关键字参数

关键字参数允许传递特定参数名和值,适用于可选参数和命名位置传递。语法:

def function(key1=value1, key2=value2):

示例:电商信息收集

def info_collection(tel, birthday, **kwargs):
user_info = {'tel': tel, 'birthday': birthday}
user_info.update(kwargs)
return user_info
# 调用函数
print(info_collection(13612345678, '1990-01-01', nickname='月亮',
gender='女', edu='硕士', income=15000,
add='上海市浦东新区', interest=['游泳', '唱歌', '看电影']))

总结语

自定义函数是Python编程中极其强大的功能之一。通过lambda匿名函数和def有名称函数,我们可以为不同的需求构建专门的处理逻辑。了解自定义函数的参数类型(必选参数、默认参数、可变参数和关键字参数)能够帮助我们更灵活地处理各种编程场景。无论是guess数字游戏,还是相关参数的灵活处理,自定义函数都展现出强大的实用性和可扩展性。在实际开发中,合理使用自定义函数能极大提升代码的可维护性和可读性。

上一篇:2024年全球顶尖杀毒软件,从零基础到精通,收藏这篇就够了!
下一篇:2024年从零学习AI和深度学习Transformer的路线图(非常详细)零基础入门到精通,收藏这一篇就够了

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月20日 05时20分44秒