Python基础:输入输出详解-输出字符串格式化

在这里插入图片描述

  Python中的输入和输出是编程中非常重要的方面。

1. 输入输出简单介绍

1.1 输入方式

  Python中的输入可以通过input()函数从键盘键入,也可以通过命令行参数或读取文件的方式获得数据来源。

1)input()示例

  基本的input()函数,会将用户在终端(键盘)输入的内容作为字符串返回。

user_input = input("请输入内容:")

  通过类型转换为其他数据类型,如:
  使用 int() float() 函数将用户输入的内容转换为整数或浮点数。

# 获取用户输入的整数
user_input = int(input("请输入整数:"))

# 获取用户输入的浮点数
user_input = float(input("请输入浮点数:"))

  使用eval() 函数(不推荐,慎用)
  eval() 函数用于执行以字符串形式给出的 Python 表达式,并返回表达式的结果。
  注意:使用 eval() 函数时要非常小心,特别是当从不受信任的来源获取输入时。不建议直接将用户输入传递给eval() 函数,因为它可能执行任意的 Python 代码,包括潜在的危险操作。最好是在确定输入是安全的情况下使用 eval()

"""
用户可以输入任何合法的数学表达式,比如 "2 + 3 * 4"。eval() 函数会将输入的字符串作为 Python 表达式来计算,并输出结果。使用 try-except 块来捕获可能的异常,以防止输入的表达式引发错误。
"""

# 获取用户输入的数学表达式并计算结果
expression = input("请输入一个数学表达式:")
try:
    result = eval(expression)
    print("计算结果:", result)
except Exception as e:
    print("发生错误:", e)

2) 命令行参数

  通过命令行参数输入是一种常见的方式,特别是当你想在运行脚本时提供输入而不交互地输入时。
  演示如何通过命令行参数输入:

# 文件名: script.py

import sys

# 获取命令行参数
# 注意:sys.argv[0] 是脚本的名称,而实际的参数从 sys.argv[1] 开始
if len(sys.argv) < 2:
    print("请提供一个参数(例如:python script.py 输入内容)")
else:
    # 第一个命令行参数是输入的内容
    user_input = sys.argv[1]
    print("您输入的内容是:", user_input)

  在命令行中运行这个脚本,例如:

python script.py Hello

  输出应该是:

您输入的内容是: Hello

  通过sys.argv 获取命令行参数,如果没有提供足够的参数,脚本会输出一个提示。第一个参数是脚本的名称,实际的输入参数从第二个开始。

3)通过文件读取方式

  使用 open() 函数来打开文件,并使用read() 方法来读取文件的内容。

# 打开文件
file_path = 'example.txt'
with open(file_path, 'r') as file:
    # 读取整个文件内容
    content = file.read()
    print("文件内容:")
    print(content)

  open(file_path, 'r') 打开一个名为 'example.txt'的文件进行读取。使用 with语句可以确保在文件使用完毕后正确关闭。read() 方法用于读取整个文件的内容,并将其存储在变量 content中,然后通过 print() 函数输出文件内容。

1.2 输出方式

  在 Python 中,主要使用 print() 函数进行输出。print() 函数可以打印字符串、数字和其他数据类型的内容到控制台。

2. 复杂的输出格式

  程序的输出有几种显示方式,数据既可以输出供人阅读,也可以写入文件备用。
  格式化输出包括以下几种方法:
  1)使用“格式化字符串字面量”
  2)使用str.format()方法
  3)手动格式化字符串
  4)旧式字符串格式化方法
  当你进行调试并想要快速显示变量的值时,可以使用 repr()str() 函数将变量转化为字符串。这两个函数的选择取决于你对输出字符串的期望:
  str()函数: 返回一个供人阅读的字符串。这意味着输出通常更为友好,适合直接展示给最终用户查看。
  repr() 函数: 生成适于解释器读取的字符串,即如果没有等效的语法,会强制执行 SyntaxError。这在调试过程中更有用,因为它提供更多的细节,有助于理解对象的内部结构。
在一般情况下,数字、列表、字典等结构的值,使用str()repr() 函数输出的表现形式是相似的。但对于自定义类,你可以通过实现 __str____repr__ 方法来定义它们的输出形式。下面是一个简单的例子:

class Example:
    def __init__(self, value):
        self.value = value
    def __str__(self):
        return f"Example with value: {
     self.value}"
    def __repr__(self):
        return f&
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

snail哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值