类中重载操作符:

__init__       构造函数          创建对象Class()
__del__ 析构函数 释放对象的时候
__add__ "+" X + y
__or__ '|'(按位或) X | y
__repr__ 打印,转换 print x, 'X'
__call__ 函数调用 X()
__getattr__ 属性引用 X.undefined
__getitem__ 索引 x[key],for循环,in测试
__setitem__ 按索引赋值 x[key] = value
__getslice__ 分片 x[low:high]
__len__ 长度 len(x)
__cmp__ 比较 x == y, x < y
__radd__ 右边的操作符'+' Noninstance(非实例) + x

类的序列化

用pickle或shelve模块,可以把类的实例存储到磁盘上,还可以从磁盘上恢复类的实例。

pickle很容易使用:

import pickle
object = SomeClass()
file = open(filename, "w")
pickle.dump(object, file) #保存对象

file = open(filename, "r")
object = pickle.load(file) #恢复对象

shelve和pickle类似,但是它把对象存到按键访问的数据库里:

import shelve
object = SomeClass()
dbase = shelve.open(filename)
dbase['key'] = object #存入
object = dbase['key'] #取回

另外,还有一个cPickle的模块,是使用c语言实现的同pickle的功能,它的接口和pickle一致,但是效果高很多。

类方法,实例方法,类成员变量,静态类成员变量

可以理解为python没有类方法,只有实例方法。也就是说python类里的方法第一个参数必须是self,它没有像c++那样的静态类方法。

类成员变量(实例属性)通过实例名.变量名引用,静态类成员变量(类属性)通过类名.变量名引用。

class SomeClass:
def foo(self):
self.a = 1
SomeClass.b = 2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值