学习1:python输入输出
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输入输出的更多相关文章
- Python学习 Part5:输入输出
Python学习 Part5:输入输出 1. 格式化输出 三种输出值的方法: 表达式语句 print()函数 使用文件对象的write()方法 两种方式格式化输出: 由自己处理整个字符串,通过使用字符 ...
- Python语言学习之Python入门到进阶
人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Pytho ...
- 从零学习基于Python的RobotFramework自动化
从零学习基于Python的RobotFramework自动化 一. Python基础 1) 版本差异 版本 编码 语法 其他 2.X ASCII try: raise Type ...
- 算是休息了这么长时间吧!准备学习下python文本处理了,哪位大大有好书推荐的说下!
算是休息了这么长时间吧!准备学习下python文本处理了,哪位大大有好书推荐的说下!
- Python学习(一) Python安装配置
我本身是Java程序猿,听说Python很强大,所以准备学习一下Python,虽说语言都是相同的,但java跟python肯定还是有区别的.希望在此记录一下自己的学习过程. 目前,Python分2.X ...
- 学习《Python核心编程》做一下知识点提要,方便复习(一)
学习<Python核心编程>做一下知识点提要,方便复习. 计算机语言的本质是什么? a-z.A-Z.符号.数字等等组合成符合语法的字符串.供编译器.解释器翻译. 字母组合后产生各种变化拿p ...
- Android模拟器使用笔记,学习head_first python 安卓开发章节
学习head_first python 安卓开发那一章需要的程序android-sdk_r23.0.2-windows.zip //模拟器 PythonForAndroid_r4.apk sl4a_r ...
- Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识
Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...
- 每个程序员都应该学习使用Python或Ruby
每个程序员都应该学习使用Python或Ruby 如果你是个学生,你应该会C,C++和Java.还会一些VB,或C#/.NET.多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaSc ...
- ZhuSuan 是建立在Tensorflow上的贝叶斯深层学习的 python 库
ZhuSuan 是建立在Tensorflow上的贝叶斯深层学习的 python 库. 与现有的主要针对监督任务设计的深度学习库不同,ZhuSuan 的特点是深入到贝叶斯推理中,从而支持各种生成模式:传 ...
随机推荐
- logback 按天输出日志
配置文件: 在resouces添加文件logback-spring.xml <?xml version="1.0" encoding="UTF-8"?&g ...
- 【刷题】SPOJ 1812 LCS2 - Longest Common Substring II
A string is finite sequence of characters over a non-empty finite set Σ. In this problem, Σ is the s ...
- [BZOJ4942] [NOI2017]整数
题目背景 在人类智慧的山巅,有着一台字长为1048576位(此数字与解题无关)的超级计算机,著名理论计算机科 学家P博士正用它进行各种研究.不幸的是,这天台风切断了电力系统,超级计算机 无法工作,而 ...
- BZOJ5290 & 洛谷4438:[HNOI/AHOI2018]道路——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=5290 https://www.luogu.org/problemnew/show/P4438 的确 ...
- ContestHunter暑假欢乐赛 SRM 15
菜菜给题解,良心出题人!但我还是照常写SRM一句话题解吧... T1经典题正解好像是贪心...我比较蠢写了个DP,不过还跑的挺快的 f[i]=min( f[j-a[j]-1] )+1 { j+a[j ...
- 【BZOJ 4555】[Tjoi2016&Heoi2016]求和 多项式求逆/NTT+第二类斯特林数
出处0.0用到第二类斯特林数的性质,做法好像很多,我打的是直接ntt,由第二类斯特林数的容斥公式可以推出,我们可以对于每一个i,来一次ntt求出他与所有j组成的第二类斯特林数的值,这个时候我们是O(n ...
- Java集合(3)一 红黑树、TreeMap与TreeSet(上)
目录 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 与 LinkList Java集合(3)一 红黑树.TreeMap与TreeSet(上) Java集合(4)一 红黑树. ...
- 【JSP EL】EL表达式获取当前时间(两种方式)
第一种方式: //先在代码段定义<% long date = new Date().getTime(); request.setAttribute("date", date) ...
- 利用forEach循环Dom元素…
大家都知道forEach是循环数组用的,而且很方便,可以丢掉for循环了,但是它不能循环Dom元素.其实我们可以利用call来完成forEach循环Dom; 假设有这样的HTML结构: <ul ...
- bzoj 1705: [Usaco2007 Nov]Telephone Wire 架设电话线——dp
Description 最近,Farmer John的奶牛们越来越不满于牛棚里一塌糊涂的电话服务 于是,她们要求FJ把那些老旧的电话线换成性能更好的新电话线. 新的电话线架设在已有的N(2 <= ...