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()

更多相关文章

  1. 关于Python的属性、参数、方法的解释、区别
  2. 集成erlang和python的最佳方法
  3. python中查看变量内存地址的方法
  4. RHEL6误安装RHEL7的包导致glibc被升级后系统崩溃处理方法
  5. Linux selinux关闭方法和防火墙关闭方法
  6. Linux系统下Tar文件安装方法
  7. linux shell脚本编程笔记(四): 获取字符串长度的七种方法
  8. linux 的终端字体色和背景色的修改方法(三)
  9. 编译android源码时,jack server 出现out of memory error 错误的

随机推荐

  1. Android:获取APK签名信息
  2. Android studio 3.1.4 无法获取pom文件
  3. Android NDK开发之Android.mk文件
  4. Android(安卓)progressBar代码设置进度条
  5. Android 单独抽取 WebRtc-AGC(音频增益) 模
  6. 【转】Android Makefile中是 如何识别 TA
  7. 安卓开发入门学习笔记
  8. Android知识体系总结之Android部分View绘
  9. 关于 android RIL 调试
  10. Android中ExpandableListView控件基本使