19.Python从入门到精通—Python函数 定义一个函数 函数调用 参数传递

19.从入门到精通:Python函数 定义一个函数 函数调用 参数传递

Python函数

定义一个函数

我来定义一个函数示例:

def greet(name):
    """
    给定一个名字,打印问候语
    """
    print("Hello, " + name + "! How are you doing today?")

# 调用函数
greet("Alice")
  1. 这是一个简单的函数,它接受一个参数 name,并打印一句问候语。函数的定义以关键字 def 开始,后面是函数名greet,圆括号里是参数 name。
  2. 冒号表示函数定义的结束,下一行缩进的代码块是函数体。在函数体中,我们使用 print() 函数打印问候语,其中 name是我们传递的参数。
  3. 最后,我们调用函数 greet() 并传递参数 “Alice”,输出结果为: Hello, Alice! How are youdoing today?

这只是一个简单的函数示例,函数可以有更多的参数、返回值和复杂的逻辑。函数是 Python
编程中非常重要的概念,可以帮助我们组织代码、提高代码的可读性和可维护性。

函数调用

*在Python中,函数调用是通过函数名和一组参数来实现的。函数名用于指定要调用的函数,而参数则用于向函数传递数据。*以下是一个示例,展示如何调用一个名为print_message()的函数,并向其传递一个字符串参数:

def print_message(message):
    print(message)

# 调用函数
print_message('Hello, World!')

输出结果为:

Hello, World!
  1. 在这个示例中,我们定义了一个名为print_message()的函数,它接受一个参数message,并使用print()函数将其打印出来。
  2. 我们调用print_message()函数,并向其传递一个字符串参数’Hello,
    World!'。函数将会被执行,并将字符串’Hello, World!'打印出来。

函数调用是Python编程中的一个基本概念,它允许我们将代码组织成模块化的结构,并可以在需要时重复使用。在Python中,函数调用是一个非常常见的操作,几乎所有的Python程序都会使用函数调用来完成各种任务。

参数传递

在 Python 中,函数的参数传递有两种方式:传值调用和传引用调用。

传值调用:将实际参数的值复制一份传递给函数,函数中对参数的修改不会影响到实际参数的值。这种方式适用于传递不可变对象(如数字、字符串、元组等)。
传引用调用:将实际参数的地址传递给函数,函数中对参数的修改会影响到实际参数的值。这种方式适用于传递可变对象(如列表、字典等)。

下面举个例子来说明:

def func1(x):
    x = x + 1
    print("x in func1:", x)

def func2(lst):
    lst.append(4)
    print("lst in func2:", lst)

a = 1
func1(a)
print("a after func1:", a)

b = [1, 2, 3]
func2(b)
print("b after func2:", b)

输出结果为:
x in func1: 2
a after func1: 1
lst in func2: [1, 2, 3, 4]
b after func2: [1, 2, 3, 4]
  1. 在上面的例子中,我们定义了两个函数 func1 和 func2,分别对传递的参数进行修改。在调用 func1 函数时,我们传递了一个整数 a,由于整数是不可变对象,所以在函数中对参数 x 的修改不会影响到实际参数 a 的值。
  2. 而在调用 func2 函数时,我们传递了一个列表 b,由于列表是可变对象,所以在函数中对参数 lst 的修改会影响到实际参数 b 的值。
  3. 需要注意的是,在 Python 中,函数参数的传递方式与其他编程语言有所不同。在其他编程语言中,通常只有传值调用一种方式,而在Python 中,传值调用和传引用调用都是可行的。

相关推荐

  1. 24.Python入门精通函数 标准模块 包

    2024-03-23 12:20:04       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-23 12:20:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-23 12:20:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-23 12:20:04       82 阅读
  4. Python语言-面向对象

    2024-03-23 12:20:04       91 阅读

热门阅读

  1. 【数据库】MySQL索引事务

    2024-03-23 12:20:04       35 阅读
  2. 【复杂网络建模】——通过python的XGI库构建超图

    2024-03-23 12:20:04       33 阅读
  3. Day 29 回溯05

    2024-03-23 12:20:04       41 阅读
  4. 探索MySQL中的SQL_MODE数据模式

    2024-03-23 12:20:04       39 阅读
  5. vue中如何用一个数组减去另一个数组

    2024-03-23 12:20:04       38 阅读
  6. node和npm yarn包管理工具

    2024-03-23 12:20:04       34 阅读
  7. npm 常用命令详解

    2024-03-23 12:20:04       43 阅读
  8. SAP-FI配置与业务解析之代发(客户)销售作业

    2024-03-23 12:20:04       40 阅读
  9. 将uint8_t数组转成uint32_t

    2024-03-23 12:20:04       46 阅读