%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. Tabbed Activity的使用(Fragment)

    1,首先file -> new -> Activity -> Tabbed Activity 2,创建完成后,发现会自动的创建一大堆代码,大部分我们是不需要关心的,关于页面切换的代码 ...

  2. response设置相应头的方法

    response 设置响应头的常用几种方法 1.Location 的用法 response.setStatus(302)//临时定向响应码 response.setHeader("Locat ...

  3. 设置Ubuntu为本地时间

    大家在切换操作系统的时候会发现一个问题, Windows 和 Ubuntu 的时间会出现不一致的情况.在 Windows 中把时间设置正确了过后,回到在 Ubuntu 后系统的时间又不一样了,在 Ub ...

  4. 【笔记】Service的使用

    一.创建Service 1.创建一个myService类,来继承Service.重写其中的方法,包括:onCreate(),onStartCommend(),onDestroy(),onBind()方 ...

  5. B样条基函数(cubic spline basis)

    B样条基函数用作权重 reference http://blog.csdn.net/tuqu

  6. linux cron计划任务

    说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...

  7. #import和@class的使用

    #import          #import 大部分功能和#include是一样的,但是他处理了重复引用的问题,不用再去自己进行重复引用处理. @class         用于声明一个类,告诉编 ...

  8. The Swift Programming Language 英文原版官方文档下载

    The Swift Programming Language 英文原版官方文档下载 今天Apple公司发布了新的编程语言Swift(雨燕)将逐步代替Objective-C语言,大家肯定想学习这个语言, ...

  9. tensorflow资料补充(很棒)

    http://tensorfly.cn/tfdoc/get_started/introduction.html https://github.com/CreatCodeBuild/TensorFlow ...

  10. 贝叶斯网引论 by 张连文

    贝叶斯网(Bayesian networks)是一种描述随机变量之间关系的语言,构造贝叶斯网是为了概率推理,理论上概率推理基于联合概率分布就行了,但是联合概率分布(基于表)的复杂度会呈指数增长,贝叶斯 ...