1. 输出

>>> print "hello world"
hello world
>>> print 'hello world'
hello world
>>> print 'Hello','world'
Hello world
>>> print "I'm studing python"
I'm studing python
>>> print 'I am studing "python"'
I am studing "python"
>>> print "I'm studing \"python\""
I'm studing "python"
>>> print 'I\'m studing "python"'
I'm studing "python"
>>> print '''I'm studing "python"'''
I'm studing "python"
>>> print '''I am
... studing
... "python"'''
I am
studing
"python" >>> print "Name:%s Age:%d Height:%f" %('Tester',18,1.80)
Name:Tester Age:18 Height:1.800000
>>> print "Name:%8s Age:%3d Height:%5.2f" %('Tester',18,1.80)
Name: Tester Age: 18 Height: 1.80
>>> print "Name:%-8s Age:%-3d Height:%-5.2f" %('Tester',18,1.80)
Name:Tester Age:18 Height:1.80
>>> print "Name:%s Age:%3d Height:%*.*f" % ('Tester',18,6,2,1.80)
Name:Tester Age: 18 Height: 1.80
print "Name:%r Age:%r Height:%r" %('Tester',18,1.80)
Name:'Tester' Age:18 Height:1
>>> print '12',3
12 3
>>> print '12'+3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
>>> print '12'+'3'
123
>>> print 12+3
15

  

总结:
1) print 输出字符串可以使用''或者""表示;
2) print后可以有多个输出,以逗号分隔,最终逗号以空格输出,两边类型可以不一致;
也可以用+号连接,但是+号要求两边类型必须一致,连接数字表示相加,连接字符串表示相连;
3) 如果字符串本身包含"",可以使用''来表示;如果字符串本身包含'',可以使用""来表示;
4) 如果字符串本身既包含''也包含"",可以使用\进行转义;常用转义字符:\n 换行; \t制表符; \\ 表示\本身
5) 如果字符串本身既包含''也包含"",也可以使用'''来表示;'''一般用于输出多行文本中;
6) 格式化输出可以指定输出字段的长度,%5.2f表示输出浮点数的小数点后有2位,总共长度为5位,默认为右对齐,不足的左侧补空格;
%-5.2f表示左对齐,长度不足的右边补空格
7) 对于格式未定的字段,可以通过类似%*.*f % (5,2,1.80)来设定表示%5.2f
8) 对于类型不确定的字段输出可以统一用%r表示,%r的格式化指定格式后面再学习。

2. format输出

1) 接受位置参数输出

>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'
>>> '{}, {}, {}'.format('a', 'b', 'c') # 2.7+ only
'a, b, c'
>>> '{2}, {1}, {0}'.format('a', 'b', 'c')
'c, b, a'
>>> '{2}, {1}, {0}'.format(*'abc') # unpacking argument sequence
'c, b, a'
>>> '{0}{1}{0}'.format('abra', 'cad') # arguments' indices can be repeated
'abracadabra'

2) 接受参数名称输出

>>> print "His name is {name} and age is {age} ".format(age=18,name='Tom')
His name is Tom and age is 18

3) 接受对象属性输出

>>> class person():
... def __init__(self):
... self.name='Jack'
... def get_name(self):
... print 'his name is {self.name}'.format(self=self)
>>> p.get_name()
his name is Jack

4) 接受序列的数据输出

>>> a=('tom','Jack','meng')
>>> print '{0[0]},{0[1]},{0[2]}'.format(a)
tom,Jack,meng

5) 格式化输出,可代替%s,%r

>>> print 'His name is {}'.format('tom')
His name is tom
>>> print 'His name is {:10}'.format('tom')
His name is tom
>>> print 'His name is {:<10}'.format('tom')
His name is tom
>>> print 'His name is {:>10}'.format('tom')
His name is tom
>>> print 'His name is {:^10}'.format('tom')
His name is tom
>>> print 'His name is {:*<10}'.format('tom')
His name is tom*******
>>> print 'His name is {:.>10}'.format('tom')
His name is .......tom
>>> print 'His name is {:#^10}'.format('tom')
His name is ###tom####
>>> print 'His name is {:#10}'.format('tom')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Alternate form (#) not allowed in string format specifier
>>> print '%08.2f'%(1.15)
00001.15
>>> print '%8.2f'%(1.15)
1.15
>>> print '{:8.2f}'.format(1.15)
1.15

说明: 指定填充字符适合必须要指明对齐方向

3. input / raw_input输入

>>> raw_var = raw_input("please input your content:")
please input your content:Testing python
>>> print raw_var
Testing python
>>> type(raw_var)
<type 'str'>
>>>
>>> var = input("please input your content:")
please input your content:'Testing python'
>>> print var
Testing python
>>> type(var)
<type 'str'>
>>> var = input("please input your content:")
please input your content:Testing python
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
Testing python
^
SyntaxError: unexpected EOF while parsing
>>> >>> raw_var = raw_input("please input your content:")
please input your content:100+300
>>> print raw_var
100+300
>>>
>>> var = input("please input your content:")
please input your content:100+300
>>> print var
4
>>> age = input('please input your age:')
please input your age:18
>>> print age
18
>>> type(age)
<type 'int'>

  

总结:
1) raw_input将所有输入作为字符串看待,返回也是字符串类型
2) input 没有将所有输入作为字符串看待,所以在输入字符串内容时候需要添加引号,否则会出错
3) input可以接收表达式,并返回表达式结果
4)input返回也不一定是字符串类型;如果接收的是带引号的字符串那么返回的才是字符串类型;

