print("Hello, world")
昔からの習わし
プログラミングを始めようとするときには、
Brian W. Kernighan, Dennis M, Ritchie共著「プログラミング言語C
」(K&R本)の時から、
”Hello,world”を出力する。
から始めるのが習わしとなっている。
K&R本(ANSI規格準拠版)では、
#include <stdio.h>
int main(void)
{
printf("Hello, world\n");
return 0
}
Python3では、以下の一行。
print("Hello,world")
Python2でも一行であるが、print関数ではなくprint文。
print "Hello,world"
printにまつわる思い出
以前、まだPythonを知らない時、
何かのシステムトラブルで
「これからPythonスクリプトを送るので実行してください」
とベンダーさんに言われ、
大急ぎでPython3の環境を作ったら、
Python2のコードを送り付けられて、
すごくハマったことを思い出す。
Web開発において、PerlやPHPなどで、
バージョンアップで非互換性が生じ、
プログラム改修が必要になることがある、とは
知識としてなんとなく知っていたが
バージョンアップでprint文がprint関数になったなんて、聞いてねぇよ!
やはり、当事者にならないとわからないってことはあるものだよなぁ。
どっちが親切?
ANSI Cのprintf("Hello,world¥n")
Python3のprint("Hello,world")
あなたはどちらを推しますか?
わざわざ改行文字を入れる必要がないPython3の方が親切に見える。
こちらの意見が大半だろう。
では、print()関数で2の倍数を横並びに印字したい場合はどうしたら良い?
i=0
while i<=10:
print(i)
i+=2
などと書いても改行されてしまう。
基本的なPython3の知識。
3行目を print(i,end=" ")と直さねばならない。
それでは逆に、Cではどうなるだろう?
#include <stdio.h>
int main(void)
{
for (int i=0:i<=10;i+=2)
{
printf(i);
printf(" ")
}
return 0
}
コンパイラ言語特有の煩しさはあるものの、Pythonのprint()の第2引数何だっけ?問題に悩まずに済む。
この記事が気に入ったらサポートをしてみませんか?