得到当前系统的编码格式:sys.getdefaultencoding()
issubclass(int, object); #int是否是object的子类,True/False
python没有字符类型,再短的文本也是字符串,
在整个python进程运行期间生成的所有字符串值都会缓冲于虚拟机的字符串池中,也就是说两个值相同的python字符串,其实是指向同一个值。可以使用id()来验证字符串地址,python通常不会回收字符串池的空间,所有运行时生成的字符串对象都会保存到进程结束,所以,在拼接字符串时,使用大量的连加操作会生成很多的中间字符串,这些对象可能永远都不会被调用,因此,如果需要连接若干字符串,及恶意使用join来连接‘’.join([‘1’,’2’]),join函数会一次性生成结果字符串,不会生成多余的中间变量
str会将双字节字符视为两个单字节字符,而unicode会将其作为一个完整的字符。
>
s = ‘中文’
len(s) #4
for c in s:
print c
Ö
Ð
Î
Ä
us = u’中文’
len(us) #2
for c in us:
print c
中
文python一直没有加入c中很重要的三元运算符?:,之前的版本中通过一个逻辑运算组合and or来实现,自动2.5版本之后加入了一个专门的逻辑分支表达式 print ‘123’ if x % 2 == 0 else ‘222’逻辑条件在if和else之间
xrange在使用上和range基本没有区别,唯一的区别是他不返回list,而是返回一个迭代器对象。
print xrange(10) # xrange(10)
print range(10) #[0,1,2,3,4,5,6,7,8,9]
xrange不反悔完整的list,而是逐步迭代,所以在生成数列的时候回避range节省内存,通常大数列枚举使用xrange更有效率
Beginning Python Chapter9
最新推荐文章于 2024-07-04 22:31:36 发布