学习1:python输入输出的更多相关文章

  1. Python学习 Part5:输入输出

    Python学习 Part5:输入输出 1. 格式化输出 三种输出值的方法: 表达式语句 print()函数 使用文件对象的write()方法 两种方式格式化输出: 由自己处理整个字符串,通过使用字符 ...

  2. Python语言学习之Python入门到进阶

    人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Pytho ...

  3. 从零学习基于Python的RobotFramework自动化

    从零学习基于Python的RobotFramework自动化 一.        Python基础 1)      版本差异 版本 编码 语法 其他 2.X ASCII try: raise Type ...

  4. 算是休息了这么长时间吧!准备学习下python文本处理了,哪位大大有好书推荐的说下!

    算是休息了这么长时间吧!准备学习下python文本处理了,哪位大大有好书推荐的说下!

  5. Python学习(一) Python安装配置

    我本身是Java程序猿,听说Python很强大,所以准备学习一下Python,虽说语言都是相同的,但java跟python肯定还是有区别的.希望在此记录一下自己的学习过程. 目前,Python分2.X ...

  6. 学习《Python核心编程》做一下知识点提要,方便复习(一)

    学习<Python核心编程>做一下知识点提要,方便复习. 计算机语言的本质是什么? a-z.A-Z.符号.数字等等组合成符合语法的字符串.供编译器.解释器翻译. 字母组合后产生各种变化拿p ...

  7. Android模拟器使用笔记,学习head_first python 安卓开发章节

    学习head_first python 安卓开发那一章需要的程序android-sdk_r23.0.2-windows.zip //模拟器 PythonForAndroid_r4.apk sl4a_r ...

  8. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

  9. 每个程序员都应该学习使用Python或Ruby

    每个程序员都应该学习使用Python或Ruby 如果你是个学生,你应该会C,C++和Java.还会一些VB,或C#/.NET.多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaSc ...

  10. ZhuSuan 是建立在Tensorflow上的贝叶斯深层学习的 python 库

    ZhuSuan 是建立在Tensorflow上的贝叶斯深层学习的 python 库. 与现有的主要针对监督任务设计的深度学习库不同,ZhuSuan 的特点是深入到贝叶斯推理中,从而支持各种生成模式:传 ...

随机推荐

  1. [洛谷P4550]收集邮票

    题目大意:有$n(n\leqslant10^4)$个物品,第$i$次会从这$n$个物品中随机获得一个,并付出$i$的代价,问获得所有的$n$个物品的代价的期望. 题解:令$f_i$表示现在已经获得了$ ...

  2. 【Winform】.cs文件命名空间排序及注释批量处理工具

    公司里每个程序员在命名空间的排序和注释上都有很多的不同. 杂乱的命名空间: using System; using System.Collections.Generic; using Autodesk ...

  3. IT英语累积

    JPA: Java Persistence API   一种持久化规范 Spring Data:一种用于简化数据库访问,支持云服务的开源框架 Spring Data JPA:是Spring Data的 ...

  4. [LOJ 6004] 圆桌聚餐

    link 其实网络流就是再考你如何去建边. 先见$S$,$T$为源点与汇点,然后将$S$连向每一个单位,流量为每个单位的人数,然后将每一个单位连向每一个餐桌,流量为$1$,最后在将每一个餐桌与$T$相 ...

  5. 【计数】【UVA11401】 Triangle Counting

    传送门 Description 把1……n这n个数中任取3个数,求能组成一个三角形的方案个数 Input 多组数据,对于每组数据,包括: 一行一个数i,代表前i个数. 输入结束标识为i<3. O ...

  6. G. Trace ACM-ICPC 2018 徐州赛区网络预赛 线段树写法

    There's a beach in the first quadrant. And from time to time, there are sea waves. A wave ( xx , yy  ...

  7. zabbix监控ipmi

    @1.假设idrac已经启用,并且使用ipmitool能正确读取数据(本文后面详细描述如何配置) @2.第一节只涉及web配置 1.创建主机 configuration-->hosts--> ...

  8. POJ 1753 BFS

    Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 44450   Accepted: 19085 Descr ...

  9. FreeRTOS - 调度器

    原文地址:http://www.cnblogs.com/god-of-death/p/6942641.html 绝大多数情况下,调度器的配置如下: 下面的说明基于上面的调度器配置: 如果有更高优先级的 ...

  10. ITEXT5 Font 'd:\SIMSUN.TTC' with 'Identity-H' is not recognized.

    用 itextsharp 制作PDF文件的时候发生错误 Font 'd:\SIMSUN.TTC' with 'Identity-H' is not recognized. 原本是 BaseFont b ...