当前位置: 首页 > news >正文

基于Python的数据科学系列(4):函数

引言

        在前几篇文章中,我们探讨了Python中的基本数据类型、列表、元组和字典。在本文中,我们将深入研究Python中的函数。函数是编程中非常重要的概念,它允许我们将代码组织成模块化、可重用的组件。通过学习如何定义和使用函数,我们可以编写更高效、更结构化的代码。

函数

        在Python中,使用关键字def定义函数,后跟函数名、括号中的参数和冒号。接下来的代码行需要缩进一级,作为函数体。

def func0():   print("test")func0()

返回值

        使用return关键字返回值:

def square(x):"""Return the square of x."""return x ** 2square(4)

返回多个值

        我们可以使用元组从函数返回多个值:

def powers(x):"""Return a few powers of x."""return x ** 2, x ** 3, x ** 4x2, x3, x4 = powers(3)
print(x3)

默认参数值

        在函数定义中,我们可以为参数提供默认值:

def myfunc(x, p=2, debug=False):if debug:print("evaluating myfunc for x = " + str(x) + " using exponent p = " + str(p))return x**pmyfunc(5)
myfunc(5, debug=True)
myfunc(p=3, debug=True, x=7)

匿名函数

        在Python中,我们还可以使用lambda关键字创建匿名函数:

f1 = lambda x: x**2# is equivalent to def f2(x):return x**2f1(2), f2(2)

=== 任务 5 ===

1. 给定高度=5,执行for循环并打印

2. 给定高度=5,执行for循环并打印

3. 给定高度=3,执行for循环并打印

4. 将上述代码放入一个函数def pyramid(height),默认高度为2

5. 定义一个函数is_palindrome(),识别回文

6. 创建一个函数,从给定列表中删除重复项

7. 定义一个函数max(),不使用内置的max()函数,返回最大值

8. 生成一个字典,键是1到20之间的数字(包括1和20),值是键的平方

9. 创建一个倒计时钟,倒计时3, 2, 1,完成!

实现代码
# 1. 给定高度=5,执行for循环并打印
height = 5
for i in range(1, height + 1):print('*' * i)# 2. 给定高度=5,执行for循环并打印
height = 5
for i in range(height, 0, -1):print('*' * i)# 3. 给定高度=3,执行for循环并打印
height = 3
for i in range(1, height + 1):print(' ' * (height - i) + '*' * (2 * i - 1))# 4. 将上述代码放入一个函数def pyramid(height),默认高度为2
def pyramid(height=2):for i in range(1, height + 1):print(' ' * (height - i) + '*' * (2 * i - 1))pyramid(3)# 5. 定义一个函数is_palindrome(),识别回文
def is_palindrome(s):return s == s[::-1]print(is_palindrome("radar"))# 6. 创建一个函数,从给定列表中删除重复项
def remove_duplicates(lst):return list(set(lst))print(remove_duplicates([1, 2, 2, 3, 4, 4, 5]))# 7. 定义一个函数max(),不使用内置的max()函数,返回最大值
def max(lst):if not lst:return Nonemax_val = lst[0]for num in lst:if num > max_val:max_val = numreturn max_valprint(max([1, 2, 3, 4, 5]))# 8. 生成一个字典,键是1到20之间的数字(包括1和20),值是键的平方
squares_dict = {i: i ** 2 for i in range(1, 21)}
print(squares_dict)# 9. 创建一个倒计时钟,倒计时3, 2, 1,完成!
import timedef countdown():for i in range(3, 0, -1):print(i)time.sleep(1)print("Done!")countdown()

结语

        通过这篇文章,我们深入探讨了Python中的函数。我们学习了如何定义函数、返回值、使用默认参数、创建匿名函数以及函数参数的各种用法。函数是编程中非常重要的概念,它使我们的代码更加模块化、可重用和易于维护。

        在接下来的文章中,我们将探讨异常处理和类等高级特性,为大家编写复杂的Python程序打下坚实的基础。希望大家通过实践任务逐步提高编程技能,继续在数据科学的世界中探索。谢谢阅读!

如果你觉得这篇博文对你有帮助,请点赞、收藏、关注我,并且可以打赏支持我!

欢迎关注我的后续博文,我将分享更多关于人工智能、自然语言处理和计算机视觉的精彩内容。

谢谢大家的支持!

http://www.lryc.cn/news/418534.html

相关文章:

  • 高频焊接设备配电系统无源滤波系统的设计
  • 模拟退火的
  • 为什么有的地方笔记本经常连不上wifi,而手机可以?
  • 组件化开发
  • java学习--文件
  • k8s—Prometheus+Grafana+Altermaneger构建监控平台
  • Dijkstra算法求解最短路径 自写代码
  • C#如何对某个词在字符串中出现的次数进⾏计数(LINQ)
  • Linux篇之OS层内核参数的调优
  • DLMS/COSEM中的信息安全:安全密钥(上)
  • Taro基础知识学习
  • 浮点型在内存中的存储
  • 微信小程序之behaviors
  • java.lang.NoClassDefFoundError: ch/qos/logback/core/util/StatusPrinter2
  • WebRTC ICE配置类型
  • 制造知识普及(八)--企业内部物料编码(IPN)与制造商物料编码(MPN)
  • 大模型学习笔记 - InstructGPT中的微调与对齐
  • Unity近似的Transform实现
  • openvidu私有化部署
  • 基于深度学习的视频伪造检测
  • python机器人编程——开发一个pymatlab工具箱(上)
  • 输入类控件
  • C++20中的模块
  • Selenium与流行框架集成:pytest与Allure报告
  • 日撸Java三百行(day17:链队列)
  • Android摄像头采集选Camera1还是Camera2?
  • 零基础5分钟上手亚马逊云科技AWS核心云开发/云架构 - 创建高可用数据库集群
  • 力扣315.计算右侧小于当前元素的个数
  • websocket,css动画和css-position、display、区别
  • 前端获取视频文件宽高信息和视频时长