为什么 Python 没有 main 函数?

python:__main__ --- 最高层级代码环境 阅读详情

↓推荐关注↓

众所周知,Python 中没有所谓的 main 函数,但是网上经常有文章提到 Python 的 main 函数 和 建议编写main函数。

其实,可能他们是想模仿真正的 main 函数,但是许多人都被误导(或误解),然后编写了非常笨拙的代码。

在开始讨论之前,我们先来回答以下两个问题:

  • 所谓的 main 函数究竟是什么意思?

  • 为什么有些编程语言必须编写main函数?

一些编程语言将main函数作为程序的执行入口,比如C/C++、C#、Java、Go、Rust等等,这个函数具有特定的含义:

  • main函数名是必须的,这意味着必须有一个主函数。

  • 最多只能有一个main函数,这意味着程序的入口是唯一的。

  • 语法格式有特定要求,书写形式也相对固定。

为什么强制 main 函数作为入口

这些语言都是编译语言,需要将代码编译成可执行的二进制文件。为了让操作系统/引导程序找到程序的开头,需要定义这样一个函数。

简而言之,需要在大量可执行的代码中定义一个至关重要的的开头。

不难看出,对于这些语言来说,main函数是不可或缺的组成部分。

但是,当我们把目光转向Python时,就会发现情况大不相同。

  • Python是一种解释语言,即脚本语言。运行过程是从上到下,逐行进行的,这意味着它的起点是已知的。

  • 每个.py文件都是一个可执行文件,可作为整个程序的入口文件,意味着该程序的入口很灵活,而且无需遵循任何约定。

  • 有时运行Python项目时不需要有指定入口文件(命令行比较常见,例如“ python -m http.server 8000”),可能是因为该项目中有main.py文件,在软件包中作为“文件”来执行。

总而言之,Python作为脚本语言不同于编译语言。无论是单个模块(即.py文件),还是由多个模块组成的软件包,Python都可以选择一种灵活的执行方法,这完全不像其他语言那样必须定义入口。

换句话说,Python不需要规定程序员必须在语法上定义一个统一的入口(无论是函数、类还是其他东西)。

有些学生可能会感到困惑,因为他们经常看到或编写以下代码:

# main file  
def main():      
    ……  
    
if __name__ == '__main__':      
    main()

这不就是Python的main函数吗?相信很多人都这么认为!

不,并不是

除了函数名是 main 之外,这段代码与我们前面介绍的 main 函数没有半点关系,这个函数既不是必须的,也不能确定程序的执行顺序。即便没有上面这样的main函数,也不会有任何的语法问题。

人们想编写一个main函数的主要原因其实是为了强调这是一个主函数,希望人为地将其设置成第一个执行的函数。

他们可能认为这个名字的函数更容易记住。

他们之所以要编写__name__ =='main',可能是因为想表明main()只在直接执行当前脚本时才运行,而在将其导入到其他模块时不要运行。

但是,我个人不推荐这种写法。

举一个简单的例子,假设只有几十行代码,或者一个脚本文件实现了一个简单的功能(一个爬虫,或画一只乌龟,等等),但都是按照前面的方式编写的。

不推荐if name == '_main_'的写法,因为:

  • 首先,如果只有一个文件的话,那么这个文件不可能被导出。

  • 其次,如果有多个文件,强烈建议不要将这个语句写在入口文件(main.py)中。从理论上讲,它的内容不应该导出供其他模块使用,因为它是起点。

  • 最后,在多个文件的情况下,也不建议在非入口的文件中写入这条语句,因为这条语句能做的最多也就是编写一些测试代码。即便如此,测试代码也应分开写到专用目录或文件中。

每次看到这些笨拙的代码时,我都会感到不适。为什么要写这样的if语句?你压根不应该将这段代码包装成一个函数!

总结

  • 打破惯性思维,编写真实的代码。main函数是某些语言的唯一入口,但不应在Python中使用。你应该了解脚本语言的特征,并学习简单而优雅的风格。

  • 你可以使用main.py,而不是编写main函数。由于Python程序的执行单元是脚本文件,而不是函数或类,因此建议将入口文件命名为main.py,并根据需要决定内部的函数。

  • 将main.py作为入口文件。该文件可直接与命令行的“-m”参数结合使用。

最后推荐一下自己的专栏
一个人学习GPT费时费力,而且遇到问题没有人可以商量,交流和指导,浪费了大量的时间和精力。现在当务之急是要迅速麻利快使用这个超强AI,帮助你提高工作学习的效率,节省成本!


我们写了一个专栏,内容大概是这样的,里面详细记录了从小白开始如何注册ChatGPT保姆级指南,升级Plus的攻略,以及如何花色的玩耍GPT, 包括生成图片,打造自己的英语私教,部署微信机器人,用Python调用API,如何用GPT做PPT,制作有声小说等等,每周内容会更新!


原价299,目前早鸟的价格是109元(内容永久有效)满200涨20,一直涨到原价。目前很多星球都是动辄几百的价格。微信联系小编:coder_v5
现在GPT是一个风口,属于早期红利期,如果你不上车,等过两年大家都上车了风口过了,你也不用上车了,现在还是早班车,上车还来得及。

