枝头的喜鹊|简洁即伟大:为什么不应该在Python中使用分号?


全文共1328字 , 预计学习时长6分钟
枝头的喜鹊|简洁即伟大:为什么不应该在Python中使用分号?
本文插图

我常在C / C ++语言中看到许多分号 。 在代码中 , 分号表示语句终止 。 Python并未强制使用分号来分隔语句 , 但由于分号导致Python乱码的情况可不少 。
最近 , 笔者正在学习Python的数据科学课程 。 讲师讲解了前提语句并编写了以下代码:
temp =10;if temp <12: print("It is cold"); cold = True;
笔者当时的反应是:这太可怕了!分号仅在Python中的非典型情况下使用 。 笔者预备了一篇小指南 , 解释为什么不应该在Python中使用分号 , 并列出了少数特殊情况 。
语句终止符
枝头的喜鹊|简洁即伟大:为什么不应该在Python中使用分号?
本文插图
在很多大众的编程语言中 , 需要在每个语句的末尾添加分号 。 例如 , 在C ++中:
int c =10;
int a = 5;printf("In C++, semicolon at the end is must");
但Python并非如此 。 Python是一种简洁的编程语言 , 你不需要添加不必要的字符和语法 。 在Python中 , 一条语句结束于一行的结尾(方括号 , 引号或括号除外) 。 例如:
c = 10
a = 5print("No semicolons in Python")
语句分隔符
Python中的分号表示分隔 , 而不是终止 。 它答应在统一行中编写多个语句 。
print("Statement1"); print("Statement 2"); print("Statement 3")
此语法答应在单个语句的末尾加上分号:
print("WhyGod? WHY?");
该语句表示print("...") , 然后在下一句终止 。 因此它实际上是两个语句 , 其中第二个为空 。 即使该语言答应使用分号分隔语句 , 但大多数Python程序员都不会在其代码中使用它 。
枝头的喜鹊|简洁即伟大:为什么不应该在Python中使用分号?
本文插图

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"<script>"从shell运行一个简短的脚本 。 由于不能在此处使用缩进 , 所以需要键入很多用分号分隔的表达式 。 以下面语句为例:
python-c "import math; t = math.pi;print(int(t))’
另一个用例是exec语句:
exec("fori in [100,200,300]: print(i);print(i*2)")
评估表达式的副作用
枝头的喜鹊|简洁即伟大:为什么不应该在Python中使用分号?
本文插图

在Jupyter Notebook之类的交互式环境中工作时 , 最后一个表达式返回的值将以字符串形式输出 。 评估某个函数的副作用真的会很烦人 , 在matplotlib中查看这个题目会产生赘余 。
笔者将在JupyterNotebook中创建一个简朴的直方图 。 如下图所示 , 运行此脚本会在输出时添加多余的一行:Text(0.5 , 1.0 , "Histogram") 。
枝头的喜鹊|简洁即伟大:为什么不应该在Python中使用分号?
本文插图

这实际上是调用.set_title(...)函数的返回值 。 为了按捺输出 , 可以在最后一条语句的末尾添加一个分号:
axis.set_title("Histogram",size=10);
简洁就是伟大 , 我们在编写代码时应避免添加任何多余的字符 。 删掉那些多余的分号吧 , 仅在必要时使用即可 。
枝头的喜鹊|简洁即伟大:为什么不应该在Python中使用分号?
本文插图

留言点赞关注
我们一起分享AI学习与发展的干货
【枝头的喜鹊|简洁即伟大:为什么不应该在Python中使用分号?】如转载 , 请后台留言 , 遵守转载规范


    推荐阅读