Python 面相对象 —— 类的三大成员
16lz
2021-01-22
python 面向对象(进阶篇)
类的成员可以分为三大类:
- 字段、
- 普通字段;
- 静态字段:
- 方法、
- 属性;
1. 字段
字段包括:普通字段和静态字段,二者在定义和使用中有所区别,最本质的区别在于,二者在内存中的位置不同。
- 普通字段:属于对象,也即通过对象访问;
- 静态字段:属于类,可以通过类访问,也可通过对象访问;
class Province:
# 静态字段
country = '中国'
def __init__(self, name):
# 普通字段
self.name = name
2. 方法
方法包括:普通方法、静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同。
- 普通方法:由对象调用;至少一个self参数;执行普通方法时,自动将调用该方法的对象赋值给self;
- 类方法:由类调用; 至少一个cls参数;执行类方法时,自动将调用该方法的类复制给cls;
- 静态方法:由类调用;无默认参数;
class Foo:
def __init__(self, name):
self.name = name
def ord_func(self):
""" 定义普通方法,至少有一个self参数 """
# print self.name
print '普通方法'
@classmethod
def class_func(cls):
""" 定义类方法,至少有一个cls参数 """
print '类方法'
@staticmethod
def static_func():
""" 定义静态方法 ,无默认参数"""
print '静态方法'
# 调用普通方法
f = Foo()
f.ord_func()
# 调用类方法
Foo.class_func()
# 调用静态方法
Foo.static_func()
更多相关文章
- 关于Python的属性、参数、方法的解释、区别
- 集成erlang和python的最佳方法
- python中查看变量内存地址的方法
- RHEL6误安装RHEL7的包导致glibc被升级后系统崩溃处理方法
- Linux selinux关闭方法和防火墙关闭方法
- Linux系统下Tar文件安装方法
- linux shell脚本编程笔记(四): 获取字符串长度的七种方法
- linux 的终端字体色和背景色的修改方法(三)
- 编译android源码时,jack server 出现out of memory error 错误的