%r用rper()方法处理对象 %s用str()方法处理对象 有些情况下,两者处理的结果是一样的,比如说处理int型对象. 例一: print "I am %d years old." % 22 print "I am %s years old." % 22 print "I am %r years old." % 22 I am 22 years old. I am 22 years old. I am 22 years old. 另外一些情况
# \r 默认表示将输出的内容返回到第一个指针,这样的话,后面的内容会覆盖前面的内容 def main(): for i in range(65,91): s="\r{name:s}".format(name=chr(i)) time.sleep(0.5) sys.stdout.write(s) main() # r 的用法 s="\tt" #如果这样输出的话,则\t会变成制表符号,将有一个table键作用产生 ns=r"\tt" print(s
python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置python的默认编码,一般设置为utf8的编码格式. 在程序中加入以下代码:即可将编码设置为utf8import sysreload(sy
%r是rper()方法处理的对象 %s是str()方法处理的对象 其实有些情况下,两者处理的结果是一样的,比如说处理数据类型为int型对象: 例如1: print ('I am %d year old.' % 22) print ('I am %s year old.' % 22) print ('I am %r year old.' % 22) 返回的结果: I am 22 year old. I am 22 year old. I am 22 year old. 另外的话有一些情况两者就不同