• 硕杨Sxuya
    2018-09-30
    通过方法去改变,而不能用赋值的方法去改变。

    但是,视频里面用 updataName 后,名字也是没有改变的。

    最后封装后如何修改没有说明出来,很费解。尝试过后,明白,在 updateName 里面,那个 sefl.name 要改成 self.__name 才可以。
    
     11
  • UP
    2019-10-06
    为为什么我这边提示, TypeError:Player() takes no arguments ,希望老师指导下
    3.7 版本的,代码照着视频敲的,除了备注没写,其他都一样的 ((٩(//̀Д/́/)۶))/

    作者回复: 检查一下 __init__ 附近是否有错误?

    
    
  • 蝶舞不归
    2019-07-18
    老师 json数据怎么实例化成类对象,麻烦您了

    作者回复: 用 json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

    如 json.loads(jsonstring, object_hook=ClassName)

    
    
  • fengruichao
    2019-05-20
    类外部引用私有属性 不应该 报 AttributeError 错误吗?我看老师的怎么没有报错呢!

    作者回复: 类的私有属性有两种,一种是 一个下划线,一种是两个下划线,比如实例化属性叫做 self._name 和 self.__name ,
    那么一个下划线的私有属性只是告诉使用者,它是私有属性,仍然可以调用更改,如下代码:
    class Player():
        def __init__(self):
            self.__name = 'w'

    user1 = Player()
    print(user1._name)

    如果是两个下划线的私有属性,直接调用的时候就会报AttributeError 错误了,原因是程序自动隐藏了这个属性,把它的名字改为"_类名__属性名"代码如下:
    class Player():
        def __init__(self):
            self.__name = 'w'

    user1 = Player()
    print(user1._Player__name)
    目的就是让调用的人不随意使用两个下划线的私有变量,知道原理就好,不要去调用库里面的两个下划线开始的属性,一般会有封装好的方法供你调用

    
    
  • 永降不息之雨
    2019-03-06

    老师报错咋整呢??

      user1= updateName('wisllon')
    NameError: name 'updateName' is not defined

    作者回复: updateName这个方法在前面定义的大小写是否对应呢?
    这个错误提示的是没有定义

    
    
我们在线,来聊聊吧