首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学Python,还不知道main函数吗

有一点需要重点注意,如果我们直接在 Python shell 或终端上运行某些东西,则默认情况下,此条件语句恰好为 True。...然后将其存储在名为 got 的变量中,最后打印该变量。 输出如下: 使用 __name__ 来控制代码的执行 现在我们知道了什么是 __name__ 变量,那么该如何以及为什么使用它。...输出如下: 创建一个包含要运行代码的函数 main() 到目前为止,我们已经了解了 Python 代码的各种执行方式,同时我们还知道为什么以及何时使用 main() 函数,下面就来应用它。...__": main() 在上面的例子中,我们使用了 main() 的定义,它包含了我们要运行的程序逻辑。...这样,我们将要运行的代码放在 main() 中,将编程逻辑放在一个名为 demo 的函数中,并在条件块中调用 main()。

67510

Python 工匠: 异常处理的三个好习惯

“捕获”指的是使用 try...except 包裹特定语句,妥当的完成错误流程处理。而恰当的使用 raise 主动“抛出”异常,更是优雅代码里必不可少的组成部分。...继续阅读前,我希望你已经了解了下面这些知识点: 1.异常的基本语法与用法 2.为什么要使用异常代替错误返回 3.为什么在写 Python 时鼓励使用异常 只做精准的异常捕获 假如你不够了解异常机制,就难免会对它有一种天然恐惧感...所以在代码里,我们用一个大大的 try...except 语句块,将这几个步骤都包裹了起来。安全第一 。 那么,这段看上去简洁易懂的代码,里面藏着什么问题呢?...问题就藏在这个硕大无比的 try...except 语句块里。假如你把眼睛贴近屏幕,非常仔细的检查这段代码。...,所以我们没必要使用 try 语句块      # 假如 group 被误打成了 grop 也没关系,程序马上就会通过 AttributeError 来 # 告诉我们。

