python print常见用法

  • 1. **基本用法**
  • 2. **打印多个值**
  • 3. **修改分隔符 `sep`**
  • 4. **修改行尾 `end`**
  • 5. **文件输出 `file`**
  • 6. **自定义输出的缓冲 `flush`**
  • 7. **格式化字符串输出**
  • 1. **旧式格式化(%)**
  • 2. **`str.format()`**
  • 3. **f-strings(格式化字符串)**
  • 8. **转义字符**
  • 9. **抑制换行**
  • 10. **打印 Unicode 字符**
  • 11. **使用 `repr()` 输出表示形式**
  • 12. **打印字典或列表的美化输出**
  • 13. **打印异常信息**
  • 在 Python 中,print() 是一个非常常用的函数,用于将输出打印到控制台。它功能强大,支持多种格式化方式和参数,下面详细介绍 Python 中 print() 函数的各种用法。

    1. 基本用法

    print("Hello, World!")
    

    这是最简单的用法,输出字符串 "Hello, World!"

    2. 打印多个值

    你可以通过逗号分隔多个值,它们会按顺序输出,默认以空格作为分隔符:

    print("Hello", "World", 2024)
    
    

    输出结果为:

    Hello World 2024
    

    3. 修改分隔符 sep

    print() 默认使用空格作为多个值之间的分隔符,可以通过 sep 参数自定义分隔符:

    print("apple", "banana", "cherry", sep="-")
    

    输出结果为:

    apple-banana-cherry
    

    4. 修改行尾 end

    默认情况下,print() 会在输出的末尾自动添加一个换行符,可以通过 end 参数改变默认行为。例如,如果你想在同一行输出内容:

    print("Hello", end=" ")
    print("World!")
    

    输出结果为:

    Hello World!
    

    可以用 end="" 来避免换行或者插入自定义字符。

    5. 文件输出 file

    print() 默认将输出发送到标准输出(通常是控制台),但你也可以通过 file 参数将输出写入文件:

    with open("output.txt", "w") as f:
        print("Hello, file!", file=f)
    
    

    这会将 "Hello, file!" 写入 output.txt 文件。

    6. 自定义输出的缓冲 flush

    print() 默认是带有缓冲的,即输出内容会暂时存储在内存中,然后再一次性输出到目的地。你可以使用 flush=True 强制即时输出,不经过缓冲:

    import time
    
    for i in range(5):
        print(i, end=" ", flush=True)
        time.sleep(1)
    
    

    这个例子会立即输出每个数字,并在每次输出后暂停 1 秒。

    7. 格式化字符串输出

    Python 中可以通过多种方式格式化输出:

    1. 旧式格式化(%)

    name = "Alice"
    age = 30
    print("My name is %s and I am %d years old." % (name, age))
    
    

    输出结果为:

    My name is Alice and I am 30 years old.
    

    2. str.format()

    使用 str.format() 方法可以进行更灵活的格式化:

    name = "Bob"
    age = 25
    print("My name is {} and I am {} years old.".format(name, age))
    

    也可以指定参数的顺序:

    print("My name is {1} and I am {0} years old.".format(age, name))
    

    3. f-strings(格式化字符串)

    这是 Python 3.6 及以上版本提供的更简洁的格式化方式:

    name = "Charlie"
    age = 35
    print(f"My name is {name} and I am {age} years old.")
    

    f-strings 支持在大括号内直接使用表达式:

    print(f"The sum of 2 and 3 is {2 + 3}.")
    

    8. 转义字符

    print() 中的字符串可以包含转义字符,以表达特殊字符:

  • \\n:换行
  • \\t:制表符
  • \\\\:反斜杠
  • \\'\\":单引号或双引号
  • 例如:

    print("Hello\\nWorld")  # 换行
    print("Hello\\tWorld")  # 制表符
    print("He said: \\"Python is awesome!\\"")  # 输出带双引号的字符串
    

    9. 抑制换行

    通过将 end="" 设置为空字符串,可以抑制默认的换行符:

    print("Hello", end="")
    print("World")
    

    输出结果为:

    HelloWorld
    

    10. 打印 Unicode 字符

    Python print() 支持 Unicode 字符,这意味着你可以直接打印出特殊符号和非英文字符:

    print("I love Python 💻")
    

    11. 使用 repr() 输出表示形式

    print() 函数会默认调用 str() 函数将对象转换为字符串,你也可以使用 repr() 获得对象的“官方表示形式”:

    value = 10 / 3
    print("Using str():", str(value))
    print("Using repr():", repr(value))
    

    repr() 输出的结果会更接近对象的真实表示。

    12. 打印字典或列表的美化输出

    在 Python 中,使用 print() 打印字典或列表时可以结合 json 模块进行美化输出:

    import json
    
    data = {"name": "Alice", "age": 30, "job": "Engineer"}
    print(json.dumps(data, indent=4))
    

    输出结果为:

    {
        "name": "Alice",
        "age": 30,
        "job": "Engineer"
    }
    

    13. 打印异常信息

    使用 print() 函数可以结合 traceback 模块打印异常的详细信息:

    import traceback
    
    try:
        1 / 0
    except Exception as e:
        print("An error occurred:", e)
        traceback.print_exc()
    

    总结起来,Python 中的 print() 函数非常灵活,可以根据实际需要通过参数、格式化方法、文件输出等功能来实现丰富的打印效果。

    作者:lzt2323

    物联沃分享整理
    物联沃-IOTWORD物联网 » python print常见用法

    发表回复