Python入门05 print函数

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Python入门05 print函数


1 Python中的内置函数

Python中内置了很多函数,我们可以直接调用,以下是一些常见的函数:

  1. abs():返回一个数的绝对值。
  2. all():判断一个可迭代对象中的所有元素是否都为真。
  3. any():判断一个可迭代对象中是否有任何一个元素为真。
  4. ascii():返回一个字符串,其中包含用ASCII表示法表示的字符。
  5. bin():将整数转换为二进制字符串。
  6. bool():将对象转换为布尔值。
  7. breakpoint():在Python 3.7及以上版本中,用于在交互式调试器中设置断点。
  8. bytearray():创建一个字节数组。
  9. bytes():将对象转换为字节串。
  10. callable():判断对象是否可调用。
  11. chr():将整数转换为对应的Unicode字符。
  12. classmethod():定义类方法。
  13. compile():将源代码编译为字节码对象。
  14. complex():创建一个复数。
  15. delattr():删除对象的属性。
  16. dict():创建一个字典。
  17. dir():返回对象的属性和方法列表。
  18. divmod():返回商和余数的元组。
  19. enumerate():返回一个枚举对象,其中包含可迭代对象的索引和值。
  20. eval():计算字符串中的Python表达式。
  21. exec():执行字符串中的Python代码。
  22. filter():使用过滤函数过滤元素。
  23. float():将对象转换为浮点数。
  24. format():格式化字符串。
  25. frozenset():创建一个不可变的集合。
  26. getattr():获取对象的属性。
  27. globals():返回当前全局符号表。
  28. hasattr():判断对象是否具有指定的属性。
  29. hash():返回对象的哈希值。
  30. help():显示对象的帮助文档。
  31. hex():将整数转换为十六进制字符串。
  32. id():返回对象的唯一标识符。
  33. input():从标准输入读取一行文本。
  34. int():将对象转换为整数。
  35. isinstance():判断对象是否为指定类的实例。
  36. issubclass():判断类是否为指定类的子类。
  37. iter():返回对象的迭代器。
  38. len():返回对象的长度。
  39. list():创建一个列表。
  40. locals():返回当前局部符号表。
  41. map():将函数应用于可迭代对象的元素。
  42. max():返回可迭代对象中的最大值。
  43. memoryview():创建一个内存视图对象。
  44. min():返回可迭代对象中的最小值。
  45. next():返回可迭代对象的下一个值。
  46. object():创建一个对象。
  47. oct():将整数转换为八进制字符串。
  48. open():打开一个文件。
  49. ord():将字符转换为整数。
  50. pow():计算幂。
  51. print():打印对象。
  52. property():定义属性。
  53. range():创建一个范围对象。
  54. repr():返回对象的表示字符串。
  55. reversed():返回可迭代对象的反向迭代器。
  56. round():四舍五入浮点数。
  57. set():创建一个集合。
  58. setattr():设置对象的属性。
  59. slice():创建一个切片对象。
  60. sorted():返回排序后的列表。
  61. staticmethod():定义静态方法。
  62. str():将对象转换为字符串。
  63. sum():返回可迭代对象的和。
  64. super():调用父类的方法。
  65. tuple():创建一个元组。
  66. type():返回对象的类型。
  67. vars():返回对象的属性字典。
  68. zip():将多个可迭代对象打包成一个元组列表。

这些内置函数可以帮助我们完成各种常见的任务,例如类型转换、文件操作、数学运算等。

2 print函数介绍

print()函数是Python中用于打印输出的内置函数。它可以将任何对象作为参数,并将其转换为字符串后输出到标准输出设备(通常是屏幕)上。

print()函数的语法如下:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

其中:

  • objects:要输出的对象,可以是字符串、数字、列表、元组等任何可以转换为字符串的对象。
  • sep:用于分隔多个对象的字符串,默认为一个空格。
  • end:输出的结尾字符串,默认为换行符'\n'
  • file:输出的文件对象,默认为sys.stdout,即标准输出。
  • flush:是否刷新输出缓冲区,默认为False

以下是一些使用print()函数的示例:

# 打印字符串
print("Hello, World!")
# 打印多个字符串,用逗号分隔
print("Hello", "World", sep=',')
# 打印列表
print([1, 2, 3])
# 打印元组
print((1, 2, 3))
# 打印字典
print({"name": "Alice", "age": 20})
# 打印多个对象,用逗号分隔
print("Hello", [1, 2, 3], {"name": "Alice", "age": 20},sep=',')
# 指定分隔符和结尾字符
print("Hello", "World", "!", sep="-", end="**")

