一,模块的介绍 1,什么是模块 在 Python 中,模块是一种组织 Python 代码的方法。模块可以包含定义(例如类、函数和变量)和可执行代码。...例如,我们想实现一些与时间相关的功能,我们就可以直接导入python中现有的time模块,然后调用time模块的功能帮我们实现。...__main__变量: 在Python中,__main__ 是一个特殊的模块,它主要用于执行模块中的main()函数。...当你直接运行一个Python文件时,这个文件中的代码会进入__main__模块。换句话说,__main__模块是Python解释器直接运行的入口。...在Python中,一个模块的__name__属性会自动设置为’__main__',如果你直接运行一个模块,你可以通过这个属性来判断当前的模块是否是__main__模块。
原文地址:http://www.jb51.net/article/51892.htm 侵删 很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\'...这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__' 的作用,到底干嘛的?...下面举例说明: 先写一个模块: #module.py def main(): print "we are in %s"%__name__ if __name__ == '__main__': main...() 这个函数定义了一个main函数,我们执行一下该py文件发现结果是打印出”we are in __main__“,说明我们的if语句中的内容被执行了,调用了main(): 但是如果我们从另我一个模块导入该模块...这个功能还有一个用处:调试代码的时候,在”if __name__ == '__main__'“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件
python安装完毕后,提示找不到ssl模块: www@pythontab.com ~]$ python Python 2.7.15 (default, Oct 23 2018, 18:08:43)...import ssl Traceback (most recent call last): File "", line 1, in File "/usr/local/python27.../lib/python2.7/ssl.py", line 60, in import _ssl # if we can't import it, let the error propagate...修改Setup文件 vi /src/Python-2.7.15/Modules/Setu 修改结果如下: # Socket module helper for socket(2) _socket...Python 2.7.15 (default, Oct 23 2018, 19:08:43) [GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux2 Type
学习过C语言或者Java语言的盆友应该都知道程序运行必然有主程序入口main函数,而python却不同,即便没有主程序入口,程序一样可以自上而下对代码块依次运行,然后python不少开源项目或者模块中依然存在...__name__: __main__ 由此可见,作为启动文件 python_main.py ,该文件的内置属性 __name__ 等于 “__main__”,而my_name.py 作为导入模块,该模块的...__name__ 等于文件名(也称模块名字),所以my_name.py 中的 表达式 if __name__ == “__main__” 并不成立!...__name__ == “__main__” 作为启动py文件的main函数入口 2.一个项目中必然会包含多个模块文件,每个模块文件在自己写完代码之后会做一些简单的测试用于检测bug 或者 对自己的函数调用写一个简单的示例...猜你喜欢: 1.python模块 2.python异常处理 3.python return逻辑运算表达式 4.python 字典推导式 5.python 列表推导式 转载请注明:猿说Python » python
__ name__ == '__ main__'是Python的main函数入口,但并不是有这行代码才能运行,这里只是可以判断代码是否被直接执行还是被调用执行。...__': print_hi('Python') 运行结果: Hi, 偶尔敲代码 Hi, Python 可见__main__里的代码被执行了。...另外建个test.py文件,代码如下: 将上面的main.py作为模块导入。...import main main.print_hi('测试啊啊啊') 运行结果: Hi, 偶尔敲代码 Hi, 测试啊啊啊 可见__main__里的代码没被执行(没打印Hi, Python)。...在"if __name__ == '__main__'"中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码又能够正常运行
对于Python初学者来说,在看别人代码时经常会看到if __name__ == "__main__",这时心里就开始吐槽:“绝对又是装X,我特么不写这句话,代码不照样跑得好好的!...现在就来看看这句代码到底是个啥意思,因为这句话能够帮你对Python模块的理解上一个层次。...说人话就是,如果你直接运行该模块,那么__name__ == "__main__";如果你 import 一个模块,那么模块name 的值通常为模块文件名。...if __name__ == "__main__": func() 模块中,首先定义了函数func(),用来打印出hello, world!...,然后判断__name__ 是否等于 __main__,如果等于,有打印,反之则反,现在运行该模块,结果为: hello, world! 说明__name__ 等于 __main__。
Python中if __name__ == "__main__": 的作用 在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句...在python编译器读取源文件的时候会执行它找到的所有代码,而在执行之前会根据当前运行的模块是否为主程序而定义变量__name__的值为__main__还是模块名。...因此,该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块。...这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命令,只要将它们放到if __name__ == "__main__:"判断语句之后就可以了。...one.py,输出: top-level in one.py one.py is being run directly 当运行python two.py,输出: top-level in one.py
涉及加密算法的python代码,尤其是git上down下来的“老代码”经常会遇到神奇的报错 ImportError: No module named Crypto.Cipher , 这个问题谷歌上也是哀鸿遍野...include ,需要手动设置vc编译器的环境变量 (以下步骤需要你安装了visual studio) 管理员权限开启cmd 运行visual studio中的vsvars.bat(找不到...chrissimpkins/crypto: Simple symmetric GPG file encryption and decryption pycrypto · PyPI dlitz/pycrypto: The Python...Cryptography Toolkit visual studio - Microsoft Windows Python-3.6 PyCrypto installation error - Stack...Overflow ---- 本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3python
先给出结论,对该语句用法简单的解释就是:如果if __name__ == '__main__' 所在模块是被直接运行的,则该语句下代码块被运行,如果所在模块是被导入到其他的python脚本中运行的,则该语句下代码块不被运行...另外我们知道,python文件有两种使用方法: 第一种:直接作为脚本执行 第二种:import到其他的python脚本中被调用(模块重用)执行,也就是作为模块(库)被导入执行 不管是直接运行还是导入,最顶层的代码都会被运行...但实际使用过程中,python文件作为模块被其它python脚本调用执行的时候,有的代码我们是不希望被运行的。...if __name__ == '__main__'就相当于是 Python 模拟的程序入口。Python 本身并没有规定这么写,这只是一种编码习惯。...运行原理 每个python模块(python文件,也就是此处的 param.py 和 calculate.py)都包含内置的变量__name__,当运行模块被执行的时候__name__等于文件名(包含了后缀
Python 程序文件的执行从第一条语句开始。 Python 包含名为__name__的特殊变量,该变量包含作为字符串执行的代码的范围。__main__是顶层代码执行的顶层作用域的名称。...Python Shell >>>__name__'__main__' Copy 所有的功能和模块都将在解释器 Shell 的顶层范围__main___内执行。...因此,name的值允许 Python 解释器确定模块是否是可执行脚本。如果其值为main,将执行函数定义之外的语句。如果没有,模块的内容将被填充到顶层模块(或解释器名称空间)中,而不包含可执行部分。...注意:从命令提示符/终端执行的 Python 脚本文件将在顶层作用域__main__作用域下执行。但是,导入模块将在模块自己的范围内执行。...因此,顶层范围将是__main__,第二个范围将是模块的范围。 因此,使用特殊变量__name__和顶级范围__main__增加了可重用性。
描述 Python3 中 以双下划线开头且结尾变量被称为 内置变量,如 init,name. 该变量的具体值由该模块被调用的方式决定。...1、当该模块被直接调用时,值为'main' 2、当此模块被import,在母模块中调用时,则返回为子模块名称 看实践样例 ?...---- 附testModule.py源码 def main(): print('__name__取值:',__name__) if __name__ == '__main__':
1、 查看openssl安装包,发现缺少openssl-devel包 [root@localhost ~]# rpm -aq|grep openssl open...
if __name__ == '__main__' 就相当于是 Python 模拟的程序入口。Python 本身并没有规定这么写,这只是一种编码习惯。...如果一个模块被直接运行,则其没有包结构,其 __name__ 值为 __main__。...例如在上例中,我们直接运行 c.py 文件(python a/b/c.py),输出结果如下: __main__ 所以,if __name__ == '__main__' 我们简单的理解就是: 如果模块是被直接运行的...实际上以模块方式运行时,Python 先对 run.py 执行一遍 import,所以 print sys.path 被成功执行,然后 Python 才尝试运行 run.py 模块,但是,在 path...__main__ ['', ...] 用 python package 运行结果: __main__ ['package', ...]
现在把 const.py 改一下: PI = 3.14 def train(): print("PI:", PI) if __name__ == "__main__": train...实际上if name=="main":就相当于是 Python 模拟的程序入口。由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个,选中哪个入口程序取决于 name 的值。...可以做一下测试: # test.py print("hahaha") print(__name__) if __name__ == '__main__': print("I'm test.py...可以发现receiver.py中if name=="main"后语句没有执行,因为此时运行的是caller.py,而找不到进去receiver.py的入口!使用这种方法可以控制代码的执行!...2. name 2.1 name是内置变量,可用于表示当前模块的名字 2.2 name是内置变量,可用于反映一个包的结构。
最近在使用C/C++开发Python的扩展模块,由于笔记本的性能较差,因此没有使用VS自带的conda环境,而是自己安装了一个Python核心解释器,但是使用VS2019创建项目的时候,代码大片飘红,提示找不到...Python.h,如下所示: ?...如果你遇到这个问题,那么请在系统环境变量中配置一个PythonHome的变量并指向Python的安装路径: ? 然后重启VS即可。注意那个变量值的后边要加上斜杠,否则还会报错。
在python程序中经常可以看到 if__name__ == ' _ _ main _ _'的判定,下面来解释下。 首先在python交互式界面中输入以下程序,然后运行。...print(__name__) 得到的结果为: __main__ 简单的说,每当运行一个python脚本的时候,都会自动生成一个variable叫__name__。...如果直接运行此脚本,__name__ 的值则自动为 __main__。...在名为test1.py的脚本中输入以下: if __name__ == '__main__': print('The __name__ is:', __name__, 'which means...提供个Python的模板 #!
import * File "D:\soft\python3.6\lib\site-packages\tensorflow_core\python\pywrap_tensorflow_internal.py...\lib\imp.py", line 343, in load_dynamic return _load(spec) ImportError: DLL load failed: 找不到指定的模块...:\soft\python3.6\lib\site-packages\tensorflow_core\python\ops\gen_audio_ops.py", line 9, in ...\lib\imp.py", line 343, in load_dynamic return _load(spec) ImportError: DLL load failed: 找不到指定的模块...asking for help 在找了很多方法后,终于找到了原因所在,原来是win10中环境配置的原因,win10中,不仅要添加环境变量path的值,还需要在PATHEXT中添加.DLL否则系统就无法加载指定的模块
今天说一说模块已加载,但找不到入口点DLLRegisterServer[通俗易懂],希望能够帮助大家进步!!!...模块已加载,但找不到入口点DLLRegisterServer 通常在运行中注册动态库文件:regsvr32 xxx.dll (按回车键执行命令)都能顺利通过。...但有时也会报出异常: 模块“xxx.dll”已加载,但找不到入口点DLLRegisterServer。请确保xxx.dll为有效的DLL或OCX文件,然后重试。
领取专属 10元无门槛券
手把手带您无忧上云