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

引言

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

函数

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

def func0():   
    print("test")

func0()

返回值

        使用return关键字返回值:

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

square(4)

返回多个值

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

def powers(x):
    """
    Return a few powers of x.
    """
    return x ** 2, x ** 3, x ** 4

x2, 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**p

myfunc(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**2

f1(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 None
    max_val = lst[0]
    for num in lst:
        if num > max_val:
            max_val = num
    return max_val

print(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 time

def countdown():
    for i in range(3, 0, -1):
        print(i)
        time.sleep(1)
    print("Done!")

countdown()

结语

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

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

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

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

谢谢大家的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的Anthony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值