首页 > 编程知识 正文

Python魔术变量:让编程更加魔法的秘密武器

时间:2023-11-19 19:01:54 阅读:289980 作者:SJOL

想要让Python编程更加魔法化吗?那么你一定不会陌生Python魔术变量。

一、魔术变量是什么?

Python魔术变量(Magic Variables)是一组在交互式Python shell下自动设置的特殊变量,以供程序员方便地使用和访问。因为这些变量让你更快、更高效地看到、理解你的程序的行为和操作,所以它们被称为“魔术变量”。

Python 3.7.3 (default, Mar 26 2019, 21:43:19) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

上面的输出是Python shell自动设置的魔术变量之一:`__banner__`,显示了Python解释器的版本和当前使用的操作系统。

二、常见的魔术变量

以下是比较常见的魔术变量,除了已经介绍的`__banner__`之外,还包括:

1、`__doc__`

`__doc__`是一个包含模块、函数或类的文档字符串(Docstring)的字符串(String)。

def add(a, b):
    """ Return the sum of a and b. """
    return a + b
print(add.__doc__)

输出结果:

Return the sum of a and b. 

2、`__name__`

`__name__`是一个标准的Python变量,用于表示当前模块的名称。当模块被导入时,这个变量被自动赋值为名字字符串。如果直接运行模块,那么__name__则被赋值为字符串“__main__”。

if __name__ == "__main__":
    print("This is main block.")
else:
    print("This is import block.")

输出结果:

This is main block. 

3、`__file__`

`__file__`是一个字符串,表示当前被解释的文件的名称(含有完整路径)。如果当前程序不是从文件中加载,而是通过某些其他方式加载——比如,命令行或字符串——那么其值就为“”。

import os
print(f"The path of this file is: {os.path.abspath(__file__)}")

输出结果:

The path of this file is: /Users/user/magic_variables.py 

4、`_`

`_`是一个特殊的Python变量,也是一种魔术变量,最近一次输出的表达式被赋值给它。如果输出的是一串字符,那么这个字符会作为一个Python字符串被赋值给`_`变量。

5 * 2
print(_)

输出结果:

10 

另外,IPython shell中有一些如下的变量,也称为“魔术变量”:

  • `_i`表示当前输入的是第几个Python命令。
  • `_ih`表示一个输入的Python命令历史列表。
  • `_oh`表示一个输出的Python命令历史列表,键是输入历史中的相同数字编号。

三、结语

Python魔术变量虽然只是一些看似无足轻重的变量,但是它们却可以使你的Python编程更为高效和便捷。熟练地使用这些魔术变量,可以让你更深入地理解和掌握Python语言。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。