关于变量__name__的理解】的更多相关文章

__name__ 1. 基本含义 如果是放在Modules模块中,就表示是模块的名字: 如果是放在Classs类中,就表示类的名字: 2. 模块中的意义 这里重点说一下模块中的意义,这个用法在python中非常常见.若模块是被导入的(import),则__name__的值为模块名字:若模块是被直接执行的,__name__ 的值为‘__main__’ 3. 示例 ## main.py import test.test def get_name(): print '__name__ = ', __n…
在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在python编译器读取源文件的时候会执行它找到的所有代码,而在执行之前会根据当前运行的模块是否为主程序而定义变量__name__的值为__main__还是模块名.因此,该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块.这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命令,…
Python第八天  模块   包   全局变量和内置变量__name__    Python path 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化 Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 Python第四天   流程控制   if else条件判断   for循环 w…
变量进阶(理解) 目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1.1 引用的概念 在 Python 中 变量 和 数据 是分开存储的 数据 保存在内存中的一个位置 变量 中保存着数据在内存中的地址 变量 中 记录数据的地址,就叫做 引用 使用 id() 函数可以查看变量中保存数据所在的 内存地址 注意:如果变量已经被定义,当给一个变量赋值的时候,本…
1 引言 在Python当中,如果代码写得规范一些,通常会写上一句“if __name__==’__main__:”作为程序的入口,但似乎没有这么一句代码,程序也能正常运行.这句代码多余吗?原理又在哪里?本篇博文对此进行总结说明. 2 程序入口 学过Java.C.C++的程序员应该都知道,每次开启一个程序,都必须写一个主函数作为程序的入口,也就是我们常说的main函数.如下所示, main()就是Java中的一个main函数. public class HelloWorld { public s…
废话不说,直接上代码(这是在JavaScript面对对象编程指南上面看到的一个例子) var a=123; function f(){ alert(a); var a=1; alert(a); } f(); 书上的解释是这样的:当JavaScript执行过程进入新函数时,这个函数内被声明的所有变量都会被移动导到函数最开始的地方.这种现象叫做提升.且被提升的只有变量的声明. 上面这个例子可以等价于: var a=123;function f(){ var a; alert(a); a=1; ale…
首先说说java的三个环境变量:java_home,classpath,path java_home:jdk的安装路径[你一层一层点开安装路径,直到当前目录有一个bin目录,然后在地址栏里面右键单击复制地址就是jdk的安装路径(eg:D:\Java\jdk1.8.0_65)],没有其实也可以,在用到jdk的安装路径直接使用也可以.不过为了方便,因为许多的其它环境变量需要用到jdk的安装路径(eg:path), 如果直接使用jdk的安装路径,不封装到java_home中,一旦jdk更新了就需要一个…
一开始学习python的时候,不理解python中的__name__的用途,一致感觉__name__的返回结果就是__main__ 今天系统的看了一下,才理解过来,__name__真正的用处是用在使用import导入多个模块的时候,在各自模块中使用 if __name__ == "__main__" : 具体的代码... 上述的代码在执行各自自身的时候是没有问题的,都会被执行 问题是在主脚本中(引入了多个模块,最后执行的脚本),这段代码是不会执行的,因为该模块回被主脚本命名为各自模块的…
网上找了两个经典的例子 var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); } bar(); // 10 var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a);// 1 在JavaScript中,函数.变量的声明都会被提升(hoisting)到该函数或变量所在的scope的顶部.即--JavaScript的变量提升.…
1.当赋值的值超出声明变量的范围时候,会报错! byte a =200 //会报错,因超出范围. byte a =(byte)200;//进行一个强制转换,就不会报错,不过会超出范围,超出部分会从头开始加, 由于byte的范围为-128~127,所以是-128+73为所得结果.2.声明一个整数类型时候,默认都是int类型(4个8位):如果具体的数值比声明变量的取值范围小,则不报错. 例:short a =222;3.long l = 88888888888l 很明显,这一长串数字是好超过int的…