类型校验
不要使用type进行类型校验
def isAString(st): return isinstance(st,basestring)print isAString(u'速度')
basestring可以校验unicode,type(u'')返回的是unicode类型不是str
文本对齐
print u'中间'.center(20,u'+')print u'左面'.ljust(20,u'+')print u'后面'.rjust(20)
结果:
+++++++++中间+++++++++
左面++++++++++++++++++ 后面如无u''参数,直接使用空格作为参数,也可使用’’作为参数,有的编辑器会出现警告
去空格,或前后的字符
x='qwe asd zxc'print x.strip('qw') #无参数的时候就是去空格print x.lstrip('qw')print x.rstrip('xc')
结果:
e asd zxc
e asd zxc qwe asd z字符串拼合
print ''.join('qwe') #使用join可大幅度的提高效率,%s拼合也不错,适合输出,大量连接时,不要使用’+’
字符反转
a='qwe asd zxc'print a[::-1] #直接反转每个字符#下面是反转每个单词b=a.split() #以空格切割,b是个列表b.reverse() #反转,他是无返回值的,仅仅操作了bprint ' '.join(b) #使用空格连接bprint ' '.join(a.split()[::-1]) #当然,也可以一行就实现反转print ' '.join(reversed(a.split())) #使用reversed内建函数代替[::-1]提高可读性
结果:
cxz dsa ewq
zxc asd qwe zxc asd qwe zxc asd qwe校验a中的字符是否在b中出现
def conAny(a,b): for c in a: if c in b: return True return Falsea='qwe asd zxc'b='aa'print conAny(a,b)