python入门(2)
来源:互联网 发布:windows一直在准备配置 编辑:程序博客网 时间:2024/06/10 07:22
基础内容:
为什么‘+’可以连接两个字符串?
运算符重载。具体说来,每个变量在Python中都是以对象形式存在的,即都是继承于Object。而Object则具有object._add_(self,other)这样一个方法。每当处理x+y这一个表达式的时候,将会调用x._add_(y)。另外为了交换律,还有_radd_方法,也就是用来处理y+x,这样会调用y._radd_(x)。所以我们也可以自己重载+,比如:
class Free:
def __init__(self, info):
self.info = info
def __add__(self, moreinfo):
return str(self) + moreinfo
def __radd__(self, moreinfo):
return moreinfo + str(self)
def __str__(self):
return self.infoFree这个Class,便得以直接成为+操作符的左/右参数。
正如richardzhiming所说,a+b是低效的,这是基于大量的+操作所讨论的。这是因为String是一个不可变的对象,你并不是真的把字符串b加到字符串a这个对象后面,而是需要创建一个新的对象,然后把a和b
copy进去。因此当你大量进行+之时,你会创建许许多多临时的String对象。”.join(str_list)更好,则是因为,字符串的创建和拷贝是一次完成,而不需要创建很多String对象。
python中的转义序列:
Tips:
%r 可以显示变量的原始数据(raw data)。
- python 入门(2)
- Python入门(2)
- python入门(2)
- python入门笔记(2)
- Python入门学习(2)
- Python 入门(2)--数据类型和变量
- Python快速入门(2)练习题
- 菜鸟python入门爬虫手记(2)
- Python爬虫----爬虫入门(2)
- 入门python-异常(2)
- python opencv 入门 加载视频 (2)
- python基础入门学习笔记(2)
- Python爬虫入门2--请求(HTTP)
- python快速入门(2)List
- Python入门2
- python入门2
- Python基础入门(2)
- python入门篇-2
- 利用weka.jar算法改进
- 20个高级Java面试题汇总
- Chrome隐私设置错误,您的链接不是私密连接
- LDA and QDA
- 用java以正确的姿势刷CSP
- python入门(2)
- C++关键字之explicit
- 真实实践中的MeritMS与Project Wise的校审流程对比
- 超详细的系统时钟和定时器原理解析
- 【拜小白opencv】43-形态学滤波——综合示例【腐蚀、膨胀、开运算、闭运算、顶帽、黑帽 形态学梯度、内部梯度、外部梯度、X方向梯度、Y方向梯度】
- Bzoj3998 弦论
- JVM--详解类加载机制
- Android混淆机制
- 返回栈上的对象、对象的引用及各构造器发生的时机