输出结果:

3 print函数的用途

print()函数的输出可以重定向到不同的目标,这使得它在实际应用中具有广泛的用途。以下是一些常见的使用场景:

  1. 输出调试信息:在编写程序时,我们通常需要输出一些调试信息来帮助我们理解程序的运行过程。使用print()函数可以方便地输出这些调试信息。例如:
def factorial(n):
    print("Calculating factorial of", n)
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)
factorial(5)

这个函数会输出每次递归调用的参数,帮助我们理解程序的运行过程。

我们从控制台可以看到,按照递归的顺序依次执行,最终打印了120的结果

  1. 输出日志信息:在编写程序时,我们通常需要记录程序运行过程中的日志信息,以便在出现问题时进行排查。使用print()函数可以方便地输出这些日志信息。例如:
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')

这个程序会输出不同级别的日志信息,帮助我们了解程序的运行状态。

在这个代码中,level=logging.DEBUG设置了日志的级别为DEBUG

logging模块提供了以下几个日志级别,从低到高:

  • DEBUG:调试信息,用于记录程序的详细运行过程。
  • INFO:普通信息,用于记录程序的运行状态和一些重要事件。
  • WARNING:警告信息,用于记录可能出现问题的情况,但不影响程序的正常运行。
  • ERROR:错误信息,用于记录程序出现错误的情况,但不会导致程序崩溃。
  • CRITICAL:严重错误信息,用于记录程序出现严重错误的情况,可能导致程序崩溃。

level=logging.DEBUG设置了日志的级别为DEBUG,这意味着所有级别的日志都会被记录,包括DEBUGINFOWARNINGERRORCRITICAL

比如我们只希望报错信息打印出来,我们就可以将级别调整到error

  1. 输出到文件:在编写程序时,我们通常需要将程序的输出保存到文件中,以便后续的分析和处理。使用print()函数可以方便地将输出重定向到文件中。例如:
with open('output.txt', 'w') as f:
    for i in range(10):
        print(i, file=f)

这个程序会将数字0到9输出到output.txt文件中。这里output.txt存放的路径和你命令行窗口的打开位置相关,如果需要指定文件存放路径,可以设置存放目录

import os
# 创建目录
os.makedirs('C:/temp', exist_ok=True)
# 打开文件
with open('C:/temp/output.txt', 'w') as f:
    for i in range(10):
        print(i, file=f)

这样我们就在C盘下的temp文件夹下创建了日志文件

  1. 输出到网络:在编写程序时,我们通常需要将程序的输出发送到网络上的某个地址,以便与其他程序进行通信。使用print()函数可以方便地将输出发送到网络上的某个地址。例如:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('example.com', 80))
print("GET / HTTP/1.1\r\nHost: example.com\r\n\r\n", file=s)
response = s.recv(1024)
print(response)

这个程序会连接到example.com的80端口,并向其发送一个HTTP请求,然后接收并输出服务器返回的响应。

总结

我们本篇介绍了python常见内置函数,重点介绍了print函数的用法,脚本语言要会用控制台,向控制台打印信息通常便于我们调试程序。在程序正式上线之后,将错误信息记录到文件中便于我们定位线上故障,快速的排查问题。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
1天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
4天前
|
存储 JSON 监控
告别Print,使用IceCream进行高效的Python调试
本文将介绍**IceCream**库,这个专门用于调试的工具显著提升了调试效率,使整个过程更加系统化和规范化。
20 2
告别Print,使用IceCream进行高效的Python调试
|
1天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
1天前
|
设计模式 缓存 开发框架
Python中的装饰器:从入门到实践####
本文深入探讨了Python中装饰器的工作原理与应用,通过具体案例展示了如何利用装饰器增强函数功能、提高代码复用性和可读性。读者将学习到装饰器的基本概念、实现方法及其在实际项目开发中的实用技巧。 ####
11 3
|
1天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
3天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
3天前
|
人工智能 数据挖掘 程序员
Python编程入门:从零到英雄
【10月更文挑战第37天】本文将引导你走进Python编程的世界,无论你是初学者还是有一定基础的开发者,都能从中受益。我们将从最基础的语法开始讲解,逐步深入到更复杂的主题,如数据结构、面向对象编程和网络编程等。通过本文的学习,你将能够编写出自己的Python程序,实现各种功能。让我们一起踏上Python编程之旅吧!
|
6月前
|
人工智能 Java Python
python入门(二)安装第三方包
python入门(二)安装第三方包
|
1月前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
63 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda