Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用零v传递函数。一个论点_Python_Parameters - Fatal编程技术网

Python 用零v传递函数。一个论点

Python 用零v传递函数。一个论点,python,parameters,Python,Parameters,好吧,我这里有一个幼儿园级的问题,我可以绕过它,但我决定忍住尴尬,直接问它。那么,从根本上讲,在传递论点时,有什么区别呢 def add(): x = 'Print X' print (x) 及 我已经能够以自己的方式编写一点代码,而没有真正理解这一点——但是这个程序的读取方式有什么不同呢 不要生吃我,我知道这是基本的哈哈 请检查 代码中的“x”没有用处,因此将其作为参数传递没有任何意义,当您将参数传递给希望在函数中使用该数据的函数时,例如: def add(x,y):

好吧,我这里有一个幼儿园级的问题,我可以绕过它,但我决定忍住尴尬,直接问它。那么,从根本上讲,在传递论点时,有什么区别呢

def add(): 
    x = 'Print X'
    print (x)

我已经能够以自己的方式编写一点代码,而没有真正理解这一点——但是这个程序的读取方式有什么不同呢

不要生吃我,我知道这是基本的哈哈

请检查

代码中的“x”没有用处,因此将其作为参数传递没有任何意义,当您将参数传递给希望在函数中使用该数据的函数时,例如:

def add(x,y):
    return x+y
但如果您要在输入函数后立即覆盖作为参数获得的任何值,就像在上所做的那样:

def add(x): 
    x = 'Print X'  <--- here
    print(x)
请查收

代码中的“x”没有用处,因此将其作为参数传递没有任何意义,当您将参数传递给希望在函数中使用该数据的函数时,例如:

def add(x,y):
    return x+y
但如果您要在输入函数后立即覆盖作为参数获得的任何值,就像在上所做的那样:

def add(x): 
    x = 'Print X'  <--- here
    print(x)

就您的特定示例而言,这两个函数在输出方面没有差异。然而,只要稍加修改,您就可以将其中一个作为另一个的泛化。考虑这一点:

职能1:

def add(): 
   x = 'Print X'
   print (x)
职能2

def add(x): 
   print (x)
调用第一个函数时,它使用字符串初始化
x
,然后打印该字符串。但是,在调用第二个函数时,需要为x传递一个值(这称为参数,可以是“任意”值)。如果您像
add('Wow!这太棒了!”)那样调用它
该函数将打印您的字符串。由于函数2可以打印您作为参数而不是硬编码参数给出的任何字符串,因此我将函数2称为函数1的泛化

您的函数2以与我的函数2相同的方式接收字符串,但它用
'Print x'
覆盖
x
的值。因此,无论给定的参数是什么,它都会打印相同的字符串


希望这件事对你来说很清楚

就您的特定示例而言,这两个函数在输出方面没有差异。然而,只要稍加修改,您就可以将其中一个作为另一个的泛化。考虑这一点:

职能1:

def add(): 
   x = 'Print X'
   print (x)
职能2

def add(x): 
   print (x)
调用第一个函数时,它使用字符串初始化
x
,然后打印该字符串。但是,在调用第二个函数时,需要为x传递一个值(这称为参数,可以是“任意”值)。如果您像
add('Wow!这太棒了!”)那样调用它
该函数将打印您的字符串。由于函数2可以打印您作为参数而不是硬编码参数给出的任何字符串,因此我将函数2称为函数1的泛化

您的函数2以与我的函数2相同的方式接收字符串,但它用
'Print x'
覆盖
x
的值。因此,无论给定的参数是什么,它都会打印相同的字符串


希望这件事对你来说很清楚

看起来您混合了函数的定义和调用

def add(x): 
    print (x)
这是一个定义

add ("Print x")
调用函数。
在函数范围内,变量x的值为“Print x”

看起来像是混合了函数的定义和调用

def add(x): 
    print (x)
这是一个定义

add ("Print x")
调用函数。
在函数范围内,如果变量x的值为“Print x”

则第二个函数的参数是完全多余的,因为您立即在函数中为其赋值,即“代码> x=‘打印X’< /CODE >,所以PUN差异是,第二个要求您传递一些不会影响函数输出的东西……但是,考虑函数<代码> DEF Adx(X):打印(‘打印’,X)< /代码>尝试调用这两个函数。你会注意到一个不同,你会注意到其中一个没有太多意义。你的第二个函数的参数是完全多余的,因为你在函数中立即赋值给它,即“代码> x=‘打印X’< /CODE >,所以PUN差异是,第二个要求您传递一些不会影响函数输出的东西……但是,考虑函数<代码> DEF Adx(X):打印(‘打印’,X)< /代码>尝试调用这两个函数。你会注意到一个不同,你会注意到其中一个没有太多意义。这是有意义的@divancontreras-谢谢。看,这只是一些我不知道如何解释的小事情。不幸的是,我在编码点,我可以得到周围的东西,但我不知道为什么他们的工作哈哈。我正试图解决这个问题,也许你的意思是“print('print X',X)”?,在你打印的任何值上都有前缀。这很有意义@divanconveras-谢谢。看,这只是一些我不知道如何解释的小事情。不幸的是,我在编码点,我可以得到周围的东西,但我不知道为什么他们的工作哈哈。我正试图解决这个问题,也许你的意思是“print('print X',X)”?,在你打印的任何值上都有前缀。