Python面向对象之字段
类成员: 字段,方法,属性
属性是在一个函数方法前面加一个装饰器,伪造成为一个字段,调用的时候不需要加括号()
目的是把一个方法伪造成为一个字段,属性也是方法的一种,对这个方法进行改造就可以以
字段的方法进行访问,访问一个方法是一系列动作返回一个结果,访问属性相当于自身特有
的一个特质而不是一个动作了
vim day7-5.py
#!/usr/bin/python # -*- coding:utf-8 -*- class Person(object): def __init__(self,name,age): self.name = name self.age = age def func(self): return '123' def proporty(): pass @property def att(self): return '123' obj = Person('1',2) print obj.name print obj.func() print obj.att
字段分普通字段和静态字段
vim day7-6.py
#!/usr/bin/python # -*- coding:utf-8 -*- class Province(object): country = "中国" #静态字段,存在内存里面 def __init__(self,name): self.name = name #普通字段,保存在对象里面 shanxi = Province("山西") shangdong = Province("山东") henan = Province("河南") print id(shanxi.country) print id(shangdong.country) print shanxi.name
多个字段相同可以定义静态字段
PS:虽然可以通过shanxi.country访问静态字段但是强烈建议使用类名来访问 Province.country (其他语言只支持这种方式访问)