廖雪峰Python学习笔记——序列化】的更多相关文章

序列化 定义:程序运行时所有变量都存在内存中,把变量从内存中变成可存储或可传输的过程称为序列化pickling,在其他语言中称为serialization,marshalling,flattening等等,都是一个意思. 作用:序列化后可把序列化的内容存到磁盘,或者通过网络传输到其他机器上. 实现方式:cPickle和pickle,前者是c语言写的速度更快. #用pickle.dumps()把任意对象序列化成一个str try: import cPickle as pickle except I…
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…
在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: d = dict(name='Bob', age=20, score=88) 可以随时修改变量,比如把name改成'Bill',但是一旦程序结束,变量所占用的内存就被操作系统全部回收.如果没有把修改后的'Bill'存储到磁盘上,下次重新运行程序,变量又被初始化为'Bob'. 我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshal…
字符串 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'可以写…
一.创建版本库 ①初始化一个Git仓库:git init ②添加文件到Git仓库:1.git add<file> ;  2.git commit 二.时光机穿梭 ①查看工作区状态,文件是否被修改过:git status ②查看修改的内容:git diff 1.版本回退 ①HEAD:当前版本 ②HEAD^:上个版本 ③定位版本:git reset --hard commit_id ④git log:穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本 ⑤git reflog:要重返…
JavaScript中,定义函数的方式如下: function abs(x) { if (x >= 0) { return x; } else { return -x; } } 上述abs()函数的定义如下: function指出这是一个函数定义: abs是函数的名称: (x)括号内列出函数的参数,多个参数以,分隔: { ... }之间的代码是函数体,可以包含若干语句,甚至可以没有任何语句. 如果没有return语句,函数执行完毕后也会返回结果,只是结果为undefined. 第二种定义函数的方…
条件判断  固定格式:if () { ... } else { ... } ,else可选 1.多行条件判断,通常把else if连写在一起,来增加可读性 例子: var age = 3; if (age >= 18) { alert('adult'); } else if (age >= 6) { alert('teenager'); } else { alert('kid'); } 2.if...else...语句的执行特点是二选一,在多个if...else...语句中,如果某个条件成立,…
先睹为快 alert('我要学JavaScript!'); Run: 基本语法: 1.每个语句以;结束,不强制 2.语句块用{...} 3.//单行注释,/*...*/ 多行注释 数据类型: 1.不区分整数,浮点数,统一用number~ 以下也属于number类型~ NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity 2.字…