一个交互式的程序,需要支持用户输入与输出。输入是指程序能接收用户输出的内容,输出是指程序运行之后,保存或显示相应的结果。

一、输入

Python使用input方法接收用户的输出,如下

content=input("请输入任意内容:")
print("用户输入的内容:",content)
print("输入数据的类型:",type(content))

content=input("请输入任意内容:")
print("用户输入的内容:",content)
print("输入数据的类型:",type(content))

执行程序后,就可以在底部控制台输入内容。执行程序后,就可以在底部控制台中输入内容,输入完毕后单击【Enter】键完成本次交互,然后程序正常退出。若是用户想输入多次,调用多次input方法即可。在这里第1行和第4行分别让用户输入两次,然后输出用户输入内容及类型。

请输入任意内容:hello
用户输入的内容: hello
输入数据的类型: <class 'str'>
请输入任意内容:123
用户输入的内容: 123
输入数据的类型: <class 'str'>

执行结果如上,可以看出不管用户输入的是字符串还是数字,input方法都会将接收的数据转换为字符串类型。

二、输出

Python程序的输出有多种形式,如输出到文本。数据库等。这里介绍如何将数据输出到控制台及各种格式化输出。

1.print函数

print函数的功能是将内容输出到控制台上,如下,print函数的输出默认会自动换行,解决方法是将参数" end “设置为空或” \t "这样的制表符。

print("hello")
print("world")
print("hello",end="\t")
print("world")

执行结果如下

hello
world
hello	world
2.格式化输出

如下表,显示了Python格式化字符串的转换逻辑。

格式化符号转换逻辑
%c转换成字符及ASCII码
%s优先使用str函数进行转换
%d或%i转换成有符号十进制数
%f或%F转换成浮点数
%u转换成无符号十进制数
%o转换成无符号八进制数
%x或%X转换成无符号十六进制数
%e或%E转换成科学计数法
%g或%G%f(F)和%e(E)的简写
%%直接输出%

在格式化时,还可以使用辅助指令,控制最终字符显示方式,如下表

符号转换逻辑
-左对齐
+在正数前面显示加号
%‘%%‘输出一个单一的’%’
*定义宽度和小数点精度
#在八进制数前面显示’0’,在十六进制数前面显示’0x’或者’0X’
0显示的数字前面填充’0’,而不是默认的空格
< sp >在正数前面显示空格
(var)映射变量(字典参数)
m.n.m是显示的最小总长度,n是小数点后的位数

具体使用方法如下

a="hello world"
print("格式化多个符号:","%s"%a)
a="H"
print("%c只能格式化单个字符:","%c"%a)
a=8
print("格式化整数:","%d%%"%a)
a=8.8888
print("格式化浮点数,保留2位小数:","%.2f"%a)
a=8.8888
print("格式化成整数:","%+u"%a)
a=8.8888
print("转换成科学计数法:","%e"%a)
a=8.8888
b=9.9999
print("第一个数:%s,第二个数:%s" %(a,b))

执行结果如下

格式化多个符号: hello world
%c只能格式化单个字符: H
格式化整数: 8%
格式化浮点数,保留2位小数: 8.89
格式化成整数: +8
转换成科学计数法: 8.888800e+00
第一个数:8.8888,第二个数:9.9999
3.字符串模板

使用字符串模板十分简单,如下

from string import Template

c=Template("${a},${b}")
d=c.substitute(a="hello",b="world")
print("使用模板产生的字符:",d)

使用字符串模板的好处在于,模板中的 '${ 变量名 }" 相当于占位符,当变量非常多的时候,可以指定同名关键字参数,这可以有效避免出错。执行结果如下

使用模板产生的字符: hello,world
4.format格式化字符串

使用format格式化字符串是一种常见做法。具体操作如下

a="hello"
b="world"
c=123.666
print("输出三个变量:a={},b={},c={}".format(a,b,c))
print("输出三个变量:a={1},b={2},c={0}".format(a,b,c))
print("输出var_a变量:{var_a}".format(var_a=a))
print("输出var_a变量:{var_b:.3}".format(var_b=b))
print("输出var_c变量:{var_c:.2f}".format(var_c=c))

执行结果如下,在第4行使用大括号作为format函数的3个参数的占位符,大括号的个数需要和format函数的参数个数一致;在第5行,大括号中的数字就是format函数的参数索引,使用索引可以控制参数在字符串中的排列顺序。在第6行,在format函数中,给参数取名为var_a,那么就可以在字符串中通过参数名对参数进行引用;在第7行,“.3"表示字符串的长度,这里在输出时会截取"world"的前3个字符。尽管实际很少用,但是这种写法是可行的;在第8行,”.2f"表示变量将以两位浮点数的形式输出,对于多余的小数,将进行四舍五入。

输出三个变量:a=hello,b=world,c=123.666
输出三个变量:a=world,b=123.666,c=hello
输出var_a变量:hello
输出var_a变量:wor
输出var_c变量:123.67

这篇文章就到这里结束了,希望能给小伙伴们带来一些帮助,喜欢的小伙伴们也可以点点赞支持一下!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