【问题标题】:Trying to wrap my head around python functions试图围绕python函数
【发布时间】:2018-08-31 21:12:40
【问题描述】:

我正在尝试打印:

gibberish1
2

通过使用多种功能。

我不确定应该以何种方式调用函数、调用所需的参数或以下场景中的函数所需的参数。

__

在以下情况下如何使用这两个功能?

def function_one():
    variable_one = 1
    variable_two = 2
    return variable_one, variable_two


def function_two():
    use_function_one_variable = 'gibberish' + str(variable_one)
    print(use_function_one_variable)
    print(variable_two)

【问题讨论】:

  • 请不要通过破坏您的帖子为他人增加工作量。通过在 Stack Exchange (SE) 网络上发帖,您已在 CC BY-SA 3.0 license 下授予 SE 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 SE 政策,帖子的非破坏版本是分发的版本。因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work? ...

标签: python function parameters return arguments


【解决方案1】:

function_two(),您必须致电function_one()

def function_two():
    v1, v2 = function_one()
    use_function_one_variable = 'gibberish' + str(v1)
    print(use_function_one_variable)
    print(v2)

【讨论】:

    【解决方案2】:

    以下代码sn-p:

    def function_one():
        variable_one = 1
        variable_two = 2
        return variable_one, variable_two
    
    
    def function_two():
        variable_one, variable_two = function_one()
        use_function_one_variable = 'gibberish' + str(variable_one)
        print(use_function_one_variable)
        print(variable_two)
    
    function_two()
    

    产生你想要的输出:

    gibberish1
    2
    

    【讨论】:

    • 您可以通过print(type(function_one())) 检查function_one() 返回tuple。因此,您可以通过索引访问它的任何返回值:例如variable_one 返回值使用function_one()[0] 访问,而variable_two 返回值使用function_one()[1] 访问。
    【解决方案3】:
    def function_one():
        variable_one = 1
        variable_two = 2
        return variable_one, variable_two
    
    
    def function_two():
        print_this_one, print_this_two = function_one()
        print_this_one += 'gibberish'
        print_this_two += 'more gibberish'
        print(print_this_one)
        print(print_this_two)
    

    【讨论】:

      【解决方案4】:

      IIUC

      如果您想要一个只打印gibberish1 的函数,那么您可以执行以下操作:

      def gib():
          print('gibberish1')
      

      然后,如果您输入 gib(),它会打印出您要查找的内容。

      如果你想要一个打印 2 的函数,你做的基本相同:

      def two():
          print(2)
      

      如果你想要一个连接两者的函数,你需要你的数字是一个字符串。

      def gib2():
      var1='gibberish1'
      var2='2'
          print(var1+var2)
      

      【讨论】:

        【解决方案5】:

        每个函数都有自己的局部作用域,所以一般来说,在该函数中定义的变量只能从其内部访问。解决此问题的一种方法是使用 return 将变量从函数中传递出去,这就是您在此处所做的。

        在您的代码中,当您调用函数一时,它将返回一个包含变量一和变量二的元组。要从 function_two 访问它们,您可以像这样在其中调用 function_one:

         def function_two():
            variable_one, variable_two = function_one()
            use_function_one_variable = 'gibberish' + variable_one
            print(use_function_one_variable)
            print(variable_two)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-24
          • 1970-01-01
          • 2020-09-13
          • 2021-12-02
          相关资源
          最近更新 更多