Python print 函数的 20 种创意用法揭秘

开发
别看函数 print() 日常,一旦掌握了它的创意用法,你的代码不仅能说话,还能唱歌跳舞呢!让我们一起,从基础到高阶,解锁print()的新世界。

今天我们要一起探索的是那个看似简单却藏着无限可能的小函数——print()。别看它日常,一旦掌握了它的创意用法,你的代码不仅能说话,还能唱歌跳舞呢!让我们一起,从基础到高阶,解锁print()的新世界。

1. 基础打印

最基本,但也是最常用的,打印文本或变量。

message = "你好,世界!"
print(message)

解读:这是打印的起点,告诉计算机“我要展示这个信息”。

2. 多个参数

一次打印多个内容,用逗号分隔。

print("Python", "是", "有趣的")

效果:Python 是 有趣的,逗号自动添加了空格。

3. 格式化字符串(f-string,Python 3.6+)

让变量直接嵌入字符串。

name = "小明"
print(f"欢迎,{name}!")

亮点:清晰,直观。

4. 使用sep参数

改变多个参数间的分隔符。

print("苹果", "香蕉", "橙子", sep=", ")

结果:苹果, 香蕉, 橙子,适合制作列表。

5. end参数控制结束符号

默认是换行,但我们可以改。

print("不换行的问候", end=" ")
print("继续")

注意:这样可以连续输出在同一行。

6. 打印空行

利用换行特性,打印空行。

print()

简单,但有时候就是这么需要。

7. 数字格式化

结合f-string或.format(),精确控制数字显示。

pi = 3.14159
print(f"{pi:.2f}")  # 保留两位小数

科学:让数字展现得既美观又准确。

8. 列表打印

一行打印列表元素,用join美化。

fruits = ["苹果", "香蕉", "橙子"]
print(", ".join(fruits))

优雅:让列表元素成为一句话。

9. 循环中的print

遍历列表时逐行打印。

for fruit in fruits:
    print(fruit)

动态:适合展示循环过程。

10. 条件打印

根据条件决定是否打印。

age = 18
if age >= 18:
    print("成年了!")

逻辑:让代码有选择地发言。

11. 不同编码的打印

处理非UTF-8编码的文本。

print("你好,世界!".encode('utf-8').decode('gbk'))

跨文化:在不同编码间游刃有余。

12. 递归打印

用递归展示数字序列。

def recursive_print(n):
    if n > 0:
        print(n)
        recursive_print(n-1)
recursive_print(5)

深入:理解递归,打印出倒序数字。

13. 使用sys.stdout.write()

更底层的打印方式,不自动换行。

import sys
sys.stdout.write("直接写入,不换行")

控制:适合需要精细控制输出流的情况。

14. 打印进度条

模拟下载进度。

for i in range(101):
    progress = "#" * i + " " * (100-i)
    print(f"\r下载进度: {progress}", end="")

动态:直观的进度展示,提升用户体验。

15. 打印彩色文本(终端支持)

利用ANSI转义码。

print("\033[31m红色文字\033[0m")

美化:给终端一点颜色看看!

16. 打印时间戳

实时获取当前时间。

from datetime import datetime
print(datetime.now())

记录:打印出代码运行的时间点。

17. 利用print调试

打印变量值,辅助调试。

def mystery_function(x):
    print(f"输入是{x}")
    return x*2

实用:快速理解函数内部发生了什么。

18. 无输出的print

pass语句配合print,用于占位。

def later():
    print("正在开发...")
    pass

占位:清晰表明意图,而不影响程序执行。

19. 打印异常信息

捕获异常时打印错误详情。

try:
    1/0
except Exception as e:
    print(e)

安全:优雅处理错误,知道哪里出了问题。

20. 重定向print输出

将输出导向文件。

with open("output.txt", "w") as file:
    print("这是输出到文件的内容", file=file)

持久:将信息保存,便于后续查看。

实战案例分析

案例1:日志记录系统

目标:创建一个简单的日志记录器,记录程序运行的关键信息到文件和控制台。

def log_message(message, log_file="app.log"):
    with open(log_file, "a") as file:
        timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        print(f"[{timestamp}] {message}", file=file)
        print(f"[{timestamp}] {message}")

log_message("程序开始执行")
# 程序其他部分...
log_message("关键任务完成")

解读:这里结合了打印到控制台和文件的技术,以及时间戳的生成,非常适合于监控程序状态。

练习技巧方法提示

练习:尝试修改上面的log_message函数,使其能区分不同的日志级别(如INFO、WARNING、ERROR),并以不同颜色打印到控制台。

使用技巧与注意事项

  • 效率:在大量数据处理或高性能要求的代码中,频繁使用print可能会影响性能,考虑使用日志模块(logging)代替。
  • 安全性:在涉及用户输入的场景下,避免直接print未经验证的数据,以防注入攻击。
  • 可读性:合理利用print进行调试,但最终的代码应减少不必要的输出,保持整洁。

进阶探索:自定义打印函数

创建一个更强大的打印函数,支持更多定制化需求,比如控制输出颜色、格式等。

def custom_print(msg, color="white", file=sys.stdout):
    colors = {
        'white': '\033[0m',
        'red': '\033[91m',
        'green': '\033[92m',
        'blue': '\033[94m'
    }
    print(f"{colors[color]}{msg}\033[0m", file=file)

custom_print("这是蓝色的文字", color="blue")

总结:通过这些实战技巧和深入理解,你不仅学会了如何创造性地使用print函数,还能在实际项目中灵活运用,提升代码的可读性和功能性。

责任编辑:赵宁宁 来源: 手把手PythonAI编程
相关推荐

2010-07-07 11:21:58

UML九种视图

2017-07-24 10:15:32

2014-04-15 09:28:14

移动界面动画效果创意

2010-06-30 13:07:17

SQL Server函

2010-08-24 13:34:11

CSSpadding

2021-07-19 09:58:22

Pythonprint函数

2010-07-20 15:24:27

MS SQL Serv

2010-08-06 09:45:50

Flex事件机制

2010-08-06 10:15:35

Flex绑定

2010-08-25 13:54:29

CSStop

2022-09-13 09:31:59

Python内置函数lambda

2019-09-03 10:55:20

Python函数lambad

2010-07-23 15:37:22

Perl调试器用法

2010-08-26 10:33:27

CSSborder

2021-06-01 07:19:58

Python函数装饰器

2024-07-05 11:34:07

2010-07-08 10:38:24

MS SQL Serv

2021-05-17 08:00:06

PythonPrint 函数

2015-04-13 15:51:07

混合云抽象云大型主机

2019-10-18 15:35:16

Python编程语言高级用法
点赞
收藏

51CTO技术栈公众号