Python练习-json操作
本部门学习Python的json转换操作。跟之前学的通过bytes的序列化接口非常类似。只是在类转换的时候略有不同。 一、dict对象转换 对于dict对象,可直接进行通过json.dumps/json.dump接口转换字符串或保存到文件中。 d = dict(name='Bob', age=18) print(json.dumps(d)) json_file_path = os.path...
本部门学习Python的json转换操作。跟之前学的通过bytes的序列化接口非常类似。只是在类转换的时候略有不同。 一、dict对象转换 对于dict对象,可直接进行通过json.dumps/json.dump接口转换字符串或保存到文件中。 d = dict(name='Bob', age=18) print(json.dumps(d)) json_file_path = os.path...
本部分学习Python序列化相关操作。序列化主要是为了将内存中的对象持久化到磁盘(文件)以便于后续从文件中恢复对象。可用于对象持久化和网络传输。 本文主要学习字节流序列化操作。Python中用字节流序列化对象用pickle模块。 一、对象转字节(序列化) 通过pickle.dumps()方法,可以直接生成序列化后的字节流,如: import json import os.path imp...
本部分学习Python的IO操作,包括StringIO、BytesIO以及文件(夹)操作3个部分。 一、StringIO StringIO用于在内存中生成并操作字符串。操作模式和之前练习的文件内存操作类似,是通过IO流的模式进行操作。代码如下: # 1. string io import os from datetime import datetime from io import S...
本部门练习Python文件读写操作。与Java类似,需要注意文件打开后的关闭操作。 # 文件操作 import os # 因为一定要关闭文件流,所以写在finally里 try: file = open('.\\resources\\file_demo') print(file.read()) finally: if file: file.clos...
本部分学习Python代码调试和测试方法。可用的代码调试方法有: print打印 logging记录 pdb调试/pdb.settrace() unittest单元测试等。 样例代码如下: # 程序调试 # 1.用断言 import pdb def div(s): n = int(s) assert n != 0, "n is zero" return 10 ...
本部分练习python中的异常处理,相当于Java中的try…catch…finally,不同的是: 1.Python中的语句是try….except….finally 2.Python中有try….except…else…finally语句,期中else语句是当没有异常捕获时执行; 3.Python中主动抛出异常的语句时raise。 # 1.try except 捕获error imp...
本部分学习用Type和metaClass动态创建类,添加属性和方法。 # 使用元类 type 可以检查对象类型,也可以动态创建一个新类 class Student(object): def __init__(self, name, gender): self.name = name self.gender = gender def do_s...
本部分学习Python中定制类和枚举部分。定制类其实就是类似Java中复写String,HashCode等方法,不过更灵活,可覆盖的方法更多。 # 1. 定制类 class Student(): def __init__(self, name, age): self.__name = name self.__age = age @prope...
本部分练习Python高级面向对象内容,主要学习__slots__和@property相关用法,详见代码: # 1. 使用__slots__,限制允许动态绑定到实例上的属性或方法 from types import MethodType class Student(): # 使用__slot__ 限制绑定属性,只允许绑定如下属性或者方法。 __slots__ = ("a...
本部分练习Python面像对象编程基础知识。练习代码如下: python面像对象学习相关代码 import types from demo.module.module import Student import demo.module.module as im_module # 对象类型 print(type(123)) print(type("123")) print(type(S...