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 (其他语言只支持这种方式访问)

原文地址:https://www.cnblogs.com/minseo/p/6903032.html