为了账号安全,请及时绑定邮箱和手机立即绑定
class Animal:
__count=0
def __init__(self,name):
self.name=name
Animal.__count+=1
@classmethod
def get_count(self):
return self.__count

dog=Animal('liu')
print(dog.get_count())
cat=Animal('wang')
print(cat.get_count())

最赞回答 / weixin_慕用0068683
如果count改成__count变成类的私有属性后,在__init__方法里无法直接__count访问类的私有属性,需要Animal.__count,尝试了下self.__count也可以,我理解是__count本身是类的属性,任何一个实例并不单独具有这个属性,但是可以通过实例调用类的get和set方法去修改类的属性,就和直接用类名调用get和set方法效果是一样的,比如下面的代码里animal.set和dog.set都可以修改类的属性__count。<...code...>

最赞回答 / weixin_慕用0068683
在子类init方法里,比如第9行应该是 def __init__(self,skill): 

最赞回答 / 慕函数7599421
假如<...code...>你可以推算def gcd(a, b)的过程(类似于for循环),得到两个数的最大公约数为3,这个3会在最终的结果中作为分母被除掉。没有没有def gcd(a, b)函数,那么我们得到的最终结果会有3/6,4/8这样的结果。
def f(x):
return x.title

for item in map(f, ['alice', 'BOB', 'CanDY']):
print(item)

最新回答 / yuxiele
官方写错了呗!应该是“Person 的实例bob”

最赞回答 / weixin_慕设计1349666
class Animal():    def __init__(self,name,age,location):        self.__name=name        self.__age=age        self.__location=location    def get_info(self):        return 'name={},\nage={},\nlocation={}'.format(self.__name,self.__age,self.__location)    ...
Traceback (most recent call last):
File "index.py", line 27, in
print(r1 / r2)
TypeError: unsupported operand type(s) for /: 'Rational' and 'Rational'

本节的代码运行错误,提示地板除的那一行报错,/没有定义,把__truediv__改成__div__运行正确
**kw 可以去看看作者的另一个课程,python基础篇
运行下面一段就成功
class Animal: pass

dog = Animal()
cat = Animal()

dog.name = 'xiaohong'
dog.age = 13

cat.name = 'xiaohong2'
cat.age = 14

print(dog.name)
print(dog.age)

print(cat.name)
print(cat.age)
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消