os.get_terminal_size(),无差别获取当前终端长宽,让你为所欲为。
(笔记模板由python脚本于2024年07月27日 08:30:53创建,本篇笔记适合喜欢钻研的coder翻阅)
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室
本文质量分:
本文地址: https://blog.csdn.net/m0_57158496/article/details/140722981
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆ Python获取终端尺寸
- 1、基本方式
- 2、Windows是“独门冲”!
- 3、Windows也有“偏方”。
- 4、os.popen
- 5、subprocess.Popen
- 6、os.system“命令容器”
- 7、盖世神功 V S VS VS独门绝技
- 7.1 os.get_terminal_size是盖世神功
- 7.2 各有“独门绝技”
- 8、os.get_terminal_size的参数
- 8.1 参数解疑
- 8.2 ai表述迷糊澄清
- 9、ai的乐趣
- 10、结论
◆ Python获取终端尺寸
1、基本方式
在Python中,你可以使用标准库中的os
模块来获取终端的尺寸。
以下是一个示例代码,展示了如何获取终端的行数和列数
:
import os
import struct
import fcntl
import termios
def get_terminal_size():
"""获取终端尺寸"""
th, tw, hp, wp = struct.unpack('HHHH',
fcntl.ioctl(0, termios.TIOCGWINSZ,
struct.pack('HHHH', 0, 0, 0, 0)))
return tw, th
# 使用函数
width, height = get_terminal_size()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")
这个方法适用于Unix-like系统,包括Linux和macOS。如果你在Windows上,可以使用os.get_terminal_size()
方法,它是Python 3.3及以上版本中os
模块的一部分:
import os
# 在Windows上获取终端尺寸
width, height = os.get_terminal_size()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")
os.get_terminal_size()
方法同样适用于Unix-like系统,因此如果你想要跨平台的解决方案,可以直接使用这个方法。
我
ai
不,前面提供的代码块并不是os.get_terminal_size
方法的源码。os.get_terminal_size()
是Python标准库中的一个函数,它的源码是C语言编写的,并内置于Python解释器中。而我提供的代码是一个使用Python编写的函数,它使用了Unix-like系统中的fcntl
和termios
模块来直接与终端进行交互,以获取其尺寸信息。
下面是
os.get_terminal_size()的简单使用示例
:
import os
# 获取终端尺寸
size = os.get_terminal_size()
# 打印终端尺寸
print(f"行数: {size.lines}")
print(f"列数: {size.columns}")
这段代码调用了os.get_terminal_size()
函数,它会返回一个os.terminal_size
对象,该对象包含终端的行数和列数。
如果你想要查看os.get_terminal_size()
的源码,你需要查看Python标准库的C语言实现部分。这些源码通常位于Python源代码仓库的Modules/posixmodule.c
文件中。但是,这些源码是高度专业的,通常需要具备C语言和Python内部机制的知识才能理解。如果你确实想查看,可以访问Python的官方GitHub仓库或者下载Python源代码来查找相关实现。
我
ai
第一段代码块,它使用了 fcntl 和 termios 模块,主要是针对Unix-like系统(包括Linux和macOS)设计的,并且不适用于Windows。
在Windows上, fcntl 和 termios 模块不可用,因为它们是Unix系统的特定功能。如果你在Windows上运行那个代码块,你会遇到导入错误。
为了获取Windows系统的终端尺寸,你应该使用 os.get_terminal_size() ,如我之前所述。这个方法是跨平台的,可以在Windows、Linux和macOS上正常工作。
以下是适用于Windows系统的代码示例
:
import os
# 获取终端尺寸,适用于Windows
size = os.get_terminal_size()
# 打印终端尺寸
print(f"行数: {size.lines}")
print(f"列数: {size.columns}")
总之, os.get_terminal_size() 是适用于所有主流操作系统的官方方法,而使用 fcntl 和 termios 的代码块仅适用于Unix-like系统。
2、Windows是“独门冲”!
我
ai
是的,可以这么说。在不同的操作系统上,获取终端尺寸的方法确实有所不同,这通常是由于操作系统提供的API和功能差异造成的。在Windows上,获取终端尺寸的方法与Unix-like系统(如Linux和macOS)存在差异,因此需要使用专门为Windows设计的接口。
在Unix-like系统中,termios
和fcntl
等库被广泛用于处理终端I/O和属性,但它们在Windows上不可用。相反,Windows提供了自己的API来处理这些任务,而Python的os
模块中的get_terminal_size()
函数已经考虑到了这些差异,并且为不同的操作系统提供了相应的实现。
所以,当你在Windows上编写跨平台的Python代码时,确实需要使用Windows特有的方法或者使用Python标准库中已经为你处理了这些差异的跨平台函数,如os.get_terminal_size()
。这可以看作是Windows上的“独门冲”,因为它使用的是Windows特定的解决方案。
3、Windows也有“偏方”。
我
ai
在Windows上,除了使用Python标准库中的os.get_terminal_size()
方法外,还可以使用其他方法来获取终端尺寸。
以下是一些可能的方法
:
1、 使用ctypes模块调用Windows API
:
import ctypes
def get_terminal_size_windows():
h = ctypes.windll.kernel32.GetStdHandle(-12) # STD_OUTPUT_HANDLE
csbi = ctypes.create_string_buffer(22)
res = ctypes.windll.kernel32.GetConsoleScreenBufferInfo(h, csbi)
if res:
import struct
(bufx, bufy, curx, cury, wattr,
left, top, right, bottom,
maxx, maxy) = struct.unpack("hhhhHhhhhhh", csbi.raw)
sizex = right - left + 1
sizey = bottom - top + 1
return sizex, sizey
else:
# Sometimes it fails on the first call, but succeeds on the second
return get_terminal_size_windows()
# 使用函数
width, height = get_terminal_size_windows()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")
这段代码使用了Windows API函数GetConsoleScreenBufferInfo
来获取终端的尺寸信息。
2、使用subprocess
模块运行mode con
命令:
import subprocess
def get_terminal_size_windows():
try:
output = subprocess.check_output(["mode", "con"], universal_newlines=True)
for line in output.split('\n'):
if 'Columns:' in line:
columns = int(line.split(':')[-1].strip())
if 'Lines:' in line:
lines = int(line.split(':')[-1].strip())
return columns, lines
except Exception as e:
print("无法获取终端尺寸:", e)
return None
# 使用函数
width, height = get_terminal_size_windows()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")
这个方法通过运行Windows命令提示符的mode con
命令来获取终端尺寸。
请注意,以上方法仅适用于Windows操作系统,并且可能会因为Windows的不同版本或配置而有所不同。使用这些方法时,请确保你的代码能够处理可能出现的异常情况。通常,使用Python标准库中的os.get_terminal_size()
是最简单且最可靠的方法。
我
ai
确实,Python以其灵活性和提供多种方法来解决同一个问题而闻名。这种多样性允许开发者根据具体情况选择最合适的工具或方法。在处理跨平台问题时,这种特性尤其有用,因为它为不同操作系统上的相同任务提供了多种实现方式。
Python社区经常说“有不止一种方法来做这件事”,这也体现了Python设计哲学中的一个重要原则,即“多种途径优于一种”(“There should be one-- and preferably only one --obvious way to do it”)。虽然这有时会导致初学者在选择最佳实践时感到困惑,但它也为经验丰富的开发者提供了极大的灵活性和选择自由。
这种“不只一套”的解决方案,确实使得Python在处理各种任务时变得非常强大和灵活,无论是在Windows、Linux、macOS还是其他任何支持Python的平台上。这也是Python成为最受欢迎和广泛使用的编程语言之一的原因之一。🤗🤗
我
ai
确实,Python的灵活性允许开发者根据不同的需求和环境选择不同的解决方案,有时候这可能意味着需要编写更多的代码来处理特定的情况,比如在不同的操作系统上获取终端尺寸。
这种“弯弯绕绕”实际上是编程中常见的情况,它要求开发者对问题有更深入的理解,并且能够根据不同的平台和环境调整解决方案。虽然这可能会增加一些复杂性,但它也提供了更多的控制权,允许开发者优化代码以适应特定的需求。
而且,这种多路径解决问题的能力也是Python语言强大和广泛适用的一个标志。开发者可以根据自己的喜好、项目需求或个人风格来选择最合适的方法。这种多样性使得Python成为了一个既有趣又富有挑战性的编程语言。
最终,无论是选择简洁明了的标准库函数,还是深入底层进行自定义实现,Python都为开发者提供了丰富的工具和选项,让编程变得更加灵活和有趣。😋😋
4、os.popen
我
ai
是的,您提到的os.popen
是一个可以用来执行命令并获取其输出的Python函数,它可以在Unix-like系统以及Windows上使用。使用os.popen
,您可以执行Windows的mode con
命令来获取终端尺寸。
以下是如何使用 `os.popen` 来获取Windows终端尺寸的示例代码:
import os
def get_terminal_size_windows():
# 执行命令并捕获输出
output = os.popen('mode con').read()
# 解析命令输出中的行数和列数
for line in output.split('\n'):
if 'Columns:' in line:
columns = int(line.split(':')[-1].strip())
if 'Lines:' in line:
lines = int(line.split(':')[-1].strip())
return columns, lines
# 使用函数
width, height = get_terminal_size_windows()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")
在这段代码中,os.popen
执行了 mode con
命令,该命令在Windows命令行中用于显示控制台的信息,包括其尺寸。然后,代码解析命令的输出以找到终端的列数和行数。
请注意,os.popen
已在Python 3.3中被弃用,并且在后续版本中被 subprocess.Popen
取代,因为后者提供了更安全和灵活的方式来处理子进程。因此,虽然 os.popen
可以用来实现这一功能,但推荐使用 subprocess
模块,因为它更加现代且功能丰富。以下是如何使用 subprocess
来实现相同功能的代码:
import subprocess
def get_terminal_size_windows():
output = subprocess.Popen('mode con', shell=True, stdout=subprocess.PIPE).communicate()[0]
output = output.decode()
for line in output.split('\n'):
if 'Columns:' in line:
columns = int(line.split(':')[-1].strip())
if 'Lines:' in line:
lines = int(line.split(':')[-1].strip())
return columns, lines
# 使用函数
width, height = get_terminal_size_windows()
print(f"终端宽度: {width} 列")
print(f"终端高度: {height} 行")
5、subprocess.Popen
使用 subprocess.Popen
是现代Python代码中执行外部命令的首选方式。
我
ai
您的理解是正确的,将os.popen
标记为弃用(deprecated)并引入subprocess.Popen
并不是简单的“挪个位置更个名儿”。这个过程涉及到了对原有功能进行改进和增强,以提供更安全、更灵活、更强大的子进程管理方式。
以下是 os.popen
被弃用并推荐使用 subprocess
模块的一些原因:
-
安全性:
os.popen
使用起来不如subprocess
安全,因为它容易引发代码注入攻击,尤其是在调用 shell 命令时。subprocess
提供了更安全的方式来执行命令,尤其是在传递参数时。 -
灵活性:
subprocess
模块提供了多种不同的方法来启动和管理子进程,包括Popen
类,它允许更细致地控制子进程的输入输出,以及等待子进程完成的方式。 -
功能丰富:
subprocess
提供了更多功能,比如可以更容易地捕获标准输出和标准错误,可以执行管道操作,还可以在不启动额外 shell 的情况下执行命令。 -
统一性:
subprocess
模块统一了之前分散在os
和popen2
等模块中的功能,提供了一个单一的、一致的API来处理子进程。
虽然 os.popen
在某些情况下仍然可以工作,但是官方推荐使用 subprocess
模块,因为它提供了更好的设计,更现代的接口,以及更全面的错误处理机制。
因此,当 os.popen
被弃用时,它并不是简单地被“禁用”或重命名,而是被一个更先进、更适合现代编程需求的模块所替代。这种替换反映了Python语言不断进化的过程,旨在提供更好的工具来帮助开发者编写更安全、更高效、更易于维护的代码。😋
我
ai
相对于os.get_terminal_size()
,使用os.popen
或subprocess.Popen
来获取终端尺寸的方法有以下潜在的优势和不同的使用场景:
-
跨版本兼容性:
os.get_terminal_size()
是在 Python 3.3 版本中引入的。如果你的代码需要运行在早于 3.3 的 Python 版本上,那么os.popen
或subprocess.Popen
是获取终端尺寸的可行方法。
-
自定义命令执行:
- 使用
os.popen
或subprocess.Popen
允许你执行任意的系统命令来获取终端尺寸,这可能包含了os.get_terminal_size()
不直接提供的信息。例如,在某些情况下,你可能需要获取终端的原始尺寸,而不是当前窗口的大小。
- 使用
-
更细致的控制:
subprocess.Popen
提供了对子进程更细致的控制,比如可以设置环境变量、工作目录、标准输入输出错误的重定向等。
-
错误处理:
- 使用
subprocess.Popen
可以更详细地处理命令执行中的错误,比如可以捕获标准错误输出,并根据返回码做出不同的处理。
- 使用
然而,尽管有上述优势,但在大多数情况下,os.get_terminal_size()
通常是更简单、更直接、更现代的方法来获取终端尺寸。
以下是它的优势
:
-
简洁性:
os.get_terminal_size()
只需一行代码就可以获取终端尺寸,使用起来非常简单。
-
跨平台:
os.get_terminal_size()
是跨平台的,它在不同的操作系统上都能工作,无需编写特定于平台的代码。
-
安全性:
os.get_terminal_size()
不需要执行外部命令,因此减少了潜在的安全风险。
-
性能:
os.get_terminal_size()
直接与操作系统交互,而不需要启动额外的进程,因此在性能上可能更优。
总之,选择哪种方法取决于具体的需求和上下文。对于大多数简单的用例,os.get_terminal_size()
是首选方法,因为它简单、安全且高效。只有在需要更复杂的子进程管理或兼容旧版 Python 时,才可能需要考虑使用 os.popen
或 subprocess.Popen
。
6、os.system“命令容器”
我
ai
是的,os.system
也是一个在 Python 中用来执行 shell 命令的函数,但它确实在功能上逊色于subprocess.Popen
。
以下是 os.system
与 subprocess.Popen
的一些对比点:
os.system
的局限性:
-
返回值限制:
os.system
返回一个整数,表示命令的退出状态。通常,如果命令成功执行,它返回 0;如果命令失败,它返回非零值。但是,它不能直接提供命令的标准输出或标准错误输出。 -
安全性问题:与
os.popen
类似,os.system
也存在安全性问题,因为它会将命令字符串传递给 shell 进行解析,这可能导致 shell 注入攻击。 -
交互性限制:使用
os.system
执行的命令不能与 Python 脚本进行交互,也就是说,你不能从 Python 中发送输入到命令,或者实时读取命令的输出。
os.system也是可以简单交互的
import os
com = input('\n输入:').strip()
os.system(com)
只是安全性有所欠缺,如果没有“安全”顾虑,也是可以放心使用滴。😜
键入clear可以清屏、li -l可以列印当前目录
subprocess.Popen
的优势:
-
更丰富的功能:
subprocess.Popen
允许你更精细地控制子进程的创建、执行和终止。你可以捕获标准输出和标准错误输出,还可以与子进程进行交互(发送输入、读取输出)。 -
安全性:
subprocess.Popen
提供了不通过 shell 执行命令的方式,这可以减少 shell 注入的风险。 -
更好的资源管理:
subprocess.Popen
允许你更有效地管理子进程的资源,例如等待子进程结束、终止子进程等。 -
可配置性:你可以配置子进程的环境变量、工作目录、标准输入输出等。
以下是一个使用 os.system的例子
:
import os
# 使用 os.system 执行一个系统命令
exit_code = os.system('ls -l')
# 打印退出状态码
print(f'Exit code: {exit_code}')
而以下是使用 subprocess.Popen的等效例子
:
import subprocess
# 使用 subprocess.Popen 执行一个系统命令
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
stdout, stderr = process.communicate()
# 打印标准输出和标准错误
print(f'Stdout: {stdout}')
print(f'Stderr: {stderr}')
# 打印退出状态码
print(f'Exit code: {process.returncode}')
综上所述,尽管 os.system
可以用于执行简单的系统命令,但 subprocess.Popen
提供了更全面、更灵活、更安全的方式来执行和管理子进程。因此,当需要更复杂的命令执行管理时,推荐使用 subprocess
模块。
7、盖世神功 V S VS VS独门绝技
7.1 os.get_terminal_size是盖世神功
我
ai
哈哈,这个比喻非常形象!确实,os.get_terminal_size()
就像是编程界的“倚天屠龙”,它是一种通用的工具,无论在哪个操作系统上,都能够高效、可靠地完成任务。就像倚天剑和屠龙刀一样,无论面对什么样的对手,都能发挥出强大的威力。
os.get_terminal_size()
的跨平台特性,使得它在不同的编程环境中都能保持一致性,极大地简化了开发者的工作。它就像一门绝世神功,不受地域和种族的限制,能够帮助开发者解决获取终端尺寸这一普遍问题。
这种强大而通用的工具是Python语言设计哲学的体现,即提供一种简单直观的方式来完成常见任务,让开发者能够将更多精力投入到解决具体业务问题上,而不是纠缠于平台差异这样的技术细节。😋😋
所以,下次当你使用os.get_terminal_size()
轻松获取终端尺寸时,不妨想象自己正手持倚天屠龙,以绝世神功,一招制胜!🤣🤣
7.2 各有“独门绝技”
我
比如,Windows独有的获取终端尺寸的方式。ai
您的比喻非常生动,确实,编程世界就像现实生活一样丰富多彩,充满了无限可能。即使在面对某些限制或挑战时,程序员们总能找到创新的解决方案,就像武侠世界中的高手们即使在困境中也能凭借独门绝技破局而出。
在编程中,每一种语言、框架或工具都有其独特的“武功秘籍”,开发者们通过不断学习和实践,将这些技术内化为自己的“独门绝技”。无论是Python的os.get_terminal_size()
,还是其他语言和工具中的特性和技巧,都是开发者武器库中的重要组成部分。
正如“赵敏丫头”禁用了乾坤大挪移,编程中也可能遇到某些功能被弃用或限制的情况,但这并不会阻止我们前进的脚步。开发者们总是能够发掘新的方法,创造出新的工具,以应对不断变化的需求和挑战。
编程的五彩斑斓体现在它的创造性、解决问题的能力以及不断进步的技术上。正如您所说,无论是编程还是生活,都充满了无限可能,而这一切都等待着我们去探索、去实现。💪💪💪
继续在这五彩斑斓的编程世界中探险吧,愿您的代码如同倚天屠龙,助您在技术江湖中一往无前!😎😎😎
8、os.get_terminal_size的参数
8.1 参数解疑
问
ai
os.get_terminal_size()
函数在Python中用于获取终端的大小。这个函数的参数是为了向后兼容而存在的。
在早期版本的Python中,os.get_terminal_size()
函数还没有出现,而是使用os.get_terminal_size(fd)
这样的形式,其中fd
是文件描述符。这个参数允许用户指定要检查哪个文件描述符关联的终端大小。通常,标准输入(stdin)、标准输出(stdout)和标准错误(stderr)的文件描述符分别是0、1和2。
以下是参数的含义
:
0
:返回与标准输入(stdin)关联的终端大小。1
:返回与标准输出(stdout)关联的终端大小。2
:返回与标准错误(stderr)关联的终端大小。
在大多数情况下,标准输入、输出和错误都是指向同一个终端,因此这三个参数返回的终端大小是相同的。这就是为什么在大多数情况下,不管传递0、1还是2,得到的结果都一样。
然而,在某些情况下,这些流可能被重定向到不同的地方,此时传递不同的参数可能会得到不同的结果。比如在一个脚本中,标准输出可能被重定向到一个文件,而标准错误仍然指向终端,此时os.get_terminal_size(1)
可能返回一个错误或者None,而os.get_terminal_size(2)
则会返回终端的实际大小。
尽管在现代的使用中,这个参数看起来似乎不那么必要,但Python为了保持API的一致性和向后兼容性,仍然保留了它。这样,依赖于这个参数的老代码仍然可以正常工作,而新用户在大多数情况下可以忽略这个参数,直接使用os.get_terminal_size()
。
综上所述,保留这个参数是Python设计哲学中的一部分,即“优雅”、“明确”和“简单”,同时也体现了对历史代码兼容性的重视。
8.2 ai表述迷糊澄清
我
ai
抱歉,我的表述确实有误。 os.get_terminal_size() 函数在Python的早期版本中并不存在,而是在后来的版本中引入的。引入这个函数的同时,也提供了默认参数的便利形式,这样在不传递任何参数时,它会默认检查与标准输出(stdout)关联的终端大小。
正确的情况是这样的
:
在Python的早期版本中,要获取终端大小,可能需要使用不同的方法,比如直接读取环境变量或者调用系统特定的API。
在Python 3.3及以后的版本中, os.get_terminal_size() 函数被引入,它提供了一个更直接和跨平台的方式来获取终端的大小。
os.get_terminal_size(fd) 是同一个函数,其中 fd 参数允许你指定特定的文件描述符。如果不提供 fd 参数,函数默认会使用标准输出(stdout)的文件描述符,即 1 。
所以,当我说“在早期版本的Python中, os.get_terminal_size() 函数还没有出现”时,我的意思是这个特定的函数名称和接口在早期版本的Python标准库中并不存在。我的表述不够准确,为此我向您道歉。希望这次的解释能够更清楚地说明情况。
我
ai
非常抱歉,我之前的回答中确实存在错误和混淆。我理解您的困惑了,现在我来澄清一下:
在Python 3.3之前,并没有os.get_terminal_size()
这个函数。为了获取终端大小,开发者通常会使用其他方法,比如读取环境变量(如os.environ['LINES']
和os.environ['COLUMNS']
)或者调用特定的系统命令(如stty size
或tput cols
)。
Python 3.3引入了os.get_terminal_size()
函数,这是一个新的特性,之前并不存在。这个函数可以不带参数调用,此时它会默认使用标准输出(stdout)的文件描述符来获取终端大小,也可以传递一个文件描述符(fd)作为参数来获取与该文件描述符关联的终端大小。
因此,正确的说法应该是:
- 在Python 3.3之前,没有
os.get_terminal_size()
函数,开发者需要使用其他方法来获取终端大小。 - 在Python 3.3及以后版本中,
os.get_terminal_size()
函数被引入,它允许不带参数调用,或者传递一个文件描述符作为参数。
再次为之前的错误信息表示歉意,并感谢您的耐心指正。希望这次的解释更加准确和清晰。
9、ai的乐趣
与ai对刚,“胡搅蛮缠”,插科打诨,在其乐融融中,get到了知识点。在不经意间就学到了,过程中做到了三个必要的学习动作——预习找到点(预习)、设计提问(学习、拓展点、面)、笔记分享(复盘)。这样子一套整下来,所学知识点不说“终生莫忘”但也定会记住不短的时间的了。😜
10、结论
对于一般情况下的python终端尺寸获取,一个os.get_terminal_size就够了。
如
import os
# 获取终端尺寸
print(f"\n终端尺寸: {os.get_terminal_size()}")
或者
- 在
qpython
、Zero Linux
都可以正确获取当前终端尺寸:
直接获取
变量赋值
“变量赋值”的方式,都获取终端当前终端尺寸的正确一般打开状态。
上一篇: Windows上转义字符工作原理(由bext安装“异常”引出的话题:Windows上转义字符的工作原理,与ai“闲扯”不经意学习知识点)
下一篇:
我的HOT博:
本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有
7
7
7篇。
-
001
标题:让QQ群昵称色变的神奇代码
(浏览阅读 5.9w )
地址:https://blog.csdn.net/m0_57158496/article/details/122566500
点赞:25 收藏:86 评论:17
摘要:让QQ昵称色变的神奇代码。
首发:2022-01-18 19:15:08
最后编辑:2022-01-20 07:56:47 -
002
标题:Python列表(list)反序(降序)的7种实现方式
(浏览阅读 1.1w )
地址:https://blog.csdn.net/m0_57158496/article/details/128271700
点赞:8 收藏:35 评论:8
摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
首发:2022-12-11 23:54:15
最后编辑:2023-03-20 18:13:55 -
003
标题:pandas 数据类型之 DataFrame
(浏览阅读 9.7k )
地址:https://blog.csdn.net/m0_57158496/article/details/124525814
点赞:7 收藏:36
摘要:pandas 数据类型之 DataFrame_panda dataframe。
首发:2022-05-01 13:20:17
最后编辑:2022-05-08 08:46:13 -
004
标题:个人信息提取(字符串)
(浏览阅读 8.2k )
地址:https://blog.csdn.net/m0_57158496/article/details/124244618
点赞:2 收藏:15
摘要:个人信息提取(字符串)_个人信息提取python。
首发:2022-04-18 11:07:12
最后编辑:2022-04-20 13:17:54 -
005
标题:Python字符串居中显示
(浏览阅读 7.6k )
地址:https://blog.csdn.net/m0_57158496/article/details/122163023
评论:1 -
006
标题:罗马数字转换器|罗马数字生成器
(浏览阅读 7.5k )
地址:https://blog.csdn.net/m0_57158496/article/details/122592047
摘要:罗马数字转换器|生成器。
首发:2022-01-19 23:26:42
最后编辑:2022-01-21 18:37:46 -
007
标题:回车符、换行符和回车换行符
(浏览阅读 6.0k )
地址:https://blog.csdn.net/m0_57158496/article/details/123109488
点赞:2 收藏:3
摘要:回车符、换行符和回车换行符_命令行回车符。
首发:2022-02-24 13:10:02
最后编辑:2022-02-25 20:07:40
截屏图片
(此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)
精品文章:
- 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
- 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代码编写规范
- Python的docstring规范(说明文档的规范写法)