%s,%d就是占位符。还有%r
只是说明这样的对应:%s-->str();%r-->repr(),什么意思呢?就是说%s调用的是str()函数把对象转化为str类型,而%r是调用了repr()将对象转化为字符串。
>>> import datetime
>>> t = datetime.date.today()>>> tdatetime.date(2016, 8, 5)>>> str(t)'2016-08-05'>>> repr(t)'datetime.date(2016, 8, 5)'
>>> print "My name is {0} and my age is {1}" .format("wo",38)
My name is wo and my age is 38>>> "My website is {website}".format(website="wo.qq.com")'My website is wo.qq.com'>>> myinfo={}>>> myinfo['web']='wo.qq.com'>>> myinfo['name']='nb'>>> myinfo['room']=876>>> myinfo{'web': 'wo.qq.com', 'name': 'nb', 'room': 876}>>> print 'he is in %(room)d' %myinfohe is in 876>>> print 'myname is in %(name)s' %myinfomyname is in nb >>> website='wo.qq.com'>>> for i in website.split('.'):... print i... woqqcom>>> for i in website.split('.'):... print i,... wo qq com
>>> "wo"+".qq.com"
'wo.qq.com'>>> "'wo'+'.qq.com'""'wo'+'.qq.com'">>> eval("'wo'+'.qq.com'")'wo.qq.com'eval()做的事情完全不一样,它会把字符串里面的计算出来
>>> 3+47>>> "3+4"'3+4'>>> eval("3+4")7顺便再说一下另外一个跟eval()有点类似的函数exec(),这个函数专门来执行字符串或文件里面的python语句。>>> exec "print 'woshi'"woshi
python中的print默认是换行的
想要不换行输出有两种办法:stdout法>>> aa=fileinput.input('a.list')>>> for i in aa:... sys.stdout.write(i)... 1 zhou 30 198768543202 wu 39 176548923103 zheng 23 18764583328逗号法>>> f=open('a.list','r')>>> for i in f:... print i,... 1 zhou 30 198768543202 wu 39 176548923103 zheng 23 18764583328wwwwwwwwwwwwwwwwaaaaaabbbbbbcccccccccdddddddddeeeeuuuuu>>>print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。在Python 2.6与Python 2.7里面,以下三种形式是等价的:
print "fish"print ("fish") #注意print后面有个空格print("fish") #print()不能带有任何其它参数 Python文件关闭机制详解http://python.jobbole.com/81477/文件是按流来算的,先读5个字符,再读这一行其余部分,再读剩余的行到一个列表中。然后这个文件就空了。>>> f=open('a.list','r')>>> f<open file 'a.list', mode 'r' at 0x7f5255b09390>>>> f.read(5)'1\tzho'>>> f.readline()'u\t30\t19876854320\n'>>> f.readlines()['2\twu\t39\t17654892310\n', '3\tzheng\t23\t18764583328\n', 'wwwwwwwwwwwwwwww\n', 'aaaaaa\n', 'bbbbbb\n', 'ccccccccc\n', 'ddddddddd\n', 'eeee\n']>>> f.readlines()[]>>> f.readline()''>>> f.read(1)''>>> f.close()>>> f<closed file 'a.list', mode 'r' at 0x7f5255b09390>打开文件的优选最佳实践方式是使用 “with” 语句,不用显式地关闭文件。>>> with open('a.list','r') as f:... for i in f:... print i... 1 zhou 30 198768543202 wu 39 176548923103 zheng 23 18764583328wwwwwwwwwwwwwwwwaaaaaabbbbbbcccccccccdddddddddeeee>>> with open('a.list','a') as f:... f.write('uuuuu\n')... >>>只读方式打开估计不会有太大后果,如果你是写方式打开的,没有关闭,那你这文件实际上是个空文件。要关闭这个动作才把内容真正写到问价里去。你可以做个测试,在写打开的时候拷贝这个文件,打开备份肯定是个空文件。