白骑士的Python教学基础篇 1.4 函数与模块

41 篇文章 0 订阅

系列目录​​​​​​​​​​​​​​

上一篇:白骑士的Python教学基础篇 1.3 Python控制流

        在Python编程中,函数和模块是非常重要的概念,它们可以帮助我们将代码组织得更好,使其更易读、易维护。理解如何定义和调用函数、处理参数和返回值、以及如何使用模块和包,是成为Python程序员的关键技能。接下来,本篇内容将介绍这些内容。

定义与调用函数

定义函数

        在Python中,函数是一段可以重复使用的代码块,用来执行特定的任务。使用  ‘def’ 关键字定义一个函数,后跟函数名和参数列表。函数体是一个缩进的代码块。以下是一个简单的函数定义示例:

def greet(name):
    """这个函数用于向用户打招呼"""
    print(f"Hello, {name}!")

        这个函数名为 ‘greet’,它接受一个参数 ‘name’,并输出一条问候信息。

调用函数

        定义函数后,可以通过其名称和传递适当的参数来调用它,例如:

greet("Alice")

        上述代码将输出:’Hello, Alice!‘

参数与返回值

参数

        函数可以接受多个参数。在定义函数时,参数写在括号内,参数之间用逗号分隔。以下是一个接受两个参数的函数举例:

def add(a, b):
    """这个函数用于返回两个数的和"""
    return a + b

        调用时传递两个参数,例如:

result = add(3, 5)
print(result)  # 输出 8

默认参数

        你可以为函数参数指定默认值,这样在调用函数时可以省略这些参数。默认参数在定义函数时使用赋值语法来设置,例如:

def greet(name, message="Hello"):
    """这个函数用于向用户打招呼,并允许自定义消息"""
    print(f"{message}, {name}!")

        调用函数时可以省略 ‘message’ 参数,例如:

greet("Alice")  # 输出 Hello, Alice!
greet("Bob", "Hi")  # 输出 Hi, Bob!

可变参数

        Python还支持可变数量的参数。使用 `*args` 和 `**kwargs` 可以分别处理任意数量的位置参数和关键字参数,例如:

def print_args(*args):
    """这个函数用于打印所有传入的位置参数"""
    for arg in args:
        print(arg)

print_args(1, 2, 3)  # 输出 1 2 3

def print_kwargs(**kwargs):
    """这个函数用于打印所有传入的关键字参数"""
    for key, value in kwargs.items():
        print(f"{key} = {value}")

print_kwargs(a=1, b=2)  # 输出 a = 1  b = 2

返回值

        函数可以使用 `return` 关键字返回一个值。如果没有指定 `return` 语句,函数将返回 `None`。以下是一个返回两个数的和的函数示例:

def multiply(a, b):
    """这个函数用于返回两个数的乘积"""
    return a * b

result = multiply(3, 5)
print(result)  # 输出 15

        函数也可以返回多个值,这在Python中通过返回一个元组实现,例如:

def get_full_name(first_name, last_name):
    """这个函数用于返回全名和名字长度"""
    full_name = f"{first_name} {last_name}"
    return full_name, len(full_name)

name, length = get_full_name("John", "Doe")
print(name)  # 输出 John Doe
print(length)  # 输出 8

模块与包的使用

模块

        模块是Python中的一个文件,包含定义和语句。模块可以定义函数、类和变量,也可以包含可执行的代码。使用模块可以将代码分割成不同的文件,以便更好地组织和复用。通过 ‘import’ 语句可以导入模块。

        假设有一个名为 ‘mymodule.py’ 的模块,内容如下:

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

        你可以在另一个文件中导入并使用这个模块,例如:

import mymodule

result = mymodule.add(3, 5)
print(result)  # 输出 8

result = mymodule.subtract(10, 3)
print(result)  # 输出 7

从模块中导入特定函数

        你也可以只从模块中导入特定的函数或变量,例如:

from mymodule import add

result = add(3, 5)
print(result)  # 输出 8

重命名导入

        使用 ’as‘ 关键字可以重命名导入的模块或函数,例如:

import mymodule as mm

result = mm.add(3, 5)
print(result)  # 输出 8

from mymodule import add as addition

result = addition(3, 5)
print(result)  # 输出 8

        包是一个包含多个模块的目录。包可以包含子包和模块,通过使用点号分隔符来导入包中的模块。一个包目录中通常包含一个 ‘__init__.py` 文件,这个文件可以是空的,但它标识该目录为一个包。

        假设有以下包结构:

mypackage/

    __init__.py

    module1.py

    module2.py

        你可以导入包中的模块:

from mypackage import module1, module2

result = module1.add(3, 5)
print(result)  # 输出 8

result = module2.subtract(10, 3)
print(result)  # 输出 7

标准库简介

        Python的标准库是Python随附的一组模块和包,提供了丰富的功能,极大地扩展了Python的能力。以下是一些常用的标准库模块:

        os:提供了与操作系统进行交互的功能,如文件和目录操作,例如:

import os

print(os.getcwd())  # 获取当前工作目录

        sys:提供了与Python解释器相关的功能,如命令行参数和系统路径,例如:

import sys

print(sys.argv)  # 打印命令行参数

        datetime:提供了处理日期和时间的功能。

from datetime import datetime

print(datetime.now())  # 打印当前日期和时间

        math:提供了数学运算函数,如平方根、三角函数等。

import math

print(math.sqrt(16))  # 输出 4.0

        random:提供了生成随机数的功能。

import random

print(random.randint(1, 10))  # 输出1到10之间的随机整数

        json:提供了处理JSON数据的功能。

import json

data = {'name': 'Alice', 'age': 25}
json_str = json.dumps(data)  # 将字典转换为JSON字符串
print(json_str)

        re:提供了正则表达式操作的功能。

import re

pattern = r'\bword\b'
text = 'A word of warning'
match = re.search(pattern, text)

if match:
    print('Found:', match.group())  # 输出 Found: word

总结        

        Python的标准库涵盖了从文件操作、系统交互、网络通信到数据处理、数学计算等各个方面的功能,极大地增强了Python的实用性和灵活性。通过学习和掌握函数与模块的定义和使用,理解参数和返回值的处理,以及熟悉Python标准库的常用模块,将能够编写出结构良好、易于维护的Python代码,并利用Python强大的标准库来解决各种实际问题。

下一篇:白骑士的Python教学基础篇 1.5 数据结构​​​​​​​

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

白骑士所长

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

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

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

打赏作者

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

抵扣说明:

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

余额充值