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. KNIGHTS - Knights of the Round Table 圆桌骑士 点双 + 二分图判定

    ---题面--- 题解: 考场上只想到了找点双,,,,然后不知道怎么处理奇环的问题. 我们考虑对图取补集,这样两点之间连边就代表它们可以相邻, 那么一个点合法当且仅当有至少一个大小至少为3的奇环经过了 ...

  2. 洛谷 [SCOI2010]股票交易 | 单调性DP

    题目链接 #include<cstdio> #include<algorithm> #include<cstring> #define N 2005 using n ...

  3. Leetcode中字符串总结

    本文是个人对LeetCode中字符串类型题目的总结,纯属个人感悟,若有不妥的地方,欢迎指出. 一.有关数字 1.数转换 题Interger to roman和Roman to integer这两题是罗 ...

  4. lighttpd - 配置文件

    转载其他网站,收藏查看! 配置文件lighttpd.conf参数详细说明的链接和选译 发表于 2010年12月22日 http://redmine.lighttpd.net/projects/ligh ...

  5. 一种高效的寻路算法 - B*寻路算法

    在此把这个算法称作B* 寻路算法(Branch Star 分支寻路算法,且与A*对应),本算法适用于游戏中怪物的自动寻路,其效率远远超过A*算法,经过测试,效率是普通A*算法的几十上百倍. 通过引入该 ...

  6. selenium-控制浏览器操作

    from selenium import webdriver driver = webdriver.Chrome() #打开浏览器 driver.get(urlname) #控制浏览器窗口大小 dri ...

  7. Dumpsdecrypted

    Dumps decrypted mach-o files from encrypted iPhone applications from memory to disk. This tool is ne ...

  8. HDU 4303 树形DP

    Hourai Jeweled Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 163840/163840 K (Java/Others) ...

  9. XSS攻击处理方案

    1. XSS攻击基本概念 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中.比如这些代码包括HTML代码和客户端脚本.攻击者利用XSS漏洞 ...

  10. matlab求一个矩阵中各元素出现的个数(归一化)

    function [m,n] = stamatrix(a) %网上找到的方法,感觉很巧妙 x=a(:); x=sort(x); d=diff([x;max(x)+1]); count = diff(f ...