トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン


python-logo.gif

Python Programing Langage

このページの参照数 6155 回

リンク(随時更新)

日本語のサイト

一般サイト

初心者用入門/紹介サイト

リンク

英語サイト

Pythonってどんな言語?

「プログラミング未経験の方」向けの説明

Pythonは数あるプログラミング言語の中で、入門者に優しく、奥の深い言語です。Pythonだけではできないこともたくさんありますが、習得したPython言語が不要になる日はまずこないでしょう。
なお、有名なマーフィーの法則に「教育用にも使えるものは、教育用にしか使えない」というものがありますが、このPython言語に関して言えば、その法則にはあてはまりません(実際、教育用としても実用としても使われているのですから)
欠点といえば、実行速度の遅さと、日本での知名度の低さ、でしょうか。
ともかく、「はじめてプログラミングを習ってみたい」なら、Pythonがお勧めです。
Googleで採用されていることが大々的に報じられ、和訳や日本人によるPythonの本が増えた結果、以前よりも知名度はやや上がりましたが、どうもまだ『専門家の使う難しい言語だ』と誤解されている方が多いようです。私論ではありますが、普通に使う分には、多分学校教育などで未だ利用されているBASICより数段簡単ではないかと思うのですが……

「他言語を経験された方」向けの説明

Pythonは、プログラミングの概念をすでにある程度理解された方にとっては、ものの2、3時間で習得できるお手軽な言語です。もしかしたら、前言語には無かった新しい視点が得られるかもしれません。

「マニアを自認する方」向け

 ここでは、Pythonという言語をある程度見聞きして知っている方について、ややコアなPythonの話題を掲げます。

※注意:この項目の特徴に関しては、使用の際、十分注意が必要です。さらに、この項目に挙げられた特徴を使用せずとも、通常のプログラミングにはほとんど支障がありません。

使用上の注意

fact = lambda n m=1:m if n==0 else fact(n-1, m*n)

 この例では、大体1,000回程度でフローオーバーしてしまいます。この場合は、reduce(functools.reduce)を使用するか、素直にforループなどを使用しましょう。

import functools
fact2 = lambda n: functools.reduce((lambda x, y: x * y),range(1, n+1))
def fact3(n):
  k = 1
  for x in range(1,n+1):
    k *= x
  return k

 どちらでも、10,000を指定してもスタックフローオーバーにはなりません。

Python3(Python 3000, py3k)

最初はGuidoの夢想から始まったらしいPython3000の実現! Python3系が登場しました。現在豊富な資産を持つPython2派と、未来志向Python3派の地味な戦いが激化?

その他のサイト内Python関連ページ

おまけ