我如何访问类对象的值

问题描述 投票:0回答:2

代码

from math import factorial as fact

class dm:

def __init__(self,num):

    #if type(num)==type(1):
        self.num=num

def fact(self):

    return(fact(self.num))

def show(self):
    return(self.num)

def __getitem__(self,num):
    return(self.num)
num=5
print(num)
num=dm(num)
print(num)

输出为:

5
<__main__.dm object at 0x06D9A790>

为什么不是:

5
5

指导我。

python class printing self
2个回答
0
投票

您已将num设置为类dm的对象。这就是为什么在行num之后打印num = dm(num)时会收到<__main__.dm object at 0x06D9A790>

属性的原因

如果要打印在班级中初始化的num的值;

print(num.num)

如果要调用fact()函数;

print(num.fact(5))

定义var = class()时,将var设置为对该类的引用,这就是为什么要取回对象的原因。

一些简单的阅读可能会帮助您更多地理解课堂的概念; Python Classes

快乐学习:)


0
投票

尝试写作

print(num.show()) instead

num是类Dm的对象。但是要访问对象中的值,必须使用类的show()方法。

使用大写字母命名课程也是一个好习惯。

© www.soinside.com 2019 - 2024. All rights reserved.