摘要: 目的不必多说:提高项目可读性、可维护性 软件目录结构示例: Game/ |-- bin/ | |-- game.py | |-- core/ | |-- tests/ | | |-- __init__.py | | |-- test_main.py | | | |-- __init__.py | | 阅读全文
posted @ 2020-06-10 23:23 NorthFeng 阅读(446) 评论(1) 推荐(0)
摘要: 序列化是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态(存在内存中)写入到临时或持久性存储区(硬盘)。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。 实现对象的序列化和反序列化在python中有两种方式:json 和 pickle。 其中json 阅读全文
posted @ 2020-06-10 22:58 NorthFeng 阅读(369) 评论(0) 推荐(0)
摘要: 区分:迭代器Iterator和可迭代对象Iterable 1、可迭代对象Iterable:可以直接作用于for循环的对象统称为可迭代对象 1)可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list、tuple、dict、set、str等; 一类是生成器generator,包括 阅读全文
posted @ 2020-06-10 21:52 NorthFeng 阅读(265) 评论(0) 推荐(0)
摘要: 学习生成器之前,首先需要认识列表生成式,直奔主题。 1、简单列表生成式示例: 1 b = [ i for i in range(10)] 2 print(b) 3 4 >>> 5 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 看样子好像很NB的样子,其实它等价于: 1 c = [] 阅读全文
posted @ 2020-06-09 23:14 NorthFeng 阅读(289) 评论(0) 推荐(0)
摘要: 1、装饰器: 定义:本质是函数,用于装饰其他函数:就是为其他函数添加附加功能。 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 2、实现装饰器知识储备: 1). 函数即“变量” #大楼房间-门牌号 -->内存释放机制 2). 高阶函数 a: 把一个函数名当作实参传给另一个 阅读全文
posted @ 2020-06-09 21:45 NorthFeng 阅读(240) 评论(0) 推荐(0)
摘要: 1 # -*- coding:utf-8 -*- 2 3 data = { 4 "腾讯":{ 5 "LOL":{ 6 "上单":["诺手","剑姬","蛮王"], 7 "打野":["男枪","盲僧","卡兹克"] 8 }, 9 "CF":{ 10 "步枪":[], 11 "手枪":[], 12 "机 阅读全文
posted @ 2020-05-24 13:45 NorthFeng 阅读(335) 评论(0) 推荐(0)
摘要: 1 # -*- coding:gbk -*- 2 # 即使设置文件编码为gbk,下方定义的字符串s1依旧为unicode 3 4 # 获取默认编码格式 5 import sys 6 print(sys.getdefaultencoding()) 7 # >>> utf-8 8 9 # 编码转换 10 阅读全文
posted @ 2020-05-24 13:44 NorthFeng 阅读(345) 评论(0) 推荐(0)
摘要: 函数式编程与过程式编程打的区分:过程是没有返回值的函数,过程在python3中也有返回值,为None 函数的作用:代码复用、保持代码的一致性、使代码更容易扩展 过程的定义与调用: 1 def func2(): 2 """testing2""" # 过程的描述 3 print("in the func 阅读全文
posted @ 2020-05-24 13:43 NorthFeng 阅读(463) 评论(0) 推荐(0)
摘要: 函数的一般参数(参数个数可确定): 1 # x、y、z 为形参 2 def func1(x, y, z): 3 print("x=%s" % x) 4 print("y=%s" % y) 5 print("z=%s" % z) 6 return 0 7 # 1、2、3为实参(此处的1、2、3为位置参 阅读全文
posted @ 2020-05-24 13:42 NorthFeng 阅读(303) 评论(0) 推荐(0)
摘要: 局部变量仅在其作用域内生效,全局变量在任何地方都生效 1 name = "dog" #全局变量 2 sex = "男" 3 def change_name(name): 4 print("befor change", name) # befor change dog 5 name = "Tigger 阅读全文
posted @ 2020-05-24 13:41 NorthFeng 阅读(270) 评论(0) 推荐(0)