【问题标题】:Python- Calling Functions [duplicate]Python-调用函数[重复]
【发布时间】:2016-10-28 17:47:39
【问题描述】:

我提前道歉,这是一个非常愚蠢的问题。只是出于好奇,(例如)function(a)和a.function()之间有什么区别?感谢您的任何回答。

【问题讨论】:

    标签: python function


    【解决方案1】:

    function(a)a.function()的区别是函数和方法的区别。一个函数称为function(a),而不是在变量上调用。 a.function() 实际上是一个方法,在实例变量上调用。当a.function() 被调用时,无论a 是什么类,都有一个可以在该变量上调用的方法function()。而当调用function(a) 时,会调用一个以a 为参数的函数。一个例子是

    ' '.join(['a','b','c'])
    

    方法join在字符串' '上被调用(因为join是属于str类的方法)并接受参数['a', 'b', 'c']

    【讨论】:

      【解决方案2】:
      class Example():
          def __init__(self):
              self.x = 1
      
          def change_x(self):
              self.x = 5
              print(self.x)
      
      def example_function(x):
          print(x)
      
      a= Example()
      a.change_x()  #calling the object function of 
      
      example_function("hello")  #calling the function in scope
      
      #prints >> 5
      #       >> hello
      

      当您something.function() 时,您正在调用该对象的函数。

      当您是 function() 时,您正在调用您的命名空间中定义的范围内的函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-22
        • 2020-09-10
        • 2016-03-13
        • 2015-11-30
        • 1970-01-01
        • 2016-03-26
        • 1970-01-01
        • 2020-04-01
        相关资源
        最近更新 更多