博客
关于我
006从零开始学Python—自定义函数
阅读量:789 次
发布时间:2023-01-24

本文共 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数字游戏,还是相关参数的灵活处理,自定义函数都展现出强大的实用性和可扩展性。在实际开发中,合理使用自定义函数能极大提升代码的可维护性和可读性。

转载地址:http://igeyk.baihongyu.com/

你可能感兴趣的文章
element-plus修改主题颜色
查看>>
element-plus的el-date-picker日期范围选择控件,根据开始日期限定结束日期的可选范围为开始日期到开始日期+30天
查看>>
18 个一线工作中常用 Shell 脚本【实用版】
查看>>
element-ui:el-input输入数字-整数和小数
查看>>
ElementUI-el-progress改变进度条颜色跟文字样式
查看>>
element事件(change,click)不触发
查看>>
10个高级的 SQL 查询技巧,你掌握了几个?
查看>>
ELK原理与介绍(转)
查看>>
ELK学习笔记(三)单台服务器多节点部署
查看>>
ELK应用日志收集实战
查看>>
elTable火狐浏览器换行
查看>>
15个Python数据处理技巧(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
2023年深信服、奇安信、360等大厂网络安全校招面试真题合集(附答案),让你面试轻松无压力!
查看>>
2024年全国程序员平均薪资排名:同样是程序员,为什么差这么多?零基础到精通,收藏这篇就够了
查看>>
0基础成功转行网络安全工程师,年薪30W+,经验总结都在这(建议收藏)
查看>>
100个电脑常用组合键大全(非常详细)零基础入门到精通,收藏这篇就够了
查看>>
10个程序员可以接私活的平台
查看>>
10个程序员可以接私活的平台(非常详细)零基础入门到精通,收藏这篇就够了
查看>>
10个运维拿来就用的 Shell 脚本,用了才知道有多爽,零基础入门到精通,收藏这一篇就够了
查看>>
10条sql语句优化的建议
查看>>