python3输入输出与字符串格式化

输入input(),python3中输入统一为input:

input(prompt=None,/)

prompt为提示信息,默认无

返回为字符串;根据需要转换为所需类型:

eval(input()):根据输入类型计算,灵活但存在安全隐患;

int(input()):转换为整数;

m,n=eval(input()) #输入3,4则m=3;n=4

输出print(),其格式化输出与C类似:

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

print("Name:%10s Age:%8d Height:%8.2f" %("Alfred",25,1.70))

格式化字符串

python有两种字符串格式化方法:

%格式:类似C使用‘%+格式’来控制输出;格式化字符串与变量间也使用%连接。

按位置顺序依次赋值%fmt:需严格按顺序设定,变量以元组方式传递;

print("%d %s" %(123456,"myblog"))#输出123456 myblog

使用命名方式%(name)fmt:按名称从字典中匹配,位置不重要,变量以字典方式传递;

print("%(what)s is %(year)d" %{"year":2016,"what":"this year"}) #输出this year is 2016

format格式:类似C#,使用{}来标识格式化字符串,后面使用format列出对应变量。

format格式:{[name][:][[fill]align][sign][#][0][width][,][.precision][type]}

name可有多种形式:

使用索引:0、1、2等;

print(" ".format("hello","py"))#输出hello py

使用名称:

直接空:顺序填充

print("{}{}{}".format("sjtu",".","edu"))#输出sjtu.edu

#混合使用

print(" ".format(3,lan="python",act="study"))

name可以是任意类型:

基础类型

print("".format(a="python",b=3))#输出python3

列表或元组

print(" ".format(a=["study","python",3]))#输出study python3

print(" ".format(a=("study","python",3)))#输出study python3

字典

print(" ".format(dict={"act":"study","ver":"3","lan":"python"}))#输出study python3

fill:任何填充字符(以=填充,居中对齐)

print("".format(a="8"))#输出===8====

align:对齐方式

>:是右对齐

^:是居中对齐。

sign:整数符号

+表示正号

-表示负号

格式化标志:

-:左对齐

+:在转换值之前加上正负号

“ ”:正数之前保留空格

0:转换值若位数不够用0填充

.或者.*:输出精度

a=1.314520

'% f'%a#' 1.314520'

'%010f'%a#'001.314520'

'%.3f'%a#'1.315'

'%.*f'%(3,a) #'1.315'

类型转换,字符编码使用encode:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180415G0QTUB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券