python函数入口 python程序入口函数

python __name__是什么Python中的模块(.py文件)在创建之初会自动加载一些内建变量 , __name__就是其中之一 。Python模块中通常会定义很多变量和函数 , 这些变量和函数相当于模块中的一个功能,模块被导入到别的文件中,可以调用这些变量和函数 。那么这时 __name__ 的作用就彰显了,它可以标识模块的名字 , 可以显示一个模块的某功能是被自己执行还是被别的文件调用执行,假设模块A、B , 模块A自己定义了功能C,模块B调用模块A,现在功能C被执行了:
如果C被A自己执行,也就是说模块执行了自己定义的功能,那么 __name__=='__main__'
如果C被B调用执行,也就是说当前模块调用执行了别的模块的功能,那么__name__=='A'(被调用模块的名字)
其实换一种说法也就是表示当前程序运行在哪一个模块中 。
相关推荐:《Python入门教程》
下面举例说明:
首先自定义模块Student,在模块中定义功能Differ()
然后先自身执行,结果如下,__name__=='__main__'
然后B调用执行,结果 __name__=='Student'
上面出两次结果 , 是因为python中导入模块会先将文件执行一遍,如下图:
到这儿可能有人已经注意到,上面的 __main__ 在python中作可以为函数的入口,而实际工程常用 if __name__=='__main__'来表示整个工程开始运行的入口 。此外你如果不想让功能的某部分被别的模块调用执行,比如我自定的模块Student里的‘我的密码是xxx’,只有自己执行才可以打印密码 。所有你可以把部分写在if语句里,只有__name__=='__main__'的时候才能执行 。这个可以这么理解,在if语句之外代码是最外层的,有点“全局变量”的意思,放入if里面就成了私有的了 。
Python3基础默认情况下python函数入口 , Python 3 源码文件以UTF-8编码,所有字符串都是 unicode 字符串 。当然你也可以为源码文件指定不同的编码python函数入口:
在 Python 3 中,非 ASCII 标识符也是允许的了 。
保留字即关键字,我们不能把它们用作任何标识符名称 。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字python函数入口:
Python中单行注释以#开头,实例如下:
执行以上代码 , 输出结果为:
多行注释可以用多个 # 号,还有 ''' 和 """:
执行以上代码,输出结果为:
python最具特色的就是使用缩进来表示代码块 , 不需要使用大括号 {}。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数 。实例如下:
以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:
以上程序由于缩进不一致,执行后会出现类似以下错误:
Python 通常是一行写完一条语句 , 但如果语句很长,我们可以使用反斜杠()来实现多行语句,例如:
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:
python中数字有四种类型:整数、布尔型、浮点数和复数 。
实例
输出结果为:
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始 。类和函数入口之间也用一行空行分隔,以突出函数入口的开始 。
空行与代码缩进不同,空行并不是Python语法的一部分 。书写时不插入空行 , Python解释器运行也不会出错 。但是空行的作用在于分隔两段不同功能或含义的代码 , 便于日后代码的维护或重构 。
记?。?空行也是程序代码的一部分 。
执行下面的程序在按回车键后就会等待用户输入:
以上代码中 ,""在结果输出前会输出两个新的空行 。一旦用户按下 enter 键时,程序将退出 。

推荐阅读