Class MyList(list): __metaclass__ = ListMetaclass #它表示在创建MyList这个类时,必须通过 ListMetaclass这个元类的LIstMetaclass.__new__()方法来创建,然后你可以再添加新的方法 1 创建实例的时候就会调用__init__ 2 python中如果子类和父类拥有相同的方法,则通过子类调用该方法时只会调用子类的方法,而覆盖父类的方法.如果我们需要append地式地继承父类这个方法,则需要通过在子类__init__中…
元类(MetaClasses) 元类提供了一个改变Python类行为的有效方式. 元类的定义是“一个类的类”.任何实例是它自己的类都是元类. class demo(object): pass obj = demo() print "Class of obj is {0}".format(obj.__class__) print "Class of obj is {0}".format(demo.__class__) # Class of obj is <cla…
序列化 定义:程序运行时所有变量都存在内存中,把变量从内存中变成可存储或可传输的过程称为序列化pickling,在其他语言中称为serialization,marshalling,flattening等等,都是一个意思. 作用:序列化后可把序列化的内容存到磁盘,或者通过网络传输到其他机器上. 实现方式:cPickle和pickle,前者是c语言写的速度更快. #用pickle.dumps()把任意对象序列化成一个str try: import cPickle as pickle except I…
Python学习:类和实例 本文作者: 玄魂工作室--热热的蚂蚁 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规范,从这个角度来看,在以后我们学习设计模式的时候,对设计模式的理解会很有帮助.其次,语言中类是抽象的模板,用来描述具有相同属性和方法的对象的集合,比如Animal类.而实例是根据类创建出来的一个个具体的"对象",每个对象都拥有相同的方法,但各自的数据可能不同. Python使用class关…
类和实例 类是对象创建实例的模板,而实例则是对象的实体.类使用class关键字定义: class MyClass:    pass python中创建实例直接使用工厂函数(类名加上一对括号),和其他的语言使用new关键字有所不同: my_obj = MyClass() 一般来说,类名以大写字母开头,而对象名则以小写字母或者下划线开头. 实例化对象时,会执行类定义中的__init__()方法,该方法执行时包含实例的各种初始化操作. 方法和函数的区别:方法由对象调用,在方法定义中,第一个参数必须是显…
1.题目:输出 9*9 乘法口诀表.     程序分析:分行与列考虑,共9行9列,i控制行,j控制列     代码: for i in range(1,10): print ('\r') for j in range(1,i+1): print "%d*%d=%d" %(i,j,i*j) , 2.题目:有两个磁盘文件A和B,各存放一行字母,把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中 代码: fo=open("/Users/chichi/Document…
类和对象 1. 一个例子 # 对象 = 属性 + 方法 # Python 中的类名称约定首字母大写,而 Python 函数名首字母小写 class Turtle: #属性 color = 'green' weight = 10 legs = 4 shell = True mouth = '大嘴' # 方法 # 这里的 self 表示 this 指针 def climb(self): print("我正在很努力地向前爬") def run(self): print("我正在飞快…
# 类是为了代码重用 class First: #类 pass #实例 = 类名() obj = First() # 类是一种产生实例的工厂# 类和模块的差异在于,内存中特定的模块只有一个实例(所以我们要重载模块取得新代码),对于类而言,制作多少实例都可以. class Person: pass Person.name = 'Bob' Person.age = 18 print(Person.name) # >>Bob print(Person.age) # >>18 # 再创建两…
字符串 1.和python一样,也是用' '或" "括起来的字符表示.但多行字符串是用反引号(esc下键)``,与之相对的是Python用''' '''三引号表示: 2.转义字符:\ 3.换行符:\n 4.制表符:\t 5.多个字符串用 + 连接 6.模板字符串: ${变量}  例子: var name = '小明'; var age = 20; var message = `你好, ${name}, 你今年${age}岁了!`; alert(message); 7.操作字符串  字符…
列表classmates = ['Michael', 'Bob', 'Tracy']classmates.append('tom')print classmates# classmates.insert(7,'tom1')classmates.pop(0)classmates[0]='mark'print classmates >>> p = ['asp', 'php']>>> s = ['python', 'java', p, 'scheme']要拿到'php'可以写…