Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题.
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。
不加 u ,中文就不能正常显示
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。
不加 u ,中文就不能正常显示
2015-08-23
在字符串前面加个前缀 r ,表示这是一个 raw 字符串,里面的字符就不需要转义了.但是r'...'表示法不能表示多行字符串,也不能表示包含'和 "的字符串.
如果要表示多行字符串,可以用'''...'''表示:
'''Line 1
Line 2
Line 3'''
如果要表示多行字符串,可以用'''...'''表示:
'''Line 1
Line 2
Line 3'''
2015-08-23
t [x*100+y*10+z for x in range(1, 10) for y in range(0, 10) for z in range(1, 10) if x == z]
2015-08-23
tds = ['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()]
2015-08-23
items() 方法把dict对象转换成了包含tuple的list,我们对这个list进行迭代,可以同时获得key和value,items() 也有一个对应的 iteritems(),iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存。
2015-08-23
1. values() 方法实际上把一个 dict 转换成了包含 value 的list。
2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。
2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。
2015-08-23
def average(*args):
sum=0.0
if not args:
return 0.0
else:
for x in args:
sum+=x
return sum/len(args)
print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)
sum=0.0
if not args:
return 0.0
else:
for x in args:
sum+=x
return sum/len(args)
print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)
2015-08-23
def greet(s='world'):
print 'hello',',',s ,'.'
greet()
greet('Bart')
print 'hello',',',s ,'.'
greet()
greet('Bart')
2015-08-22
Python会把0,空字符串和None看成false,把其他数值和非空字符串看成true。因此a被看成了true,‘world’被看成了true,b被看成了false,而根据“短路计算”,第二行中,运行到a时结果便以确定,因此不再往后面执行,进而输出了hello, python。第四行中,因为b为false,所以会运行到后面的‘world’,输出了hello, world
2015-08-22