Python:如何有一个变量的值而不是它的地址

时间:2019-03-04 14:29:00

标签: python

我是Python的新用户,我试图弄清楚为什么Python仅提供结果的地址。为什么?您可以在下面找到代码。如果有人可以帮助理解Python的工作原理,我将非常感激。 进一步的解释如下。

def Add(self,f=10,  type=' ', process=' '):
    if type=='A':
        self.Add = 100*f           
    elif type=='B' and process=='hot':
        self.Add = 150*f
    elif type=='B' and process =='cool':
        self.Add = 2000*f

type='B';       
process='cool';
print('Add value is:', Add)

在这种情况下,我在屏幕上打印了一个地址

Add value is: <function Add at 0x000002B42D30C400>

怎么可能会有值Add而不是它的地址? 最好的问候

3 个答案:

答案 0 :(得分:2)

问题在于'Add'是函数的名称。因此,当您尝试打印它时,它将打印该函数的地址。

答案 1 :(得分:1)

由于您尚未发布所需的输出,因此应该可以使您有所了解:

def Addition(self, f=10,  type=' ', process=' '):
    if type=='A':
        self.Add = 100*f
    elif type=='B' and process=='hot':
        self.Add = 150*f
    elif type=='B' and process =='cool':
        self.Add = 2000*f
    return self


type='B'
process='cool'
print('Add value is:', Addition(type, process))

输出

Add value is: B

编辑:

从OP的评论继续:

def Addition(self, process, f=10):
    if type =='A':
        return 100*f
    elif type=='B' and process=='hot':
        return 150*f
    elif type=='B' and process == 'cool':
        return 2000*f


type='B'
process='cool'
print('Add value is:', Addition(type, process))

输出

Add value is: 20000

答案 2 :(得分:0)

您必须致电Add(...)

print('Add value is:', Add(add_arguments_goes_here))