03 2020 档案
摘要:object._getattr_(self, name) __gettattr__:如果某个类定义了这个方法,并且在该类的对象的字典中又找不到相应的属性时候,那么该方法会被调用。 实例instance通过instance.name访问属性name,只有当属性name没有在实例的__dict__或它构
阅读全文
摘要:一、特性(property) 1 什么是特性property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 1 import math 2 class Circle: 3 def __init__(self,radius): #圆的半径radius 4 self.rad
阅读全文
摘要:一、什么是封装 在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其含义是其他程序无法调用。 要了解封装,离不开“私有化”,就是将类或者是函数中的某些属性限制在某个区域之内,外部无法调用。 二、为什么要封装 封装数据的主要原因是:保护隐私
阅读全文
摘要:1 什么是特性property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 1 import math 2 class Circle: 3 def __init__(self,radius): #圆的半径radius 4 self.radius=radius 5 6
阅读全文
摘要:在传统的递归中,典型的模式是,你执行第一个递归调用,然后接着调用下一个递归来计算结果。这种方式中途你是得不到计算结果,知道所有的递归调用都返回。 这样虽然很大程度上简洁了代码编写,但是让人很难它跟高效联系起来。因为随着递归的深入,之前的一些变量需要分配堆栈来保存。 尾递归相对传统递归,其是一种特例。
阅读全文
摘要:我想把Python中的递归作为一个专题讨论一下。我在学习的时候,尝试使用“Python递归”作为关键词,在Google和百度中搜索,发现结果大部分是对某个具体例子的递归应用讨论,而对我这样的小白来说,切入点有点高。而我现在需要做的,是从基础概念开始。 想到讨论递归问题,是因为那个著名的“字典序”问题
阅读全文
摘要:在Python 3版本中,把'xxx'和u'xxx'统一成Unicode编码,即写不写前缀u都是一样的。 在Python 3版本中,所有的字符串都是使用Unicode编码的字符串序列。 Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。文本总是 Unicode,由 str 类
阅读全文
摘要:因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是
阅读全文