75140
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java异常处理机制

    Error Error是程序无法处理的错误,表示运行应用程序中较严重问题。 大多数的错误与代码编写所执行的操作是没有什么关系的,而表示代码运行的时候Java虚拟机出现的系列问题。...注意:只有finally块,执行完成之后,才会回来执行try或者catch块中的return或者throw 语句,如果finally中使用了return或者throw等终止方法的语句,则就不会跳回执行,...注意多重catch块中的异常类型不能一致,且捕获父类型的catch块应该在子类型的后面,比如Exception应该在最后面。...Return 当代码中出现return时,一定是finally语句块执行完成后才会去执行相应的return代码,无论return语句在什么位置。 搜了张图,这样就更清晰了。...我们知道,有时候,看代码时,他可能要你开始运行才开始抛出错误。比如下面这段代码。 而我使用Throws来声明一个这段代码可能存在的错误时,如果恰好有错误,将会直接提示出现,不需要运行。

    49930

    Python 工匠:异常处理的三个好习惯

    “捕获”指的是使用 try ... except 包裹特定语句,妥当的完成错误流程处理。而恰当的使用 raise 主动“抛出”异常,更是优雅代码里必不可少的组成部分。...所以在代码里,我们用一个大大的 try ... except 语句块,将这几个步骤都包裹了起来。安全第一 ⛑。 那么,这段看上去简洁易懂的代码,里面藏着什么问题呢?...问题就藏在这个硕大无比的 try ... except 语句块里。假如你把眼睛贴近屏幕,非常仔细的检查这段代码。...,所以我们没必要使用 try 语句块 # 假如 group 被误打成了 grop 也没关系,程序马上就会通过 AttributeError 来 # 告诉我们。...打个比方,如果你想让一个请求返回 404 状态码,那么只要在该请求处理过程中执行 raise Http404 即可。 所以,我们很自然的从 Django 获得了灵感。

    60740

    Python 工匠: 异常处理的三个好习惯

    “捕获”指的是使用 try...except 包裹特定语句,妥当的完成错误流程处理。而恰当的使用 raise 主动“抛出”异常,更是优雅代码里必不可少的组成部分。...所以在代码里,我们用一个大大的 try...except 语句块,将这几个步骤都包裹了起来。安全第一 ⛑。 那么,这段看上去简洁易懂的代码,里面藏着什么问题呢?...问题就藏在这个硕大无比的 try...except 语句块里。假如你把眼睛贴近屏幕,非常仔细的检查这段代码。...,所以我们没必要使用 try 语句块 # 假如 group 被误打成了 grop 也没关系,程序马上就会通过 AttributeError 来 # 告诉我们。...打个比方,如果你想让一个请求返回 404 状态码,那么只要在该请求处理过程中执行 raiseHttp404 即可。 所以,我们很自然的从 Django 获得了灵感。

    90430

    三个好习惯,帮你写好Python里的异常处理

    “捕获”指的是使用 try...except 包裹特定语句,妥当的完成错误流程处理。而恰当的使用 raise 主动“抛出”异常,更是优雅代码里必不可少的组成部分。...所以在代码里,我们用一个大大的 try...except 语句块,将这几个步骤都包裹了起来。安全第一 ⛑。 那么,这段看上去简洁易懂的代码,里面藏着什么问题呢?...问题就藏在这个硕大无比的 try...except 语句块里。假如你把眼睛贴近屏幕,非常仔细的检查这段代码。...,所以我们没必要使用 try 语句块 # 假如 group 被误打成了 grop 也没关系,程序马上就会通过 AttributeError 来 # 告诉我们。...打个比方,如果你想让一个请求返回 404 状态码,那么只要在该请求处理过程中执行 raiseHttp404 即可。 所以,我们很自然的从 Django 获得了灵感。

    1.2K20

    WSL 2 的安装过程(以及介绍)

    几乎能运行完整的操作系统,资源消耗小、启动快、切换快 有些软件可能不支持…(后续有什么毛病再更新) 重点:Windows与Linux子系统将共用同一文件系统!!!...我们可以在WSL中使用三剑客命令查询分析windows文档、日志、使用shell命令或者bash脚本运行存储在windows中的linux程序、甚至在WSL中创建docker容器,在windows下使用...要在 Windows 10(2004)上启用虚拟机平台,请以管理员身份打开 PowerShell 或 cmd 并运行: dism.exe /online /enable-feature /featurename...:VirtualMachinePlatform /all /norestart 要在 Windows 10(1903,1909)上启用虚拟机平台,请以管理员身份打开 PowerShell或 cmd 并运行...你们第一次安装的话会弹出一个黑框框等几分钟这样,然后输你想要的入用户名和密码就行 当然这个时候可能会报错,什么样的错误都可能,我以前遇到过很多次!

    3K10

    计算机小白的成长历程——分支与循环(2)

    下面我有个问题,既然break在switch语句中能够使用,那我能不能在if语句中使用呢?...,我们使用了上一篇if语句中提到的知识点,省略else的用法,下面我们来测试一下: 从报错中我们可以看到,这里描述的是break的使用范围,break只能在循环或者开关中使用,有朋友可能就会问了,这个循环我能理解...这个default子句就像是另一种形式的case语句,它可以放在任何一个switch语句的代码块中的任何位置,但是它又和case有些区别,case的分支条件是整型常量表达式,default语句是只要不满足...通过这次测试,我们也验证了default在switch语句的代码块内可以放在任何位置。...下面我们把default相关内容做个总结: 1.default包含了所有的不满足case分支条件的情况; 2.default可以放在switch语句代码块中的任何位置; 3.在switch语句中只能存在一个

    17630

    ROS2-humble学习

    ctrl+alt+t 快速打开终端 ctrl+shift+c 复制 ctrl+shift+v 粘贴 因为ros2的代码需要在有ros2的环境下才能运行,但是每次的ros2的环境的配置需要一段比较长的命令...鉴于此,可以将这段命令写入环境变量,减少工作量。具体的方法,可以随便打开一个终端,首先运行第1条命令,在运行第二条命令。...同时为了检验其实际作用,可以另外打开一个终端,不输入下面的第1条语句,直接运行黄色的命令,可以发现运行是成功的。...2.ros2 run turtlesim turtle_teleop_key 这段命令的作用是控制乌龟的动作,是要在另外一个终端下打开的,不能在上个终端运...E 西北 R 正北 T 东北 G 正东 B 东南 V 正南 C 西南 D 正西 ps:这里我在虚拟机上运行的时候总是出现,跑着跑着界面就没有任何反应了,卡住不动,鼠标动不了,键盘都不了

    43110

    Python 工匠: 异常处理的三个好习惯

    “捕获”指的是使用 try...except 包裹特定语句,妥当的完成错误流程处理。而恰当的使用 raise 主动“抛出”异常,更是优雅代码里必不可少的组成部分。...继续阅读前,我希望你已经了解了下面这些知识点:异常的基本语法与用法(建议阅读官方文档 “Errors and Exceptions”)为什么要使用异常代替错误返回(建议阅读《让函数返回结果的技巧》)为什么在写...所以在代码里,我们用一个大大的 try...except 语句块,将这几个步骤都包裹了起来。安全第一。那么,这段看上去简洁易懂的代码,里面藏着什么问题呢?...问题就藏在这个硕大无比的 try...except 语句块里。假如你把眼睛贴近屏幕,非常仔细的检查这段代码。...打个比方,如果你想让一个请求返回 404 状态码,那么只要在该请求处理过程中执行 raiseHttp404 即可。所以,我们很自然的从 Django 获得了灵感。

    71310

    Java异常的深入研究与分析

    在声明方法时候抛出异常 语法:throws(略) 为什么要在声明方法抛出异常? 方法是否抛出异常与方法返回值的类型一样重要。...应该在声明方法抛出异常还是在方法中捕获异常?...处理原则:捕捉并处理哪些知道如何处理的异常,而传递哪些不知道如何处理的异常 使用finally块释放资源 finally关键字保证无论程序使用任何方式离开try块,finally中的语句都会被执行。...因此,当你需要一个地方来执行在任何情况下都必须执行的代码时,就可以将这些代码放入finally块中。当你的程序中使用了外界资源,如数据库连接,文件等,必须将释放这些资源的代码写入finally块中。...这段代码是否并没有什么问题,但看一下控制台的输出: MyException:发生了数据库异常:对象名称'MyTable' 无效。

    1.3K00

    1. C语言的第一个程序

    可移植性高 可移植性高是指源代码在不需要做改动或只需稍加修改,就能够在其他机器上编译后正确运行。C 语言是目前可移植性最强的语言。...第三步:安装 gcc 编译器 可以通过在终端中执行下面的语句安装gcc sudo apt-get build-dep gcc 安装完成后可以通过如下方式查看版本 gcc --version 如果在使用上面的命令安装...,因为主函数的作用仅仅是打印一个字符串,并没有返回值,所以要在最后 return 0; 在终端中进入上面的 C 文件(比如说文件名为 tmp.c)所在的文件夹,输入如下的语句对我们所编写的程序进行编译...这时如果使用 ls ,会发现在当前文件夹中出现了一个名为 “tmp” 的文件,此时在终端中执行下面该命令便可以得到结果。 ./tmp 上面这句命令的含义是执行当前目录下的 tmp 。.../a.out 好了,今日份的内容大概就到这里了,感谢大家对我的信任。如果有什么宝贵的 意见记得在下面留言告诉我哦~

    71140

    python项目通过docker部署到Linux系统并实现远程访问

    背景需求:在Windows系统编写了简单的python代码,希望能通过docker打包到Linux Ubuntu系统中,并运行起来,并且希望在本地Windows系统中能通过postman访问。...一、原本的python代码 在本地pycharm中编写一条简单的python代码,假如说只是一条打印语句,现在我们希望在Linux服务器上运行,并且可以由其他用户远程访问,决定打印的内容。...["python3", "uni/run.py" ]python项目的启动程序为uni文件夹下面的run.py 五、编译并导出镜像文件 在当前目录终端中运行如下命令 docker build -t image_name...image_name 成功后可在当前项目根目录下看到.tar文件 (llmchain是我自己取的文件名) 六、服务器运行 6.1 导入镜像 将tar文件转到Linux系统中,在当前目录终端运行如下命令...Flask 应用程序应该在 Docker 容器中运行,可以在Windows系统上运行postman 访问:http://服务器ip+端口 /hello 这里以我的postman截图 以下是在 Postman

    41710

    Python 6.1 错误处理

    错误处理 在程序运行过程中,如 果发生了错误,可以事先约定返回一个错误代码,这样,就知道是否有错以及出错原因。在操作系统提供的调用中,返回错误代码非常常见。...,就可以用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块,至此...END 由于没有错误发生,所以except语句块不会被执行,但是finally如果有,则一定会被执行(可以没有finally语句)。...使用try...except捕获错误还有一个巨大的好处,就是可以跨越多层调用,比如函数main()调用foo(),foo()调用bar(),结果bar()函数出错,这时只要main()捕获到就可以处理:...出错时,会分析错误信息并定位错误发生的代码非常重要。 程序也可以主动抛出错误,让调用者处理相应的错误。但是应该在文档中写明会抛出那些错误。以及错误产生的原因。

    54710

    Python黑帽编程2.6 模块

    Python黑帽编程2.6 模块 我们已经学习了如何在你的程序中定义一次函数而重用代码。如果你想要在其他程序中重用很多函数,那么你该如何编写程序呢?你可能已经猜到了,答案是使用模块。...当Python执行import sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块。如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块将能够被你使用。...下面我们保存这段代码为module_sys.py,从终端使用python来运行,并输入参数“test argument”,如下图所示: ?...2.6.3 __NAME__ 每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。前面说过,当一个模块被第一次导入的时候,这个模块的主块将被运行。...假如我们只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的__name__属性完成。 #!

    982100

    Linux系统下gdb调试(一)

    另外,为了使gdb正常工作,必须使程序在编译的时候包含调试信息,这需要在gcc编译时加上-g或者-ggdb选项。调试信息包含了程序中的每个变量的类型和在可执行文件中的地址映射以及源代码的行号。...,可以方便地显示源代码、汇编和寄存器文本窗口),这里我以一个简单的程序为例,下面是源代码。...在这些在某些情况下,使用start命令将停止程序的执行太晚了,因为程序已经完成了精化阶段。在这种情况下,可以在精化代码中插入断点,在运行程序或使用starti命令之前。...好了下面我们来进入TUI界面了: 然后我们也可以使用快捷键ctrl+x+2,来调出它的底层地址变化,为下一部单步运行时,可以比较直观的可以看到程序的运行细节: (4)设置断点,并且进行单步执行,这里我把断点设置在...第14行中的代码为“n = 1”,恰好是 main 函数中的第一个可执行语句(前面的“int n;”为变量定义语句,并非可执行语句)。

    4.5K10

    java异常那些事

    "); } } } 上面的代码展示了最简单的异常,try语句中放着可能会发生异常的代码,catch语句块中放着发生异常后的处理代码。...finally: 思考一下这段代码的结果是什么: public class Test01 { public static void main(String[] args) { try {...我们来看一下运行结果: 除0异常 我是finally 我们看到我是finally正常输出 在异常处理中不管前面try块还是catch块中是否出现return语句,finally块中的代码都会正常执行,除非在前面遇到...System.exit(1),这行代码会直接退出虚拟机,所以finally不会执行 如果finally中也出现了return语句,那么finally中的return语句会覆盖前面try块中的return...语句,尽量不要在finally中写return语句 我们一般在finally语句中释放一些物理资源,如数据库连接,文件流等

    42510
    领券