封装 广义上的封装,它其实是一种面向对象的思想,它能够保护代码;狭义上的封装是面向对象三大特性之一,能把属性和方法都藏起来不让人看见 私有属性 私有属性表示方式即在一个属性名前加上两个双下划线 class Fighter: def __init__(self,name,hp,atk,speed): self.name = name self.__hp = hp #私有属性 变形成self._Fighter__hp self.__atk = atk #私有属性 变形为self._Fighter__…
完善类的内容 示例: #! /usr/bin/env python # coding =utf-8 #通常类名首字母大写 class Person(object): """ This is about a person #类文档 """ def __init__(self,name,lang="python"):#初始化函数,类被实例化的时候,要执行 self.name = name self.lang = lang self…
创建简单的类 新式类和经典类(旧式类) Python 2.x中默认都是经典类,只有显式继承了object才是新式类 Python 3.x中默认都是新式类,经典类被移除,不必显式的继承object 新式类都从object继承,经典类不需要 新式类的MRO(method resolution order 基类搜索顺序)算法采用C3算法广度优先搜索,而旧式类的MRO算法是采用深度优先搜索 新式类相同父类只执行一次构造函数,经典类重复执行多次 截止到python2.1,只存在旧式类.旧式类中,类名和ty…
基本概念 问题空间:问题空间是问题解决者对一个问题所达到的全部认识状态,它是由问题解决者利用问题所包含的信息和已贮存的信息主动的地构成的. 初始状态:一开始时的不完全的信息或令人不满意的状况: 目标状态:你希望获得的信息或状态:     操作:为了从初始状态迈向目标状态,你可能采取的步骤. 对象:对象(object),是面向对象(Object Oriented)中的术语,既表示客观世界问题空间(Namespace)中的某个具体的事物,又表示软件系统解空间中的基本元素. 对象:一个对象具有自己的状…
Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,eval就不管用了,所以eval的重点还是通常用来执行一个字符串表达式,并返回表达式的值. 1. 什么是序列化 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中…
第十四篇(书中 5.4~5.6节 内容) 书中内容: 总结 5.4节 内容重点: 1.如何编写自定义组件? 跟着做: 重点1:如何编写自定义组件? 文中提到了重要的两点. 好,我们来试试看. 第一步,代码关联exml. 查看自定义控件. 另外,书中还提到. 果然,拖出来只是一个矩形. 那我来选择一个皮肤好了. 这样,就完成了,自定义组件搞定了. 至此,5.4节 内容完成. 接下来是 5.5节 的内容. 额.变形的情况,看来只能在下一章介绍了. 虽然我在 第十三篇 有记录,涉及到九宫格的知识,但是…
序列化 1.什么是python序列化? 把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling 序列化就是将python的数据类型转换成字符串 反序列化就是将字符串转换成python的数据类型 2.Python中用于序列化的两个模块 json     用于[字符串]和 [python基本数据类型] 间进行转换 pickle   用于[python特有的类型] 和 [python基本数据类型]间进行转换 Json模块提供了四个功能:dumps.dump.loads.l…
以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-23 21:30 学习笔记 1,包导入是把计算机上的目录变成Python的命名空间.包导入时也可以使用import和from语句.目录路径只能以点号.间隔.例如有这样一个目录结构: dir0/dir1/dir2/mod.py 则导入语句如下: import dir1.dir2.mod 导入时必须遵循如下规则: dir1和dir2目录中必须含有一个__init_…
一.多态 多态 多态:一类事物有多种形态,同一种事物的多种形态,动物分为鸡类,猪类.狗类 例子 import abc class H2o(metaclass=abc.ABCMeta): ​ def __init__(self,name,temperature): self.name = name self.temperature = temperature ​ @abc.abstractmethod def tell_state(self): pass ​ class Water(H2o): ​…
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python语言可以对c程序代码进行调用,以弥补python语言低性能的缺点.当然,它也不是直接就可以调用,需要我们对c代码进行一些中间过程处理,其基本流程如下: 1.创建c程序功能代码------------1.1创建.c源程序文件(py_test1.c) ------------1.2创建.h头文件(py_test1.h)2.python类型适配,包装c代码(写包裹文…