Ⅰ python中属性和方法有什么区别
属性是变量,方法是函数。
Ⅱ Python类中属性和构造方法的区别
属性是固有的性质,比如人的身高、性别 方法是可以进行的操作,比如人走路、骑车、打架、叫喊 属性和方法放在一起,就可以描述类了
Ⅲ python类中属性方法的事件
1普通方法:直接用self调用的方法。
2私有方法:__函数名,只能在类中被调用的方法。
3属性方法:@property,将方法伪装成为属性,让代码看起来更合理。
4特殊方法(双下划线方法):以__init__为例,是用来封装实例化对象的属性,只要是实例化对象就一定会执行__init方法,如果对象子类中没有则会寻找父类(超类),如果父类(超类)也没有,则直接继承object(python 3.x)类,执行类中的__init__方法。
5类方法:通过类名的调用去操作公共模板中的属性和方法。
6静态方法:不用传入类空间、对象的方法, 作用是保证代码的一致性,规范性,可以完全独立类外的一个方法,但是为了代码的一致性统一的放到某个模块(py文件)中。
Ⅳ python类的属性有哪几种如何访问它们
属性的访问机制
一般情况下,属性访问的默认行为是从对象的字典中获取,并当获取不到时会沿着一定的查找链进行查找。例如a.x的查找链就是,从a.__dict__['x'],然后是type(a).__dict__['x'],再通过type(a)的基类开始查找。
若查找链都获取不到属性,则抛出AttributeError异常。
一、__getattr__方法
这个方法是当对象的属性不存在是调用。如果通过正常的机制能找到对象属性的话,不会调用__getattr__方法。
classA:
a=1
def__getattr__(self,item):
print('__getattr__call')
returnitem
t=A()
print(t.a)
print(t.b)
#output
1
__getattr__call
b
二、__getattribute__方法
这个方法会被无条件调用。不管属性存不存在。如果类中还定义了__getattr__,则不会调用__getattr__()方法,除非在__getattribute__方法中显示调用__getattr__()或者抛出了AttributeError。
classA:
a=1
def__getattribute__(self,item):
print('__getattribute__call')
raiseAttributeError
def__getattr__(self,item):
print('__getattr__call')
returnitem
t=A()
print(t.a)
print(t.b)
所以一般情况下,为了保留__getattr__的作用,__getattribute__()方法中一般返回父类的同名方法:
def__getattribute__(self,item):
returnobject.__getattribute__(self,item)
使用基类的方法来获取属性能避免在方法中出现无限递归的情况。
三、__get__方法
这个方法比较简单说明,它与前面的关系不大。
如果一个类中定义了__get__(),__set__()或__delete__()中的任何方法。则这个类的对象称为描述符。
classDescri(object):
def__get__(self,obj,type=None):
print("callget")
def__set__(self,obj,value):
print("callset")
classA(object):
x=Descri()
a=A()
a.__dict__['x']=1#不会调用__get__
a.x#调用__get__
如果查找的属性是在描述符对象中,则这个描述符会覆盖上文说的属性访问机制,体现在查找链的不同,而这个行文也会因为调用的不同而稍有不一样:
其他情况见文末参考资料的文档
四、__getitem__方法
如果仅仅想要对象能够通过[]获取对象属性可以简单的:
总结
当这几个方法同时出现可能就会扰乱你了。我在网上看到一份示例还不错,稍微改了下:
Ⅳ 请简单的说一下python类的属性和方法分别代表什么
代表类的共同属性和自己独特的属性!
Ⅵ python类中的 方法 属性分别什么意思
很抽象 没办法回答
属性:就是类对象的属性,存储某个值 这个值的代号可以称为类的属性
方法:把每一项类中所有的功能封装起来称为方法,一般方法里的内容就是方法的执行过程。
举例: 比如类表示的是People 也就是人
人的类中会有一些属性 这些属性大概是 身高、体重、姓名等等
那么方法比如是 跑、吃、等等
ClassPeople():
def__init__(self,name):
self.name=name
self.height=0
#比如说跑了一次之后身高就增长了1个单位
defrun():
print"开始奔跑"
self.height+=1
print"奔跑结束"
上面的例子 run就是方法 ;name 和 height就是属性
run的方法执行过程就是跑完之后 height就加1
不知道这样讲你能明白吗
Ⅶ python 里的属性是什么意思
你说的是对象吧
Python是面向对象的语言,在python中一切皆对象
对象就是你要脚本或程序中的变量、类、函数。。。
每个对象有自己的属性,比如一个函数有自己的形参、逻辑运算之类的。
类这个概念和C中的结构体差不多,就是定义一组对象,有一个固定的属性,然后将类实例化,就是继承这个类的所有属性。
方法其实就是函数,你处理对象用的手段。
Ⅷ python中类的属性和方法的区别
属性是固有的性质,比如人的身高、性别
方法是可以进行的操作,比如人走路、骑车、打架、叫喊
属性和方法放在一起,就可以描述类了