python有main函数吗

python和C++/Java不一样,没有主函数一说,也就是说python语句执行不是从所谓的主函数main开始的。

当运行单个python文件时,如运行a.py,这个时候a的一个属性__name__是__main__。

当调用某个python文件时,如b.py调用a.py,这个时候a的属性__name__是模块名a。

复制代码
a = 3
 
def change():
    global a
    a = 10
    return a
 
print a, change(), a
 
if __name__ == "__main__":
    print a, change(), a

执行结果是:

复制代码
3 10 10
10 10 10

从上面的结果可以看出,在执行if后面的语句之前,print a, change(), a已经执行过了,也就是说程序执行并不是从main开始的。

相关推荐
一条泥憨鱼3 分钟前
【从0开始学习计算机网络】| TIME_WAIT 为什么是 2MSL,CLOSE_WAIT / TIME_WAIT 堆积怎么排查
服务器·开发语言·网络·计算机网络·网络安全
(Charon)4 分钟前
【C++】 定时器入门:从定时任务到 epoll 驱动
开发语言·c++
亮_一个嵌入式新手8 分钟前
C语言Day21
c语言·开发语言
kcuwu.11 分钟前
第 1 课 · Hello, World 与一个 Go 程序的诞生
开发语言·后端·golang
php@king12 分钟前
golang入门到精通
开发语言·后端·golang
Leo.yuan12 分钟前
Flink + Kafka + Doris 之外的另一条路:FineDataLink 一体化实时数仓方案
开发语言·javascript·ecmascript
2601_9623818613 分钟前
Python异步编程async/await核心用法
python·async/await·事件循环·异步编程·并发调度
量化吞吐机13 分钟前
会写代码学量化,先把数据、规则和执行连清楚
人工智能·python
只睡四小时14 分钟前
端侧推理实战:face-api.js 零后端人脸识别踩坑记
开发语言·javascript·ecmascript
某不知名網友18 分钟前
C++ 深浅拷贝:从默认拷贝到 Rule of Five
java·开发语言