← 返回首页
Python3基础教程(五十四)
发表时间:2022-04-20 00:00:08
主方法

像java、C语言一样Python语言也有主方法入口。

1.常见的编程语言主方法对比

语言 主方法
java public static void main(String[] args)
c int main(int argc, char *argv[])
python if __name__=='__main__' :

2.python主方法


def hello():
    print('hello,python')

if __name__ == '__main__':
    hello()

运行结果:

hello,python

__name__属于python中的一个内置属性,通常来说一个py文件可以直接执行和被其他模块导入,程序第一次导入指定文件时,会执行三个步骤: 1. 找到模块文件 2. 编译成位码(需要时) 3. 执行模块的代码来创建其所定义的对象

简单来说,该语句用来当文件当作脚本运行时候,就执行代码;但是当文件被当做Module被import的时候,就不执行相关代码。

例如:

有以下模块,demo/demo.py


def hello():
    print('hello,python')

print('load model...')

if __name__ == '__main__':
    hello()

运行结果:

load model...
hello,python

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

如果当成模块引入:

from demo.demo import *

def print_hi(name):
    print(f'Hi, {name}')  # Press Ctrl+F8 to toggle the breakpoint.

if __name__ == '__main__':
    print_hi('PyCharm')

运行结果:

load model...
Hi, PyCharm