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

Python中类定义的问题?

Python中类定义的问题?

Python中类定义的问题
查看完整描述

3 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

A1:参数self代表实例本身,例如: A=FooClass(),那么self就代表A,类函数中,self是必需的
A2:__class__获得已知对象的类,任何对象都有这个属性,__name__取得类名

A3:version是类成员变量,实例化后是实例变量,类函数获得实例变量需要带上实例本身,这个其实我也很难解释得很透彻,可以大概讲一下

version = 0.1 这里在实例化之前就已经生成了
__init__(self,nm='Louis wu'):这里的nm变量是在实例化的时候生成的

在类方法中访问version和nm的方式是一样的,self.version和self.nm
但是version在类没有实例化的情况下也是可以访问的,因为它在实例化之前就已经声明了
你可以尝试

print FooClass.version 是可以得到version的值的
但是FooClass.nm是不可以的,必须是实例化之后才生成这个变量,FooClass().nm就可以访问到了

查看完整回答
反对 回复 2019-06-01
?
绝地无双

TA贡献1946条经验 获得超4个赞

1.Python是一门动态语言,任何实体都可以动态地添加或删除属性。
2.一个类定义了一个作用域。
3.类实例也引入了一个作用域,这与相应类定义的作用域不同。
4.在类实例中查找属性的时候,首先在实例自己的作用域中查找,如果没有找到,则再在类定义的作用域中查找。
5.在对类实例属性进行赋值的时候,实际上会在类实例定义的作用域中添加一个属性(如果还不存在的话),并不会影响到相应类中定义的同名属性。

查看完整回答
反对 回复 2019-06-01
  • 3 回答
  • 0 关注
  • 1460 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信