Python 用户交互与格式化输出
本人掘金号,欢迎点击关注:掘金号地址
本人公众号,欢迎点击关注:公众号地址
一、引言
在 Python 编程中,用户交互和格式化输出是非常重要的部分。用户交互允许程序与用户进行沟通,获取用户输入的数据;而格式化输出则能让程序以美观、易读的方式展示信息给用户。本文将详细介绍 Python 中用户交互和格式化输出的相关知识,并通过丰富的带注释代码示例进行说明。
二、用户交互
2.1 使用 input()
函数获取用户输入
input()
函数是 Python 中用于从用户那里获取输入的基本函数。当程序执行到 input()
函数时,会暂停并等待用户输入内容,用户输入完成并按下回车键后,input()
函数会返回用户输入的内容,且返回值类型为字符串。
python
# 使用 input() 函数提示用户输入姓名
name = input("请输入你的姓名:") # 将用户输入的姓名赋值给变量 name
print("你输入的姓名是:" + name) # 打印用户输入的姓名
2.2 处理不同类型的用户输入
由于 input()
函数返回的是字符串类型,如果需要处理其他类型的数据,需要进行类型转换。
python
# 获取用户输入的年龄,这里默认用户输入的是整数
age_str = input("请输入你的年龄:") # 将用户输入的年龄作为字符串获取
age = int(age_str) # 将字符串类型的年龄转换为整数类型
print("你的年龄是:", age) # 打印转换后的年龄
# 获取用户输入的身高,这里默认用户输入的是浮点数
height_str = input("请输入你的身高(米):") # 将用户输入的身高作为字符串获取
height = float(height_str) # 将字符串类型的身高转换为浮点数类型
print("你的身高是:", height, "米") # 打印转换后的身高
2.3 错误处理
在进行类型转换时,如果用户输入的数据无法正确转换,会引发异常。可以使用 try-except
语句来处理这些异常,增强程序的健壮性。
python
try:
# 尝试获取用户输入的整数
num_str = input("请输入一个整数:") # 获取用户输入的内容
num = int(num_str) # 尝试将输入内容转换为整数
print("你输入的整数是:", num) # 若转换成功,打印该整数
except ValueError:
print("你输入的不是有效的整数,请重新输入。") # 若转换失败,打印错误提示信息
三、格式化输出
3.1 使用 print()
函数进行基本输出
print()
函数是 Python 中用于输出信息的基本函数,可以直接输出变量或字符串。
python
# 直接输出字符串
print("Hello, World!") # 打印字符串 "Hello, World!"
# 输出变量
message = "Python is great" # 定义一个字符串变量
print(message) # 打印变量 message 的值
3.2 旧式字符串格式化(% 格式化)
在 Python 中,旧式字符串格式化使用 %
操作符。不同的数据类型有不同的格式化符号,如 %s
用于字符串,%d
用于整数,%f
用于浮点数等。
python
# 格式化字符串和整数
name = "Alice" # 定义一个字符串变量
age = 25 # 定义一个整数变量
print("我的名字是 %s,年龄是 %d 岁。" % (name, age)) # 使用 % 格式化输出姓名和年龄
# 格式化浮点数
pi = 3.1415926 # 定义一个浮点数变量
print("圆周率约为 %.2f" % pi) # 使用 % 格式化输出保留两位小数的圆周率
3.3 新式字符串格式化(str.format()
方法)
Python 提供了 str.format()
方法来进行字符串格式化,这种方式更加灵活和易读。
python
# 基本的 str.format() 使用
name = "Bob" # 定义一个字符串变量
age = 30 # 定义一个整数变量
print("我的名字是 {},年龄是 {} 岁。".format(name, age)) # 使用 str.format() 方法格式化输出姓名和年龄
# 通过索引指定参数顺序
print("年龄是 {1} 岁的 {0} 很开心。".format(name, age)) # 通过索引指定参数顺序进行格式化输出
# 格式化浮点数
pi = 3.1415926 # 定义一个浮点数变量
print("圆周率约为 {:.2f}".format(pi)) # 使用 str.format() 方法格式化输出保留两位小数的圆周率
3.4 f - 字符串(格式化字符串字面值)
Python 3.6 及以上版本引入了 f - 字符串,这是一种更简洁、更直观的字符串格式化方式。
python
name = "Charlie" # 定义一个字符串变量
age = 35 # 定义一个整数变量
# 使用 f - 字符串进行格式化输出
print(f"我的名字是 {name},年龄是 {age} 岁。")
# 格式化浮点数
pi = 3.1415926 # 定义一个浮点数变量
print(f"圆周率约为 {pi:.2f}") # 使用 f - 字符串格式化输出保留两位小数的圆周率
四、总结与展望
4.1 总结
Python 中的用户交互和格式化输出是实现程序与用户有效沟通的重要手段。input()
函数方便我们获取用户输入,通过类型转换和错误处理可以确保输入数据的有效性。而在格式化输出方面,从旧式的 %
格式化,到新式的 str.format()
方法,再到简洁的 f - 字符串,为我们提供了多种选择,能够根据不同的场景和需求,以美观、易读的方式展示信息。
4.2 展望
随着 Python 的不断发展,用户交互和格式化输出的功能可能会更加丰富和强大。例如,可能会出现更智能的输入验证机制,减少开发者手动处理输入错误的工作量;在格式化输出方面,或许会引入更多个性化的格式化选项,以满足不同领域和场景下对信息展示的特殊要求。同时,在与图形化界面和网络交互等方面的结合上,用户交互和格式化输出也将有更广阔的发展空间。