欢迎访问宙启技术站
智能推送

在Python中使用name()函数获取模块的名称的方法是什么

发布时间:2024-01-04 12:05:37

要获取模块的名称,可以使用内置函数__name__

__name__是一个特殊的变量,在Python中用于表示当前模块的名称。在导入模块时,__name__的值会被设置为模块的名称,而在直接运行模块时,__name__的值会被设置为__main__

下面是一个使用__name__函数获取模块名称的例子:

# my_module.py

def hello():
    print("Hello from my_module!")

print("My module name is:", __name__)

if __name__ == "__main__":
    print("This module is being run directly.")
else:
    print("This module is being imported.")

在上述例子中,my_module.py是一个简单的模块,其中包含一个hello函数。在模块的开头,使用print语句输出模块的名称,通过__name__获取,然后根据__name__的值进行不同的操作。

如果直接运行my_module.py,输出将会是:

My module name is: __main__
This module is being run directly.

这是因为直接运行模块时,__name__的值被自动设置为__main__。然后,在if语句中,__name__的值与__main__进行比较,发现相等,因此执行if语句块中的代码。

如果在另一个模块中导入my_module,输出将会是:

My module name is: my_module
This module is being imported.

这是因为在导入my_module时,__name__的值被设置为my_module。然后,在if语句中,__name__的值与__main__进行比较,发现不相等,因此执行else语句块中的代码。

通过使用__name__函数,我们可以根据模块是直接运行还是被导入来执行不同的操作。这在编写可重用的模块时非常有用。