面向对象中成员
字段;
静态字段保存在类中;静态字段在代码加载时被创建
普通字段保存在对象中;
规则:
普通字段只能用对象访问;
静态字段用类去访问(万不得已的时候可以使用对象访问)
#!/usr/bin/env python # _*_ coding:utf-8 _*_ # Author: enzhi.wang class Foo: # 静态字段 countries = "中国" def __init__(self,name): #普通字段(动态字段) self.name = name def show(self): print(self.name) return print(hn.name) print(Foo.countries) print(hn.countries)
方法
所有的方法属于类
1、普通方法:至少有一个self,通过对象执行
2、静态方法:任意参数,由类去执行(也可以用对象执行)
3、类方法:至少有一个cls,由类执行(也可以用对象执行)
class Foo:
countries = "中国"
def __init__(self,name):
self.name = name
# 普通方法,由对象去调用执行(方法属于类)
def show(self):
print(self.name)
return
@staticmethod
def f1():
#静态方法,由类调用执行。
pass
@classmethod
def f2(cls):
#类方法,调用是自动把类名传递给cls,只能访问类变量,不能访问实例变量
print(cls)
cls 是类名,()创建对象
属性
具有方法的写作形式,具有字典的访问形式
@property 把一个方法,变为一个静态属性