%s,%d就是占位符。还有%r

只是说明这样的对应:%s-->str();%r-->repr(),什么意思呢?就是说%s调用的是str()函数把对象转化为str类型,而%r是调用了repr()将对象转化为字符串。

>>> import datetime
>>> t = datetime.date.today()
>>> t
datetime.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' %myinfo
he is in 876
>>> print 'myname is in %(name)s' %myinfo
myname is in nb

>>> website='wo.qq.com'
>>> for i in website.split('.'):
...  print i
...
wo
qq
com

>>> 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+4
7
>>> "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    19876854320
2    wu    39    17654892310
3    zheng    23    18764583328

逗号法
>>> f=open('a.list','r')
>>> for i in f:
...  print i,
...
1    zhou    30    19876854320
2    wu    39    17654892310
3    zheng    23    18764583328
wwwwwwwwwwwwwwww
aaaaaa
bbbbbb
ccccccccc
ddddddddd
eeee
uuuuu
>>>

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    19876854320

2    wu    39    17654892310

3    zheng    23    18764583328

wwwwwwwwwwwwwwww

aaaaaa

bbbbbb

ccccccccc

ddddddddd

eeee

>>> with open('a.list','a') as f:
...  f.write('uuuuu\n')
...
>>>

只读方式打开估计不会有太大后果,如果你是写方式打开的,没有关闭,那你这文件实际上是个空文件。要关闭这个动作才把内容真正写到问价里去。你可以做个测试,在写打开的时候拷贝这个文件,打开备份肯定是个空文件。

python-print的更多相关文章

  1. python print输出unicode字符

    命令行提示符下,python print输出unicode字符时出现以下 UnicodeEncodeError: 'gbk' codec can't encode character '\u30fb ...

  2. Python print语句

    1. 输出字符串 >>> strHello = 'Hello World' >>> print (strHello) Hello World 2. 格式化输出整数 ...

  3. Python print函数用法,print 格式化输出

    原文地址:http://blog.csdn.net/zanfeng/article/details/52164124 使用print输出各型的 字符串 整数 浮点数 出度及精度控制 strHello ...

  4. python print format

    python print format %o —— oct 八进制 %d —— dec 十进制 %x —— hex 十六进制 1 >>> print('%o' % 20) 2 24 ...

  5. python print格式化输出。

    python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ...

  6. Python print() 函数

    Python print() 函数  Python 内置函数 描述 print() 方法用于打印输出,最常见的一个函数. print 在 Python3.x 是一个函数,但在 Python2.x 版本 ...

  7. [转载]Python print函数用法,print 格式化输出

    使用print输出各型的 字符串 整数 浮点数 出度及精度控制 strHello = 'Hello Python' print strHello #输出结果:Hello Python #直接出字符串 ...

  8. 解决Python print输出不换行没空格的问题

    今天在做编程题的时候发现Python的print输出默认换行输出,并且输出后有空格. 题目要求输出 122 而我的输出是: 1 2 2 于是我百度查到取消print自动换行的方法:就是在print的值 ...

  9. python print (x,end = '') 意思作用

    for x in range(10) python print(x)换行输出 for x in range(10) python print (x,end = '')  不换行输出

  10. python print 进度条的例子

    def progress(width, percent): print "%s %d%%\r" % (('%%-%ds' % width) % (width * percent / ...

随机推荐

  1. 2014年7月份第2周51Aspx源码发布详情

      体育馆综合会员管理系统源码  2014-7-11 [VS2010]功能介绍:本系统适用于羽毛球馆,台球馆,乒乓球馆,棋牌室,篮球馆等综合体育馆,可同时使用.本系统功能非常强大,包含体育馆内餐厅,超 ...

  2. 《1---关于解决MySQL在控制台插入中文乱码问题》

    说明:以下所有操作都是基于我个人的电脑及示例,读者可以参考我这个解决过程,去解决自己的问题,如有其它疑问,欢迎留言交流. 首先来看看我遇到的问题: [1]查看数据库: [2]使用test数据库: [3 ...

  3. coding题都在考察我们的什么技能

    其实不是都在考我们的算法设计,有的时候算法简单,但是coding却可能不那么简单,比如下面这道题目: 题:写一个把字符串的IP地址变成32位整数的函数,要求考察程序健壮性. 这题初看起来一点都不难,但 ...

  4. 初学AOP

    src\dayday\Count.java package dayday;import org.springframework.stereotype.Component;/** * Created b ...

  5. 安装mysql sever 向导失败,最后一步无响应

    在配置apache+php+mysql环境的时候,apache和php都可以运行,这里提供两个安装教程(window环境) http://apps.hi.baidu.com/share/detail/ ...

  6. Ubuntu下libpcap安装

    1.首先按下面的博客教程下载和安装四个软件包: 点击打开链接 2.这四个软件都安装好之后按下面教程新建Makefile文件和test.c文件: 点击打开链接 Makefie: all: test.c ...

  7. ArcMap计算PolyLine中点VBA

    Dim pGeo As IGeometrySet pGeo = [Shape]Dim pPolyline As IPolylineSet pPolyline = pGeoDim pCurve As I ...

  8. 2016 - 3 - 12 SQLite的学习之SQL语言入门

    1.SQL语句的特点: 1.1 不区分大小写 1.2 每条语句以;结尾 2.SQL语句中常用关键字: select,insert,update,from,create,where,desc,order ...

  9. 【C编译器】MinGw安装与使用(调试问题待续)

    不想装vs2005之类的,想要一个轻量级的C语言编译器,希望将焦点放在如何写好代码上: 本人信奉:代码质量是靠设计和检视保证的,不是靠调试: 1.安装MinGW http://www.mingw.or ...

  10. this指向

    以前不太理解面向对象的this指向问题,今天自己看着视频教程,加自己学了2个例子,终于明白点了. 我们在写对象程序的时候,我们希望保持this始终是指向对象的,但事实确常常事与愿违. 正常情况this ...