Python的输⼊函数input()和输出函数print()详解
Python的输⼊函数input()和输出函数print()详解
输⼊函数input()
Python 提供了 input() 内置函数从标准输⼊(键盘)读⼊⼀⾏⽂本,默认的标准输⼊是键盘。
input()函数等待⽤户从键盘输⼊,接收⼀个字符串,包括空格,都可以输⼊。只有回车不接受,作为结束符。格式:
input([prompt])
其中,prompt是可选的,可作为提⽰信息。
返回值是从键盘输⼊的⼀⾏⽂本。
⽤户输⼊的任何内容Python 都认为是⼀个字符串,如果需要其他类型就需要转换函数,如:
float()  字符串或者整数-->浮点型
int()  字符串或浮点型-->整数型
str()  数字-->字符串
eval()  数字-->实数
chr()    ASCII值-->ASCII字符
例如:
a = input("请输⼊字符串:")
b= int(input(("请输⼊⼀个整数:")))
c = float(input("请输⼊⼀个数值:"))
输出函数print()
语法
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
将 objects 打印到 file 指定的⽂本流,以 sep 分隔并在末尾加上 end。可选项 sep, end, file 和 flush 如果存在,它们必须以关键字参数的形式给出。
参数描述
objects 要输出的对象,是复数形式,表⽰可以⼀次输出多个对象。输出多个对象时,需要⽤ , 分隔。
sep ⽤来间隔多个对象,默认值是⼀个空格。
end ⽤来设定以什么结尾。默认值是换⾏符 \n,我们可以换成其他字符串。
file    要写⼊的⽂件对象,默认是标准输出。
flush  输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
print()⽆返回值。
如何使⽤print()输出多个不同数据类型的数据
★⽤str函数统⼀成字符串,如:python格式化输出format
age = 10
print("他今年" + str(age) + " 岁.")
★数据的格式化输出( c语⾔printf 风格的字符串格式化 )
符 号描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化⽆符号整型
%o 格式化⽆符号⼋进制数
%x 格式化⽆符号⼗六进制数
%X 格式化⽆符号⼗六进制数(⼤写)
%f 格式化浮点数字,可指定⼩数点后的精度
%e ⽤科学计数法格式化浮点数
%E 作⽤同%e,⽤科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p ⽤⼗六进制数格式化变量的地址
格式化操作符辅助指令:
符号功能
*定义宽度或者⼩数点精度
-⽤做左对齐
+在正数前⾯显⽰加号( + )
<sp>在正数前⾯显⽰空格
#在⼋进制数前⾯显⽰零('0'),在⼗六进制前⾯显⽰'0x'或者'0X'(取决于⽤的是'x'还是'X')
0显⽰的数字前⾯填充'0'⽽不是默认的空格
%'%%'输出⼀个单⼀的'%'
(var)映射变量(字典参数)
< 是显⽰的最⼩总宽度,n 是⼩数点后的位数(如果可⽤的话)例⼦
s='⼩兵'
x=11
print('%s明年%d岁' %(s,x))
★format函数⽅法(可参见
和 )
函数print()和函数format()结合起来实现格式化输出,功能⽐较强⼤。
先给出基本⽰例:
print('李振兴告诉{}说 "{}!"'.format('赵萌萌', '加油'))
print('{0}和{1}是好朋友!'.format('李振兴', '赵萌萌'))
print('{1}和{0}是好朋友!'.format('李振兴', '赵萌萌'))
花括号及之内的字符(称为格式字段)被替换为传递给 str.format()⽅法的对象。花括号中的可有数字,花括号中的数字表⽰传递给str.format() ⽅法的对象所在的位置。
format()函数格式:
str.format(*args, **kwargs)
执⾏字符串格式化操作。 调⽤此⽅法的字符串可以包含字符串字⾯值或者以花括号 {} 括起来的替换字段(replacement field)。 每个替换字段可以包含⼀个位置参数的数字索引【3.1 版起索引可以省略】,或者⼀个关键字参数的名称。 返回的字符串副本中每个替换字段都会被替换为对应参数的字符串值。如:
print(" 1 + 2 的和是{0}".format(1+2)) #输出:1 + 2 的和是3
花括号及其⾥⾯的字符【称作替换字段(replacement field)或格式化字段(format fields),】将会被 format() 中的参数替换。
再给出⼏个⽰例
☆利⽤key=value来实现⼀⼀对应的赋值替换,如:
print('{name}正在{option}'.format(name="某某",option="学习")) #输出:某某正在学习
☆按照位置实现顺序替换,如:
print('{0}正在{1}'.format('某某','学习')) #输出:某某正在学习
print('{1}正在{0}'.format('学习','某某')) #输出:某某正在学习
[:[[fill] align] [sign] [#] [width] [.precision] [type]]
⽤ [] 括起来的参数都是可选参数,英⽂冒号:之的部分后部分——标准格式说明符简介:
☆fill:空⽩处填充的字符。注意,当填充字符为逗号(,)且作⽤于整数或浮点数时,该整数(或浮点数)会以逗号分隔的形式输出,例如(1000000会输出 1,000,000)。
☆align:指定数据的对齐⽅式,具体的对齐⽅式如下所⽰:
<      数据左对齐。
>      数据右对齐。
=      数据右对齐,同时将符号放置在填充内容的最左侧,该选项只对数字类型有效。
^      数据居中。
此选项需和 width 参数⼀起使⽤,如:print('{0:^30}{1:^30}'.format("某某",90))
☆sign 选项仅对数字类型有效,可以是以下之⼀:
+              正数前加正号,负数前加负号。
-                正数前不加正号,负数前加负号。
空格          正数前加空格,负数前加负号。
☆#  对于⼆进制数、⼋进制数和⼗六进制数,使⽤此参数,各进制数前会分别显⽰ 0b、0o、0x前缀;反之则不显⽰前缀。☆width:指定输出数据时所占的宽度。
☆.precision:指定保留的⼩数位数。
☆type:指定输出数据的具体类型:
s                对字符串类型格式化。
d              ⼗进制整数。
c                将⼗进制整数⾃动转换成对应的 Unicode 字符。
e 或者 E    转换成科学计数法后,再格式化输出。
g 或 G      ⾃动在 e 和 f(或 E 和 F)中切换。
b                将⼗进制数⾃动转换成⼆进制表⽰,再格式化输出。
o                将⼗进制数⾃动转换成⼋进制表⽰,再格式化输出。
x 或者 X    将⼗进制数⾃动转换成⼗六进制表⽰,再格式化输出。
f 或者 F    转换为浮点数(默认⼩数点后保留 6 位),再格式化输出。
下⾯举⼏个例⼦:
冒号可选项 : 和格式标识符可以对值进⾏更好的格式化。如:
P=3.1415926
print('常量 PI 的值近似为 {0:.3f} '.format(P)) #输出:常量 P 的值近似为 3.142
在 : 后传⼊⼀个整数, 可以保证该字段⾄少有这么多的宽度。如:
for x in range(1, 5):
print('{0:10} {1:10} {2:10}'.format(x, x*x, x*x*x))
输出:
⼜如:
name = "⼩兵"
age = 15
height = 1.587
#输出:他的名字是⼩兵。已经15岁了。⾝⾼是1.59⽶
print("他的名字是{0},已经{1}岁了,⾝⾼是{2:.2f}⽶".format(name, age, height))
参见下图:
python的原始字符串
原始字符串:所有的字符串都是直接按照字⾯的意思来使⽤。
python原始字符串是指在引号前添加 r 或 R 前缀的字符串,在原始字符串中,字符“\” 不再表⽰转义字符的含义。
如:
直接使⽤‘c:\now'会报错,\需要转义,应该这样写 'c:\\now',或者采⽤原始字符串的写法r‘c:\now'
对于 ASCII 编码,0~31(⼗进制)范围内的字符为控制字符,它们都是看不见的,不能在显⽰器上显⽰,甚⾄⽆法从键盘输⼊,只能⽤转义字符的形式来(以反斜杠\开始)表⽰,常见的转义字符参见下表:
转义字
说明例⼦
\n 换⾏符,将光标位置移到下⼀
⾏开头。
print("Hello\nWorld!")
输出如下:
Hello
World!
\t ⽔平制表符,也即 Tab 键,⼀
般相当于四个空格。
print("Hello\tWorld!")
输出如下:
Hello  World!
\\反斜线print('此路径是D:\\test\\')输出如下:
此路径是D:\
\'单引号print('I\'m Li Ning')输出如下:
I'm Li Ning
\"双引号print("可以使⽤\"创建字符串")输出如下:
可以使⽤"创建字符串
\在字符串⾏尾的续⾏符,即⼀
⾏未完,转到下⼀⾏继续写。
print("line1 \
line2 \
line3")
输出如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。