%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. WPF与WinForm开发有什么区别?

    转自http://hi.baidu.com/leoliu83/blog/item/1d1a4a66dcb41134aa184cfd.html WPF开发于WinForm之后,从技术发展的角度,WPF比 ...

  2. What is the difference between the ways to implement inheritance in javascript.

    see also : http://www.w3school.com.cn/js/pro_js_inheritance_implementing.asp http://davidshariff.com ...

  3. BZOJ 3594 方伯伯的玉米田

    dp好想.bit的优化好想.还有细节: (1)从k->0,这样才不会被本身转移. (2)这个dp表示的是以i结尾的最长的长度,所以随时max. #include<iostream> ...

  4. linux命令:chgrp

    1.命令介绍: chgrp用来改变文件或目录所属组的权限,要改变成的组必须在/etc/group文件存在才可以. 2.命令格式: chgrp [选项] 组 文件 3.命令参数: 必要参数: -c 当发 ...

  5. ES5 对数组方法的扩展 以及 正则表达式

    ES5 对数组的扩展 forEach map some every indexOf lastIndexOf forEach 与 map 语法: 数组.forEach(function ( v, i ) ...

  6. CentOS下查看进程和删除进程

    1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab).2. ps ...

  7. 关于JAVA学习计划和感想

    学习计划第一阶段:    JAVA语言基础知识.包括异常.IO流.多线程.集合类.    要求:异常------掌握try-catch-finally的使用          IO流------掌握字 ...

  8. iOS 微信分享

    1.注册微信开放平台账号:https://open.weixin.qq.com 2.创建应用 设置图片可以使用一个小工具,详情http://www.cnblogs.com/czq1989/p/5073 ...

  9. hash连接

    简单回顾嵌套循环: 两个表关联,较小的表(指使用了过滤条件后结果集较小的表)称为驱动表或者外表(,另一个称为内表.在嵌套连接过程中,oracle首先读取驱动表的第一条数据,然后和内表进行比对,所以匹配 ...

  10. ARM指令教程

    ARM指令教程 ARM汇编程序特点: l         所有运算处理都是发生通用寄存器(一般是R0~R14)的之中.所有存储器空间(如C语言变量的本质就是一个存储器空间上的几个BYTE).的值的处理 ...