内容会持续推出,解锁更多高级好玩的技巧,感兴趣的火速扫码加入吧!
往期推荐:
通过ChatGPT进行副业赚钱的5个技巧!
玩的停不下来!!用Python+ChatGPT打造超强的微信机器人!
ChatGPT4已经来了,30秒做一个弹球游戏!
靠ChatGPT赚了3000块!
推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|
Python中为什么没有main函数? 毫无疑问 Python 中没有所谓的 main 入口函数,但是网上经常看到一些文章提“Python 的 main 函数”、“建议写 main 函数”…… 有些人是知情的,他的意图可能是模仿那些正宗的 main 函数,但还有不少人明显是被误导了(或自己误解了),就写出来很累赘的代码。我建立了一个Python学习圈子:1156465813。在彼此的沟通可以我们可以得到很多学习经验,积累知识,群内有2020最新的python学习资料,大家可以一起讨论问题,共同进步。 今天来聊聊Python 为什么没有 ma. 阅读详情

相关推荐

rk3568 OpenHarmony4.0如何使用中文输入法

问题:rk3568开发板 OpenHarmony4.0release系统自带输入法kikaInput软件只有英文输入,不含中文输入,不方便。本文基于rk3568开发板 OpenHarmony4.0release移植了laval社区发布的开发者手机中的搜狗输入法(测试版),实现了中文输入,为OpenHarmony4.0release的其他开发板中文输入提供参考。

Devlin_的博客 2918

python一定要有主函数吗_python没有main函数吗

相信很多初学python的人看代码的时候都会先找一下main()方法,从main往下看。但事实上python中是没有你理解中的“main()”方法的。if __name__ == "__main__":可以看成是python程序的入口,就像java中的main()方法,但不完全正确。事实上python程序是从上而下逐行运行的,在.py文件中,除了def后定义函数外的代码都会被认为是“main”方法...

weixin_31889665的博客 5391

小程序结合Three.js与gsap:打造流畅3D动画的完整指南

本文详细介绍了如何在小程序中整合Three.js与GSAP动画库,打造流畅的3D动画效果。通过从环境搭建、基础场景创建到模型加载与复杂动画编排的完整指南,帮助开发者克服小程序性能限制,实现如商品360度展示等沉浸式交互体验,提升产品视觉吸引力。

python9snake的博客 549

python中的main函数

python是一种解释型脚本语言,和C/C++语言不同,C/C++程序从main函数开始执行,python程序从开始到结尾顺序执行。先总结下python中的main函数的作用:让模块(函数)可以自己单独执行(调试),相当于构造了调用其它函数的入口,这就类似于C/C++里面的main函数了。 一方面:我们想要自己单独执行(调试) 这里我们实际调试一下(假设这个文件是test.py): #t...

菜鸟奇遇记 13万+

VSCode插件全攻略:5分钟搞定Mermaid流程图实时预览(含常见报错解决)

本文提供了一份详细的VSCode插件实战指南,帮助开发者快速配置Mermaid流程图实时预览环境。文章涵盖核心插件选择、高效工作流搭建,并重点解决了图表渲染失败、样式异常等常见报错问题,旨在提升技术文档的编写效率与可视化质量。

rust6ferris的博客 1488

OpenClaw(原Clawdbot/Moltbot)本地部署快速指南

支持Telegram、Slack、Discord、iMessage等多平台接入,通过配置文件或环境变量填写对应平台的Token,配置后执行。支持对接OpenAI、Anthropic、阿里云百炼等云端模型,也可搭配Ollama使用本地模型。默认仅允许已配对用户交互,群聊场景建议开启Docker沙箱模式,在配置文件设置。执行后跟随指引确认安全说明,进入QuickStart模式,默认网关端口为。可查看已加载模型,通过绑定的通讯通道发送测试指令,响应正常即部署完成。,限制非主会话操作权限,提升安全性。

wukangjupingbb的博客 8480

[ Python ] python 从哪开始执行 之 main 函数

http://www.cnblogs.com/lvxiuquan/archive/2012/07/09/2582437.html python main函数 关于Python的主(main)函数问题 2007-07-23 19:14 初次接触Python的人会很不习惯Python没有main主函数。 这里简单的介绍一下,在Python中使用main函数的方法 #hello.py

3万+

Python 爬虫实战:模拟登录网易云音乐(加密接口逆向与自动化登录实现)

网易云音乐作为国内主流的音乐流媒体平台,其丰富的音乐资源和个性化推荐算法吸引了大量用户。对于开发者而言,模拟登录网易云音乐并实现自动化操作,可以用于数据分析、歌单同步、歌词抓取等场景。然而,网易云音乐采用了多重加密机制和反爬策略,直接模拟登录存在较大挑战。

yansideyucsdn的博客 2590

python没有main函数的概念吗_为什么Python没有main函数?

