被“嫌弃”的分号的一生:不要在Python中使用无用分号了
2021-03-10 17:34
标签:程序员 script 习惯性 问题 干货 lib 导致 课程 条件语句 我常在C / C ++语言中看到很多分号。在代码中,分号表示语句终止。Python并未强制使用分号来分隔语句,但因为分号导致Python乱码的情况可不少。 最近,笔者正在学习Python的数据科学课程。讲师讲解了条件语句并编写了以下代码: 笔者当时的反应是:这太可怕了!分号仅在Python中的非典型情况下使用。笔者准备了一篇小指南,解释为什么不应该在Python中使用分号,并列出了少数特殊情况。 在许多大众的编程语言中,需要在每个语句的末尾添加分号。例如,在C ++中: 但Python并非如此。Python是一种简洁的编程语言,你不需要添加不必要的字符和语法。在Python中,一条语句结束于一行的结尾(方括号,引号或括号除外)。例如: 语句分隔符 Python中的分号表示分隔,而不是终止。它允许在同一行中编写多个语句。 此语法允许在单个语句的末尾加上分号: 该语句表示print( ... ),然后在下一句终止。因此它实际上是两个语句,其中第二个为空。即使该语言允许使用分号分隔语句,但大多数Python程序员都不会在其代码中使用它。 Python应该是清晰可读的。分号之类的语法字符会导致不必要的混乱。如果将这样的代码发送给经验丰富的Python程序员,他可能不会再理你了。 将多条语句强制放在一行上会使原本简单的代码难以阅读。 那么问题来了,既然分号既不美观又碍事,为什么Python中允许使用分号? 笔者认为,这是为了使两种编程语言之间的转换变得稍微容易一些。具有Java,C ++和PHP背景的程序员习惯性地将(无用的)终止符放在每一行的末尾。 但是,在下列这些情况下,分号也会派上用场: 最常见的一种情况是使用python-c 另一个用例是exec语句: 在Jupyter Notebook之类的交互式环境中工作时,最后一个表达式返回的值将以字符串形式输出。评估某个函数的副作用真的会很烦人,在matplotlib中查看这个问题会产生赘余。 笔者将在JupyterNotebook中创建一个简单的直方图。如下图所示,运行此脚本会在输出时添加多余的一行:Text(0.5,1.0, Histogram )。 这实际上是调用.set_title(...)函数的返回值。为了抑制输出,可以在最后一条语句的末尾添加一个分号: 简洁就是伟大,我们在编写代码时应避免添加任何多余的字符。删掉那些多余的分号吧,仅在必要时使用即可。 被“嫌弃”的分号的一生:不要在Python中使用无用分号了 标签:程序员 script 习惯性 问题 干货 lib 导致 课程 条件语句 原文地址:https://blog.51cto.com/15057819/2565285
图源:unsplash
temp =10;if temp
语句终止符
图源:unsplashint c =10;
int a = 5;printf( In C++, semicolon at the end is must );
c = 10
a = 5print( No semicolons in Python )
print( Statement1 ); print( Statement 2 ); print( Statement 3 )
print( WhyGod? WHY? );
图源:unsplashtemp =10; cold =False;
if temp
何时使用分号?
从Shell运行脚本
python-c import math; t = math.pi;print(int(t))’
exec( fori in [100,200,300]: print(i);print(i*2) )
评估表达式的副作用
图源:unsplashaxis.set_title( Histogram ,size=10);
留言点赞发个朋友圈
我们一起分享AI学习与发展的干货
编译组:高荣蔚、廖琴
相关链接:
https://towardsdatascience.com/stop-using-semicolons-in-python-fd3ce4ff1086
如转载,请后台留言,遵守转载规范
推荐文章阅读
ACL2018论文集50篇解读
EMNLP2017论文集28篇论文解读
2018年AI三大顶会中国学术成果全链接
ACL2017论文集:34篇解读干货全在这里
10篇AAAI2017经典论文回顾
长按识别二维码可添加关注
读芯君爱你
上一篇:源地址到jar的路径
文章标题:被“嫌弃”的分号的一生:不要在Python中使用无用分号了
文章链接:http://soscw.com/index.php/essay/62866.html