`

Python __name__

 
阅读更多

看python程序是经常会碰到 if __name__ == '__main__' 这样的语句,甚是不解

python中最重要的概念就是模块,对于仅仅为了让别的程序导入而创建的模块,我们不会去直接执行这个模块,那么我们怎么知道这个模块是否正确?怎么知道模块式直接执行还是被导入?

 

 

如果模块是被导入, __name__ 的值为模块名字 

如果模块是被直接执行, __name__ 的值为 '__main__',这是通常作为测试用

 

 

'''
Created on 2012-8-4

@author: KeXie
'''

def say_hi(str):
    print 'Hi\t' + str
    
def test():
    say_hi("test case")
    
if __name__ == '__main__':
    test()
else : 
    print 'import as a module by others'

 

import testModule
testModule.say_hi("anhui") 
如果直接执行上个程序,那么结果为Hi	test case , 被当作模块导入时则输出
import as a module by others
Hi	anhui
分享到:
评论

相关推荐

    python_basic_python教程_

    "python_basic_python教程_" 涵盖了Python编程的基础概念,是初学者学习Python的绝佳起点。这个教程可能包含了变量定义、数据类型、控制结构、函数、模块、类和对象等核心主题。 首先,Python中的变量定义是非常...

    code_python故障诊断_python故障_fault_故障诊断_python_

    logger = logging.getLogger(__name__) try: # 可能会引发异常的代码 except Exception as e: logger.error("发生错误", exc_info=True) ``` 4. 单元测试:使用unittest或pytest框架编写单元测试,可以确保代码...

    Python库 | python_banyan-3.2-py2.py3-none-any.whl

    `.whl`文件名通常由以下部分组成:`<name>-<version>-<python_tag>-<abi_tag>-<platform_tag>.whl`。在这个例子中,`python_banyan-3.2-py2.py3-none-any.whl`的含义是: 1. `<name>`:库的名称,这里是`python_...

    详解Python中 __get__和__getattr__和__getattribute__的区别

    ### 详解 Python 中 `__get__` 和 `__getattr__` 与 `__getattribute__` 的区别 在 Python 编程语言中,对象的属性访问机制是非常灵活且强大的。当我们试图通过点号(`.`)操作符去访问一个对象的属性时,Python 会...

    cps-python.rar_WEBDRIVER PYTHON_python_python web_python web_py

    标题中的“cps-python.rar_WEBDRIVER PYTHON_python_python web_python web_py”暗示了这是一个关于使用Python的Selenium WebDriver库来操作Web页面的教程或代码示例。描述中的“python webdriver登录web页面”...

    Python中_name==_main的解释

    ### Python中`__name__ == '__main__'`的详细解释 #### 一、引言 在Python编程中,`__name__ == '__main__'`是一个常见的模式,尤其是在涉及模块化编程时。这一概念虽然看似简单,但在理解和应用方面仍有不少细节...

    详解python中__name__的意义以及作用

    在Python编程中,__name__是一个特殊的变量,它在模块中扮演着重要的角色。本文将详细介绍Python中__name__的意义及其作用,并通过示例代码进行深入分析,以便读者能够更好地理解并应用这个概念。 首先,__name__是...

    python-moble.rar_bluetooth python_python_python 蓝牙_短信

    print(f"Device Name: {bluetooth.lookup_name(bdaddr)} Address: {bdaddr}") ``` 在连接到特定设备后,你可以通过`btsocket`进行数据传输,如下所示: ```python server_sock=bluetooth.BluetoothSocket...

    Python中if __name__ == '__main__'作用解析

    在Python编程语言中,`if __name__ == '__main__'` 是一个常见的代码结构,它的作用在于控制代码的执行时机。理解这个语句的作用对于编写可复用、模块化的Python程序至关重要。以下是对这个语句的详细解释。 首先,...

    浅析Python __name__ 是什么

    Python中的`__name__`是一个特殊变量,它在不同的上下文中有不同的值,主要用于判断当前模块是如何被调用的。这个特性在编写可执行脚本和模块时非常有用,因为它可以帮助我们控制代码的执行流程。 首先,`__name__`...

    Vocabulary_python_mySQL.rar_MYSQL_python mysql_python MySQL_p

    Python和MySQL是两种非常流行的开源技术,它们在数据处理和Web开发中有着广泛的应用。Python是一种高级编程语言,以其简洁的语法和强大的功能受到开发者喜爱,而MySQL则是一款高效的开源关系型数据库管理系统,适合...

    sql_CONNECT.zip_MYSQL_mysql python_python sql_python 数据库_python数

    首先,我们来看标题"sql_CONNECT.zip_MYSQL_mysql python_python sql_python 数据库_python数",这里提到了几个关键概念:SQL(Structured Query Language,结构化查询语言)、MySQL(一种流行的关系型数据库管理...

    Python库 | python_redis_orm-0.4.0-py3-none-any.whl

    《Python库 | python_redis_orm-0.4.0-py3-none-any.whl:连接Redis的ORM框架详解》 在Python的世界里,数据库操作往往需要通过ORM(Object-Relational Mapping)框架来实现,它将数据库操作转化为对Python对象的...

    python __main__

    ### Python 中 `__name__ == '__main__'` 的作用详解 在 Python 编程过程中,经常会在脚本中见到 `if __name__ == '__main__':` 这样的代码块。这一段代码看似简单,但其实蕴含着重要的功能与用途。本文将详细解释...

    mypro_func_python_mypro-1386程序_

    在本压缩包“mypro_func_python_mypro-1386程序_”中,我们可以预见到这是一份针对Python初学者的学习资源,主要包含了“mypro_func”这个可能是一个功能模块或者函数库的代码文件。从描述来看,这份资料旨在帮助...

    python__name__原理及用法详解

    Python中的`__name__`属性是一个特殊的内置变量,它在Python程序执行时起着至关重要的作用。这个变量存储了当前被执行的模块的名称,对于理解Python的模块化编程至关重要。让我们深入探讨`__name__`的原理和用法。 ...

    alpine_with_python_gcc9_for_share.7z

    用法说明: 本镜像基于[root@localhost alpineHome]# docker -v Docker version 1.13.1, build cccb291/1.13.1 首先恢复,将alpine_with_python_gcc9_for_share.7z解压成...--name alpine_work alpine_work:latest sh

    Mysql.zip_lovecjc_python_python mysql_python数据库_strength5n7

    mycursor.execute(sql, (new_salary, name_to_update)) mydb.commit() ``` 7. **删除数据**: 删除一条记录,例如删除名为"John"的员工: ```python sql = "DELETE FROM employees WHERE name = %s" name_...

    Python_mysql.rar_MYSQL_python mysql_python数据库_数据库 python_数据库pyth

    Python与MySQL数据库的交互是许多开发者的日常任务,特别是在数据处理和分析中。这篇文档将深入探讨如何在Python环境中配置MySQL数据库连接,并演示基本的数据库操作。 首先,我们需要安装Python的MySQL连接器,...

Global site tag (gtag.js) - Google Analytics