作者 |豌豆花下猫来源 | Python猫(ID:python_cat)众所周知,Python中没有所谓的main函数,但是网上经常有文章提到“ Python的main函数”和“建议编写main函数”。其实,可能他们是想模仿真正的main函数,但是许多人都被误导(或误解),然后编写了非常笨拙的代码。在本文中,我们来讨论一下为什么Python没有main函数。在开始讨论之前,我们先来回答以下两个问...

weixin_39605414的博客 89

大模型风电功率预测:短期,超短期,中长期的完整实现与代码详解

本文全面介绍了基于深度学习大模型的风电功率预测方法,涵盖超短期(15分钟-1小时)、短期(1-6小时)和中长期(1天-1周)三种时间尺度。文章详细阐述了数据准备与特征工程,包括数据收集、预处理和可视化分析。针对不同时间尺度,分别介绍了Temporal Fusion Transformer (TFT)、Informer和N-BEATS模型的构建、训练与评估方法,并提供了完整的开源代码实现。此外,文章还探讨了模型部署与生产环境集成,包括模型保存与加载、实时预测API以及模型监控与再训练。最后,文章总结了关键创新

专注AI大模型,软件混淆,授权 1894

Arduino与Proteus仿真实例-HG7881(L9110)驱动直流电机仿真

HG7881(L9110)驱动直流电机仿真 HG7881 (L9110) 双通道电机驱动器模块。 HG7881 (L9110) 是一款紧凑型电机驱动芯片,支持 2.5-12V 电压范围,800mA 连续电流。 这些芯片具有内置输出钳位二极管以保护敏感的微控制器电子设备。 它们适用于非常小的机器人项目。 每个 HG7881 (L9110) 芯片都能够使用两个数字控制输入驱动单个直流电机。 一个输入用于选择电机方向,而另一个用于控制电机速度。 速度是通过使用 PWM 脉冲宽度调制来控制的。 电机驱动器通常具有

视觉与物联智能 3051

python没有main函数也可以_为什么 Python 没有 main 函数?

作者 | Pawan Jain译者 | 弯月,责编 | 屠敏头图 | 优快云 下载自视觉中国出品 | 优快云(ID:优快云news)以下为译文:众所周知,Python 中没有所谓的 main 函数,但是网上经常有文章提到 " Python 的 main 函数 " 和 " 建议编写 main 函数 "。其实,可能他们是想模仿真正的 main 函数,但是许多人都被误导(或误解),然后编写了非常笨...

weixin_42528534的博客 726

Python 爬虫实战:社交媒体(Facebook)评论数据抓取与情感分析

在当今数字化时代,社交媒体平台如 Facebook 已成为人们日常生活中不可或缺的一部分。它不仅是人们分享生活点滴、交流思想的场所,也为企业和研究人员提供了丰富的数据资源。通过分析社交媒体上的评论数据,我们可以了解用户的情感倾向、产品反馈以及社会热点话题等。本文将详细介绍如何使用 Python 爬虫技术抓取 Facebook 上的评论数据,并进行情感分析。这不仅是一次技术实战,更是一次数据探索之旅。

yansideyucsdn的博客 672

python没有main函数也可以_为什么Python没有main函数?,

为什么Python没有main函数?,我为什么也不推荐毫无疑问,Python中没有所谓的主入口函数,但是互联网上经常有文章提到" Python的Main函数"和"建议编写Main函数"。他们的目的可能是模仿真实的主要功能,但是许多人被误导(或误解)并编写了非常繁琐的代码。在"为什么使用Python"系列的这个故事中,我们将讨论为什么Python不具有main函数? 最后,您将获得本系列前两个故事的...

weixin_33208553的博客 3102

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

为什么Python没有main函数?

作者 |豌豆花下猫来源 | Python猫(ID:python_cat)众所周知,Python中没有所谓的main函数,但是网上经常有文章提到“ Python的main函数”和“建议编...

AI科技大本营 3504

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【Python】为什么 Python 没有 main 函数?

【Python】为什么 Python 没有 main 函数?

wzk4869的博客 787

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python 为什么没有 main 函数?为什么我不推荐写 main 函数?

????“Python猫” ,一个值得加星标的公众号毫无疑问 Python 中没有所谓的 main 入口函数,但是网上经常看到一些文章提“Python 的 main 函数”、“建议写 ...

Python猫 2510

python一定要有主函数吗_为什么 Python 没有 main 函数?

为什么 Python 没有 main 函数?众所周知,Python中没有所谓的main函数,但是网上经常有文章提到“ Python的main函数”和“建议编写main函数”。其实,可能他们是想模仿真正的main函数,但是许多人都被误导(或误解),然后编写了非常笨拙的代码。在本文中,我们来讨论一下为什么Python没有main函数。在开始讨论之前,我们先来回答以下两个问题:所谓的“main函数”究竟...

weixin_39629989的博客 7911
上一篇: 太帅了!3分钟用ChatGPT生成一个美队的Logo图标!
下一篇: 教你用Python浪漫表白
菜鸟学Python
博客等级 码龄9年 8086粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值