每天凌晨00点00分, 第一时间与你相约

每日英文

To live a beautiful life, one must be tolerant, without complaint or explanation.

要生活得漂亮,需要付出极大忍耐,一不抱怨,二不解释。

每日掏心话

人生之所以精彩,是他愿意全然的接受一切。生命之所以可贵,是他愿意尊重一切的生命。

来自:公众号 读芯术 | 责编:乐乐

程序员小乐(ID:study_tech)第 908 次推文 图源:百度

往日回顾:“微信支付”的架构到底有多牛逼?

正文

我常在C / C ++语言中看到很多分号。在代码中,分号表示语句终止。Python并未强制使用分号来分隔语句,但因为分号导致Python乱码的情况可不少。

最近,笔者正在学习Python的数据科学课程。讲师讲解了条件语句并编写了以下代码:

temp =10;if temp <12: print( It is cold ); cold = True;

笔者当时的反应是:这太可怕了!分号仅在Python中的非典型情况下使用。笔者准备了一篇小指南,解释为什么不应该在Python中使用分号,并列出了少数特殊情况。

语句终止符

图源:unsplash

在许多大众的编程语言中,需要在每个语句的末尾添加分号。例如,在C ++中:

int c =10;int a = 5;printf( In C++, semicolon at the end is must );

但Python并非如此。Python是一种简洁的编程语言,你不需要添加不必要的字符和语法。在Python中,一条语句结束于一行的结尾(方括号,引号或括号除外)。例如:

c = 10a = 5print( No semicolons in Python )

语句分隔符

Python中的分号表示分隔,而不是终止。它允许在同一行中编写多个语句。

print( Statement1 ); print( Statement 2 ); print( Statement 3 )

此语法允许在单个语句的末尾加上分号:

print( WhyGod? WHY? );

该语句表示print( ... ),然后在下一句终止。因此它实际上是两个语句,其中第二个为空。即使该语言允许使用分号分隔语句,但大多数Python程序员都不会在其代码中使用它。

图源:unsplash

Python应该是清晰可读的。分号之类的语法字符会导致不必要的混乱。如果将这样的代码发送给经验丰富的Python程序员,他可能不会再理你了。

temp =10; cold =False; if temp<15: print( It is cold ); cold =True; print( Another statement ) print(cold); print( Done );

将多条语句强制放在一行上会使原本简单的代码难以阅读。

何时使用分号?

那么问题来了,既然分号既不美观又碍事,为什么Python中允许使用分号?

笔者认为,这是为了使两种编程语言之间的转换变得稍微容易一些。具有Java,C ++和PHP背景的程序员习惯性地将(无用的)终止符放在每一行的末尾。

但是,在下列这些情况下,分号也会派上用场:

从Shell运行脚本

最常见的一种情况是使用python-c

