为了账号安全,请及时绑定邮箱和手机立即绑定

怎么才能输出1 2呢,看到的大佬帮忙解决一下?

怎么才能输出1 2呢,看到的大佬帮忙解决一下?https://img1.sycdn.imooc.com//5ba23d3000017fba07940570.jpg

正在回答

3 回答

class Person(object):

    __count = 0

    def __init__(self, name):

         Person.__count += 1

         self.name = name

p1 = Person('Bob')

try:

    print p1.__count

except AttributeError: 

    print p1._Person__count

p2 = Person('Alice')

try:

    print p2.__count

except AttributeError: 

    print p2._Person__count

    print 'AttributeError'


0 回复 有任何疑惑可以回复我~

class Person(object):

    __count = 0

    @classmethod
    def how_many(cls):
        return cls.__count
    def __init__(self,name):
        self.name=name
        Person.__count=Person.__count+1
p1 = Person('Bob')
print Person.how_many()
p2 = Person('Alice')
print Person.how_many()

try:
    print Person.__count
   
except AttributeError:
    print 'attributeerror'

终于弄出来了

0 回复 有任何疑惑可以回复我~

你的代码没有把Person.__count打印出来,可以在def __init__(self,name)最后再加上一行print Person.__count

0 回复 有任何疑惑可以回复我~
#1

叶晴天

是不是放在类定义里就可以打印这个伪私有属性的值了
2019-01-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

怎么才能输出1 2呢,看到的大佬帮忙解决一下?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信