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

Python中类定义的问题?

/ 猿问

Python中类定义的问题?

Python中类定义的问题


查看完整描述

3 回答

?
jeck猫

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
?
绝地无双

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

查看完整回答
反对 回复 2019-06-01
?
茅侃侃

Chain.py是模块(Module),
在代码里定义的Class Chain是在模块里定义的类

一种方法是from Chain import Chain

还有一种方法是用 a = Chain.Chain()
相当于从模块里索引出这个类

两种方法都可以。

查看完整回答
反对 回复 2019-06-01

添加回答

回复

举报

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