python中分号中没内容_被“嫌弃”的分号的一生:不要在Python中使用无用分号了...相关推荐

  1. python os.system(cls)没反应_这真的是全宇宙最简单的Python安装方式了

    大家安装Python一般都是怎么安装的呢?每次有同学来问老师Python的安装方法时,老师都会教大家如何到Python的官网下载最新的Python安装包.但近来也有同学在反应,由于Python的官网在 ...

  2. python爬取付费隐藏内容_如何用python 爬取网页中隐藏的div内容?

    图片所在的html元素id叫 viewimg ,这个元素是由 view.js 当中的 loadview 函数创建的.该函数吧serverurl跟photosrc这个array里头的元素拼接,并把他设置 ...

  3. excel合并两列内容_还在为合并WPS表格(Excel)中两列内容而犯愁?此方法简单高效...

    我们在处理WPS表格(Excel)数据时,时常需要将两列甚至更多列的内容合并显示在同一列中,就像这样: 这个时候大家是怎么解决的呢? 路人:复制粘贴So easy!小杜:不止两三行啊--路人:复制粘贴 ...

  4. java解析xml 前言中不允许有内容_关于xml加载提示: Error on line 1 of document : 前言中不允许有内容...

    我是在java中做的相关测试, 首先粘贴下报错: 读取xml配置文件:xmls\property.xml org.dom4j.DocumentException: Error on line1of d ...

  5. python获取藏头诗内容_Watson使用指南(六)在微信公众号中实现识图作诗功能

    本文章主要是写一下这个项目开发的过程及之间遇到的问题,作为记录,也希望以此为契机认识志同道合的朋友,一起学习交流. 目录: 概述 环境准备及相关账号申请 部署Python Flask应用到Bluemi ...

  6. java 前言中不允许有内容_解析xml字符串时报“前言中不允许有内容”错误。

    一,问题出现经过: j基于java语言webservic服务端接收客户端 传来的xml字符串用 解析时总报:org.dom4j.DocumentException: Error on line 1 o ...

  7. python批量提取word指定内容_使用python批量读取word文档并整理关键信息到excel表格的实例...

    目标 最近实验室里成立了一个计算机兴趣小组 倡议大家多把自己解决问题的经验记录并分享 就像在CSDN写博客一样 虽然刚刚起步 但考虑到后面此类经验记录的资料会越来越多 所以一开始就要做好模板设计(如下 ...

  8. 给表中指定位置添加字段_利用VBA代码,轻松完成向工作表中添加指定图片到指定位置...

    VBA++ 题记:一剪闲云一溪月,一程山水一年华.一世浮生一刹那,一树菩提一烟霞.岁月静好,现世安稳.纵算云水漂泊,心若安宁,亦可淡若清风.希望见者与不见者都能安康.静下心,多学习有用的知识,多提高自 ...

  9. qt中json构造一个数组_告别撸单元格!我来分享Excel中如何利用一条公式得到一个数组...

    来分享一个Excel中小众的大招."小众的大招"--这么说不矛盾.在Excel表格中利用一条公式来得到一个数组是一个高深且晦涩的话题.多数人不懂什么是数组,所以遇到此类文章或应用实 ...

  10. 未能比较数组中的两个元素_算法3 寻找两个正序数组的中序数

    问题描述: 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的中位数.要求设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题. ...

最新文章

  1. springboot取yml中的值_SpringBoot 中从yml配置文件中读取常用的参数值
  2. SiteView NNM安装
  3. 【五线谱】五线谱的线与间 ( 五线谱中的 第N线与第N间 | 五线谱上的 上加N线与上加N间 | 五线谱下的 下加N线与下加N间 | 高音谱号下加一线 等同于 低音谱号上加一线 )
  4. python中的json_简单介绍Python中的JSON使用
  5. vagrant网站中box下载方法
  6. vmware安装centos问题
  7. C#串口SerialPort常用属性方法
  8. 5G套餐月资费感受下:最低325元 仅提供8GB数据流量
  9. Pandas 文本数据方法 extract( ) extractall( )
  10. 问题-[Delphi]用LoadLibrary加载DLL时返回0的错误
  11. Ubuntu 12.04 更新重启无法进入桌面 -转
  12. 卖两本windows phone的书
  13. MUI APP关于页面之间的传值,plusready和自定义事件
  14. 中介管理系统php源代码,PHP房产中介管理系统小程序源码8.0.5 后台+前端
  15. 2018弱密码TOP 100
  16. 如何快速实现一个颜色选择器
  17. JavaScript基础若干盲点总结
  18. 你真的懂Java怎么输出Hello World吗?
  19. C# .net MVC 微信红包(服务号发送红包)
  20. C语言计算线性方程组

热门文章

  1. 如何批量压缩图片?这几个方法值得一试
  2. node爬取守望先锋图片
  3. 【操作系统】CPU调度算法
  4. cad的php文件怎么用,CAD无法弹出打开、保存等窗口,用FILEDIA解决
  5. 如何做杜邦线、XH线 制作方法
  6. 90后男屌丝如何让淘宝客日赚10万滴
  7. 如何将腾讯视频客户端下载的QLV视频格式转换成MP4格式
  8. Mysql 免安装配置
  9. sci-hub, libgen等科研用文献书籍下载
  10. 程序员:办公室里的木匠