python基础学习(十二)——python中代码的执行顺序以及if __name__ ==‘__main__‘作用和原理

本文介绍了Python程序的执行顺序,强调了非缩进代码的优先执行,并对比了与C++的差异。重点讨论了在Python中使用`if __name__ == '__main__':`的条件判断来区分脚本直接执行和被import的情况,解释了`__name__`变量的作用,以及其在不同执行场景下的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(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) if name__=="__main”:

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__)

运行结果为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值