JavaプログラマのためのPython入門。その違いについてソースコードをメインに比較していきます。
世のプログラマには、幼少のころからコンピュータに親しみ、気が付けばプログラミング言語を操っていたような「真のプログラマ」と、社会人になってから職業としてプログラミングを始めたような「平凡プログラマ」の2通りに大きく分類できると思います。そんな平凡プログラマの私が現在体得中の"Python"について、長きに渡り親しんだ"Java"視点から、その違いについてを主な記事にしていこうと思っているBlogです。
今日 | 04/19 | 04/18 | 04/17 | 04/16 | 04/15 | 04/14 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(IN) | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,034,217サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
IT技術ブログ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 9,760サイト |
Python | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 245サイト |
プログラム・プログラマー | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 930サイト |
今日 | 04/19 | 04/18 | 04/17 | 04/16 | 04/15 | 04/14 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(OUT) | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,034,217サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
IT技術ブログ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 9,760サイト |
Python | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 245サイト |
プログラム・プログラマー | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 930サイト |
今日 | 04/19 | 04/18 | 04/17 | 04/16 | 04/15 | 04/14 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(PV) | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,034,217サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
IT技術ブログ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 9,760サイト |
Python | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 245サイト |
プログラム・プログラマー | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 930サイト |
スクリプト実行時のカレントディレクトリから、現在実行しているスクリプトへの相対パスは下記で取得します。 例)Python import os os.path.dirname(__file__)
文字列を文字配列に変換するにはlist()関数を使用します。 例)Python s = "abcde" l = list(s) 例)Java String s = "abcde"; char[] schars = s.toCharArray();
文字列の長さは len() 関数で取得します。 例)Python s = "abcde" len(s) 例)Java String s = "abcde"; s.length();
PythonでURLエンコードを行うにはurllibライブラリのquote_plus関数を使用します。 例)Python import urllib urlenc_param = urllib.quote_plus(param.encode('utf8')) 例)Jav...
文字列の連結を行うにはバッファリングを行った方が効率的です。JavaではStringBufferを用いますが、Pythonでははjoin()関数を利用します。 例)Python buffer = [] for i in range(100): buffer.appe...
Pythonの辞書(JavaではMap)から値を取り出す際に存在しないキーを指定するとエラーになってしまいます。 そのため取得を行う前にhas_key()を用いてキーの存在を問合せる必要があります。 例)Python value = None if map.has_key(...
インクリメントのforループです。 例)Python "range(100)"は「100個の配列を生成する」という関数で、"0"から始まり"99"までとなります。 for i in range(100): # 変数iを0から99までインクリメントして繰り返す。 pr...
Pythonでのシステム日付の取得はdateオブジェクトを用います。 例)Python from datetime import date date.today().year date.today().month date.today().day date.isoform...
Pythonにおいて継承した親クラスを明示する方法はJavaと同様、キーワード"super"を使用します。 例)Python class Employee(Person): def __init__(self): super.__init__(self...
PythonではJavaではできない多重継承が可能です。 例)Python # 単継承 class SingleExtendsClass(Base1): . . . # 多重継承 class MultiExtendsClass(...
Pythonではインスタンス生成の際にJavaでいうnewキーワードは不要です。 例)Python class Employee: pass john = Employee() 例)Java public class Employee() { privat...
Phthonにおける文字列のフォーマットはJavaのMessageFormatと比べるとだいぶ様子が異なります。 例)Python フォーマットを文字列で定義します。 %に続けてフォーマットコードを記述すると、そこに文字列がバインドされます。たとえば"%s"(文字列)、"%d...
Pythonインタプリタの内部コードはJava同様ユニコードです。ですが、日本語をリテラルとして定義する場合、Javaでは他のASCII文字列との区別を意識しませんがPythonにおいてはユニコードで扱うことを明示する必要があります。 例)Python name = u...
Pythonをスクリプトファイルとして実行する場合は当然ソースファイルを用意します。Pythonはスクリプト言語ですのでJavaのようにコンパイルという作業はありません。そのためスクリプトファイルの先頭でソースファイルの文字コードを指定することにより、インタプリタへ通知します。 ...
Pythonにおけるimportを理解するためには、まずJavaとは異なる下記を理解する必要があります。 モジュール・・・クラスや関数が定義されているファイルのこと。 関数、クラス・・・モジュール内に定義されている関数、クラス。 パッケージ・・・モジュール(≒ファイル)が配置...
JavaのHashMapクラスにあたるものはPythonでは辞書オブジェクトといいます。 Map同様、キーと値のペアを定義できます。 例)Python colors = {"red":"#FF0000", "green":"#F00FF00", "blue":"#0000FF...
Pythonでは配列のサイズ取得に組み込み関数のlen()を使用します。 例)Python numbers = [1, 2, 3, 4, 5] print len(numbers) 例)Java int[] numbers = {1, 2, 3, 4, 5}; Syst...
Javaではメソッドは必ずクラスに定義されている必要がありますが、Pythonはスクリプト言語であり、クラス定義は必須ではありません。 クラスに属さないメソッドにあたる処理単位を「関数」と呼び、関数はモジュールに属します。 モジュールについては別途記事にするつもりですが、簡単に言...
PythonではJavaの拡張for文と同じような記述になります。とてもシンプルです。 例)Python numbers = [10, 20, 30] for num in numbers: print num 例)Java フツーのfor文 int[] n...
if文はJavaにおける「else if」に対して「elif」と記述します。また論理演算子が異なりJavaの"&&"には"and"、" "には"or"が対応します。詳しくは論理演算子の投稿でまとめます。 例)Python if 28 <= age and age <= 33...
「ブログリーダー」を活用して、イサタンさんをフォローしませんか?