Python简单输入与输出
介绍在Python中如何借助内置函数input从标准输入(控制终端,键盘)获取用户输入;通过内置函数print将文本或变量的值输出到控制台。
输入
input() 是 Python 的内置函数,用来 从标准输入(通常是键盘)获取一行用户输入,然后返回该输入的内容(作为字符串)。
它会让程序 暂停运行,等待用户输入并按下回车键。
语法:
1 | |
prompt:可选的字符串,用于在等待输入前先打印提示信息(不自动换行)。
函数返回值:字符串 (
str),即使你输入的是数字,它仍然是字符串。
示例:
1、基本输入
1 | |
在终端运行时,会等待输入,在输入 name 以后会打印结果:
1 | |
2、输入时带有提示
1 | |
在终端运行时,会在屏幕上输出Enter your name: 然后等待输入信息
1 | |
输出
print() 是 Python 的内置输出函数,用来 将文本或变量的值输出到屏幕(标准输出)。
它是最常用的输出方法,用于显示程序结果、调试信息等。
语法:
1 | |
| 参数 | 说明 |
|---|---|
*objects |
要输出的多个对象,可以是字符串、数字、变量等 |
sep |
多个输出项之间的分隔符,默认是空格 " " |
end |
输出结束后追加的字符串,默认是换行 "\n" |
file |
输出目标流(默认是 sys.stdout) |
flush |
是否立即刷新输出缓冲区 |
示例:
1、基本输出
1 | |
2、同时输出多个值
1 | |
3、修改默认分割符为-
1 | |
4、结尾不自动换行,使用 ;
1 | |
5、将输出修改为文件
1 | |
open用于打开文件with一种特殊语法,对于文件等资源,打开后需要进行释放,如果不使用with需要手动close,还需要考虑异常情况,使用with会逻辑块结束后,自动执行__exit__进行资源清理 (后续单独介绍with的使用)
输出内容格式化
这里的格式化输出是在原始值的基础上进行一些输出格式美化处理,例如数字可以增加前缀0,字符串可以在指定显示宽度的情况下指定对齐方式。
变量占位
在进行值格式化输出前,需要先从变量的占位替换开始。
语法:
1 | |
占位符
{}表示要插入的位置可以按 顺序、索引、变量名 替换对应值
最后返回一个 新字符串(原字符串不变)
1、按顺序替换变量
1 | |
2、使用索引(按位置插入)
使用索引的时候,会按照变量的索引查找并替换
1 | |
3、使用关键字参数
1 | |
格式化输出
概要格式:
1 | |
- 对于字符串和数字会有不同的选项,例如数字会有格式(进制)或者浮点数精度
标准格式说明符 的一般形式如下:
1 | |
选项 options
对齐 align
填充 fill:可以是任何合法的字符,填充字符不能单独出现,需要和对齐结合使用,例如: a b 1等
给定宽度下,将值按照某个方向对齐以后,可以对空白位置填充字符。
各种对齐选项的含义如下:
| 选项 | 含意 |
|---|---|
'<' |
强制字段在可用空间内左对齐(这是大多数对象的默认值)。 |
'>' |
强制字段在可用空间内右对齐(这是数字的默认值)。 |
'^' |
强制字段在可用空间内居中。 |
填充和对齐需要结合字符显示宽度一起使用,只有当字符实际长度小于格式指定的宽度的时候,会将字符按照要求的方向对齐,并填充对应的字符
示例:
1 | |
符号 sign
sign 选项仅对数字类型有效
| 选项 | 含意 |
|---|---|
'+' |
表示正负号应当同时用于正数与负数。不论正负数都需要展示符号 |
'-' |
表示正负号应当仅用于负数(这是默认的行为)。 正数不添加符号,负数添加 - |
| ‘ ‘ 空格 | 表示应当对正数使用前导空格,而对负数使用负号。 |
示例:
1 | |
宽度和精度 width_and_precision
宽度 width
width 是一个定义最小总字段宽度的十进制整数,包括任何任何前缀、分隔符和其他格式化字符。 如果未指定,则字段宽度将由内容确定。
示例:
1 | |
精度 precision
precision 是一个十进制整数,表示对于数值类型为浮点数(包含小数)的格式化的数值应当在小数点后显示多少个数位。不允许对整数表示类型指定 precision 字段。
使用的时候需要在数字后边指定数值类型。
小数部分实际位数不足时会在后边填充 0
示例:
1 | |
分组 group
grouping 选项分别为数字的整数和小数部分指定数字组分隔符,它跟在width 和 precision 字段后
| 选项 | 含意 |
|---|---|
',' |
对于整数表示类型 'd' 和每 3 个数位插入一个逗号。 |
'_' |
对于整数表示类型 'd' ,每 3 个数位插入一个下划线。 对于整数表示类型 'b', 'o', 'x' 和 'X',则每 4 个数位插入一个下划线。 |
示例:
1 | |
类型 type
确定要展示的值类型,确定数据应该如何展示。
可用的字符串表示类型是:
| 类型 | 含意 |
|---|---|
's' |
字符串格式。这是字符串的默认类型,可以省略。 |
可用的整数表示类型是:
| 类型 | 含意 |
|---|---|
'b' |
二进制格式。 输出以 2 为基数的数字。 |
'c' |
字符。在打印之前将整数转换为相应的unicode字符。 |
'd' |
十进制整数。 输出以 10 为基数的数字。 |
'o' |
八进制格式。 输出以 8 为基数的数字。 |
'x' |
十六进制格式。 输出以 16 为基数的数字,使用小写字母表示 9 以上的数码。 |
'X' |
十六进制格式。 输出以 16 为基数的数字,使用大写字母表示 9 以上的数码。 在指定 '#' 的情况下,前缀 '0x' 也将被转为大写形式 '0X'。 |
| 类型 | 含意 |
|---|---|
'e' |
科学计数法。 对于给定的精度 p,将数字格式化为以字母 ‘e’ 分隔系数和指数的科学计数法表示形式。 |
'E' |
科学计数法。 与 'e' 相似,不同之处在于它使用大写字母 ‘E’ 作为分隔字符。 |
'f' |
定点表示法。 对于给定的精度 p,将数字格式化为小数点之后恰好有 p 位的小数形式。 如未指定精度,则会对 float 采用小数点之后 6 位精度,而对 Decimal 则使用大到足够显示所有系数位的精度。 如果 p=0,则小数点会被略去,除非使用了 # 选项。 |
'F' |
定点表示。 与 'f' 相似,但会将 nan 转为 NAN 并将 inf 转为 INF。 |
示例:
1 | |
输出:
1 | |