(1)代码执行顺序
python程序是顺序执行的,Python中首先执行最先出现的非函数定义和非类定义的没有缩进的代码。
————————————
python程序执行时, 按照自上而下的顺序:首先执行没有缩进的代码,但是类中的代码和函数中的代码不会执行 (除非被调用)
——————
而C++中main()是程序的入口,main()函数为执行的起点
print('hahahaha')
class Dog:
def __init__(self,color):
self.color = color
def printcolor(self):
print("颜色为:%s"%self.color )
def test(a):
a.printcolor()
print('llllll')
——————————————————————————————————————
(2)
python中为什么要使用if _ name_ =="_ main_":链接
一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,在 if name == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的。
——————
如果模块是被导入,__name__的值为模块名字;如果是被直接执行,__name__的值为"_main_"。(__name__是python的内置变量。)
一段python程序以py文件运行时,文件属性__name__为__main__;作为模块导入时,文件属性__name__为文件名
举例说明如下:
test1.py模块中的内容为:
#test1代码
#此时test1.py作为脚本直接执行
print('main之前')
print('__name__:',__name__)
print('--------')
if __name__ =='__main__':
print('main里面')
print(__name__)
print('---------')
print('main之后')
运行结果为:
在test2代码中导入test1.py
#test2代码
#此时test1.py 被导入到其他的脚本中
import sys
sys.path.append("C:/Users/。/Desktop/")
import test1
print('___________')
print('__name__:',__name__)
运行结果为: