Pythonとは、プログラミング言語、及びその処理系である。
概要
制作者はオランダ人のグイド・ヴァンロッサム。
名称はBBC制作のコメディ番組、『空飛ぶモンティ・パイソン』にちなんでつけられた。
Pythonは英語でニシキヘビを意味するので、アイコンにニシキヘビが用いられる。
ライセンスはGPL互換のPython Software Foundationライセンス。
Python 2.xでのHello,worldは次のようになる。
print "Hello, world!"
BlenderやCivilizationなどのソフトウェアは、内部処理にPythonを用いている。
Pythonで書かれたソフトウェアには、yum、Mercurial、Sphinx、Ren'Pyなどがある。
汎用のプログラミング言語であるから「何ができない」ということはないが、
現在のPythonで最もホットな用途は科学計算であろうと思われる。
数値計算、統計解析、機械学習、自然言語処理、可視化などの高度なアルゴリズムやツールが揃う。
日本語情報が同じポジションの他言語より少ないこともあって、日本ではWeb用途より研究用途の方が活発とも。
Linux Standard Base(Linuxの標準構成を定めた規格)に含まれているため、大方のLinuxでは最初からインストールされているのもメリットであろう。ちなみにPerlもこの規格に含まれている。
一番ポピュラーな実装はCで書かれたCPythonで、その他にもJavaで書かれたJythonやPythonで書かれたPyPyなどがある。
PerlのCPANやPHPのPackagistに相当するライブラリのリポジトリとして、PythonではPyPI(Python Package Index)が用意されている。
PyPIの読みはたまに話題になる。パイピーアイと読めば恥ずかしくない。パイパイと読む人もいる。
PythonでFizzBuzz
Pythonで書いた100までのFizzBuzz問題の一例は以下の通り。
for i in range(1, 101): if i % 3 == 0 and i % 5 == 0: print 'FizzBuzz' elif i % 3 == 0: print 'Fizz' elif i % 5 == 0: print 'Buzz' else: print i
このように、for文やif文のブロック構造はインデントによって決まるので、ブロックの範囲を記述するための括弧が必要ない。
Python 3
Pythonは後方互換性を重視している。(Python 2.6で書かれたコードは基本的にそのままPython 2.7でも動く、等。)
しかしPython 3では、根本的な問題を修正してシンプルな言語にするために、Python 2と後方互換性がなくなるような大きな変更がなされた。
具体的には、print文がprint()関数になったり、標準の文字列がUnicodeになったり、整数型(従来のintとlong)が統合されたりしている。また標準モジュールの統廃合や名前の変更なども行われた。
Python 3.xでのHello,worldは次のようになる。
print("Hello, world!")
Python 2は 2.7 で開発が終了しているが、メンテナンスは継続されている。
現在、ライブラリやアプリケーションのPython 3への対応が着々と進行中である。
関連動画
ニコ厨にPython使いは少ない模様?
関連コミュニティ
関連項目
外部リンク
- 8
- 0pt