python函数基本讲解

2025-03-26 09:10:00
admin
原创
11
摘要:问题描述:我有一个基本问题,希望能够帮助我理解 Python 中的函数(遵循大学准备阶段的 LPTHW 教程)。有人可以解释下面的语法吗?我的假设是否正确?def print_two_again(arg1, arg2): print "arg1: %r, arg2: %r" % (...

问题描述:

我有一个基本问题,希望能够帮助我理解 Python 中的函数(遵循大学准备阶段的 LPTHW 教程)。有人可以解释下面的语法吗?我的假设是否正确?

def print_two_again(arg1, arg2):
    print "arg1: %r, arg2: %r" % (arg1, arg2)

print_two_again("Steve","Testing")

我知道这是函数的名称,但是在其旁边的括号中加上,print_two_again的目的是什么?是调用下面的打印命令吗?还是这些字符串直接进入命令?arg1`arg2"Steve"` `"Testing"print`


解决方案 1:

旁边括号中的 arg1, arg2 有什么用途?

在这种情况下,arg1arg2被称为参数。参数允许函数接收执行任务所需的输入。输入由调用者提供。

例如,在学校数学课上,你可能已经见过类似这样的内容:z = f(x, y)函数f被定义为f(x, y) = x + y。这是编程语言中的相同概念。

它还允许您编写更通用、更灵活、更可重用的代码。例如,您不必编写许多不同版本的函数来完成相同的任务,而结果略有不同,从而避免出现诸如add2(x, y) = x + yadd3(x, y, z) = x + y + z等情况。您可以简单地执行以下操作:

def sum(values):  # values is of type 'list'
    result = 0
    for value in values:
        result += value
    return result

像这样调用它:

total = sum([1, 2, 3, 4, 5, 6, 7]) # a list of any length with numbers

或者像这样:

total = sum([1, 2])

函数需要多少个参数取决于它需要做什么以及其他因素。

更新

令我困惑的是 print_two_again("Steve","testing") ,这个叫什么,它的用途是什么?

该行print_two_again("Steve","testing")是函数的调用(即函数调用)。这会导致程序“跳转”到指定函数的主体print_two_again并开始执行其中的代码。

部分("Steve","testing")是作为输入发送给函数的参数。这些是位置参数,这基本上意味着它们会“映射”到名称arg1,并arg2根据调用函数时提供它们的顺序进行映射。

例如,考虑函数f(x, y) = x - y。如果此函数被调用为z = f(3, 4),则名为 的参数x将接收值3,并且y将是4,以返回-1。如果反转调用中的参数,那么您将得到x=4和 ,y=3并且它将返回1。您提供的函数中的参数也是如此。

这意味着函数调用中参数的顺序很重要

与许多其他语言一样,Python 语言已经具有一组内置功能。命名的函数print就是一个例子。您可以使用该命令获取大量信息pydocpydoc3如果您使用 Python3,我建议使用)。例如,该命令pydoc3 print生成以下文档:

模块内置函数中内置函数打印的帮助:

打印(...)打印(值,...,sep =' ',end ='\ n',file = sys.stdout,flush = False)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file:  a file-like object (stream); defaults to the current sys.stdout.
sep:   string inserted between values, default a space.
end:   string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.

请注意,这是 Python3 的文档。Python2 文档会略有不同。

你在学校数学课程中学到的函数理解和编程语言中的函数理解之间存在直接联系。这是因为数学是计算机科学和编程语言等学科的底层基础(例如算法分析)。

解决方案 2:

旁边括号中的 arg1, arg2 有什么用途?

arg1arg2是输入的名称,函数可以从那里使用这些输入。就你的情况而言,你的函数所做的就是打印它们。其他函数可以用这些参数做其他事情。但让我们一步一步来。

def print_two_again(arg1, arg2):
    print "arg1: %r, arg2: %r" % (arg1, arg2) 

在以 开头的前两行中def,您定义了一个函数。它执行某些操作。在您的例子中,打印了它所接受的两个参数。

print_two_again("Steve","Testing")

在第三行,您实际上要做的是调用该函数。调用该函数时,您告诉函数将参数传递"Steve""Testing"函数定义。

上面这行字面意思就是函数调用。假设你有一个程序,你想让它打印两个单词。你需要定义它是如何完成的。这叫做函数定义,你在其中定义事物如何运作。这没问题,但还不够。你希望让它发生。所以你要做的就是执行那个函数。这叫做函数调用

print_two_again("First","Call")
print_two_again("Second","Call")

在上面的几行中,我们所做的是调用之前定义的函数两次,但使用不同的参数。

现在让我们看一下第二行,这可能会让您感到困惑。

print "arg1: %r, arg2: %r" % (arg1, arg2) 

print是 Python 中的内置函数。上面这行代码的作用是传递arg1arg2参数,并以以下格式打印它们"arg1: %r, arg2: %r"

解决方案 3:

括号内有 arg1、arg2 的用途是什么?

这里 defprint_two_again(arg1, arg2):是一个函数,arg1, arg2被称为参数,在函数中,有两个变量,print_two_again函数需要两个参数。

令我困惑的是print_two_again(“Steve”,“testing”)?

当您print_two_again("Steve","Testing")这样称呼时arg1 receive Steve and arg2 receive Testing

当您需要时print,可以将任何文本内部(ie. in between ".....")放置为简单文本,并%r用于捕获相应的变量值。

如果你愿意,你可以重写如下:

print "Argument 1: %r, Argument 2: %r" % (arg1, arg2)

您可以更改平面文本,但变量列表将遵循您首先指定的名称。

解决方案 4:

简而言之,“参数 = 传递给函数的数据”。使用这些数据我们可以进行计算或者简单地打印它。

在函数内部,我们打印 arg1 和 arg2。传递给函数的“steve”和“Testing”将被打印。

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2079  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1459  
  建筑行业正处于数字化转型的关键时期,建筑产品生命周期管理(PLM)系统的实施对于提升项目效率、质量和协同性至关重要。特别是在 2025 年,基于建筑信息模型(BIM)的项目进度优化工具成为众多建筑企业关注的焦点。这些工具不仅能够整合项目全生命周期的数据,还能通过精准的分析和模拟,为项目进度管理提供强大支持。BIM 与建...
plm是什么软件   0  
  PLM系统开发的重要性与现状PLM(产品生命周期管理)系统在现代企业的产品研发、生产与管理过程中扮演着至关重要的角色。它贯穿产品从概念设计到退役的整个生命周期,整合了产品数据、流程以及人员等多方面的资源,极大地提高了企业的协同效率和创新能力。通过PLM系统,企业能够实现产品信息的集中管理与共享,不同部门之间可以实时获取...
国产plm软件   0  
  PLM(产品生命周期管理)系统在企业产品研发与管理过程中扮演着至关重要的角色。随着市场竞争的加剧和技术的飞速发展,企业对PLM系统的迭代周期优化需求日益迫切。2025年敏捷认证对项目管理提出了新的要求,其中燃尽图作为一种强大的可视化工具,在PLM系统迭代周期优化中有着广泛且重要的应用。深入探讨这些应用,对于提升企业的项...
plm系统主要干什么的   0  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用