はじめましてCaliphです!
私は最近pythonを習得したので、「プログラミングはできるけどpythonは書いたことがない」という人向けに、今回は基本的な使い方をまとめて見ようと思います。ちゃんとした説明ではないので、この記事で勉強する方は、イメージを掴む程度にご使用ください。
この記事は、他の言語を少し触ったことがある人向けなので、必要最低限の知識しかまとめていません。環境構築の方法など他のサイトでお調べください。
Pythonとはどんな言語?
pythonとは1991年に初めて公開されてプログラミング言語で、他のプログラミング言語との違いは以下のような点です。
- コードがシンプルでわかりやすい
- コンパイルを必要としないインタプリンタ言語
私はこれまでc言語やc++しか触ったことがありませんでしたが、初めてpythonを触った時は感動しました!!
今までの言語と比べ、実行速度は少し遅いものの短いコードでシンプルにプログラミングができます。
"メインの開発はpythonで行い、重い処理を行う高速化が必要な部分はc++で開発する"というように、使い分けることで開発時間を圧倒的に縮めることも可能なので、興味のある方は、ぜひ勉強してみてください。
四則演算
以下に、四則演算の例を示します。
pythonでは、足し算は+、引き算は-、掛け算は*、割り算は/、割り算のあまりは%、累乗は**を使用します。
変数
次に、pythonにおける変数の扱いについて説明します。ちなみにこれは、私が1番便利だと思ったところです!
以下に、変数を使用したpythonの例を示します。
なんとこのようにpythonでは、c言語やc++と違い、変数型を宣言せずに変数をいきなり使うことができます。整数や、少数、文字列などを代入すると、動的にデータ型が決まるみたいです。
変数型については、次の"データ型"で詳しく説明します。
データ型
次に、pythonにおけるデータ型の扱いを詳しくみていきましょう!
pythonには、整数型、少数型、文字型などの変数型が存在します。また、python3では5割る3(答えは1)のように整数同士の割り算を行う場合、変数型が自動で小数型(浮動小数点型)になります。
また、pythonでは、type()という関数で、データ型を調べることができます。上であげたコードに書いてある使用例などを実際に試してみてください。
リスト型(配列みたいなやつ)
以下に、pythonにおけるリストの使用例を示します。
リストは、c言語などをやっていた人からすると、なんのことかわからないかもしれませんが、配列とほぼ同じような感じのものです。変数名の後に[要素数]をつけることにより、参照することが可能です。また、要素数は0からスタートします。例えば、'hello'という文字をリストaに格納すると、a[1]の中に格納されている文字は、'e'です。
辞書型(ディクショナリ型)
以下に、辞書型の使い方について示します。
それでは、辞書型をみていきましょう!これは他のコンパイル型言語を使用している人には、あまりなじみのないものです。
一つ前のリスト型では、要素数0,1,2,3・・・・というように、番号とデータが関連づけられていました。
しかし、辞書型は、キーと呼ばれる数字や文字列と、データを関連付けて格納することができます。
現実の辞書とほぼ同じ使い方ができ、単語や意味、数字を対応させることができるので、とても便利です。
例として、上記のコードをみてみましょう。ここでは、国の名前をキーにして、首都を関連付けました。
そして、キーを配列の要素番号みたいに使用すると、関連付けられたデータが呼び出されていることがわかります。
演算子(ブール台数みたいなやつ)
以下に、基本的な演算子の種類を示します。
これは詳しい説明の必要がないと思います。
また、以上や以下、同等は =<, =>, ==を使用します。<、>も使うことができます。
この後で説明する条件分岐などで使うので「こんな感じか〜」という程度で大丈夫です。
条件分岐(if分)
それでは、条件分岐の説明をしていきたいと思います。
pythonでは、条件分岐を if 条件: という形で使用します。また、その条件が真である場合の処理は、次の行にインデントをつけて書きます。
インデントでブロックを区切るというやり方は、pythonの大きな特徴です。このルールのせいで書き方が制限されますが、どんな人が書いてもみやすいコードが出来上がるので、素晴らしいものだと思います。
また、if文の条件は、真である場合と、一つ前の部分で紹介したTrueや1などの真を表す値である時に実行されます。
上記のソースコードをみてみましょう。最後の方にあるif文では2つの条件をブール演算子のandで繋げています。
次に色々な条件判定をしたい場合の書き方を紹介します。上記のコードをみてください。
このように、一つ目に判定したい条件をif、2つ目以降に判定したい条件をelifというふうに繋げていきます。
全ての条件に当てはまらないときの条件処理はelseという文で表すことができます。
ループ処理(for文)
次にループ処理について示します。主にfor文とwhile文が存在します。どちらを使用しても同じことができるので、使いたい方を使いましょう。
最初に紹介するのがfor文です。ソースコードをみてください。
1行目にrange(5)という箇所がありますね?これは、[0,1,2,3,4]というリストを作成する関数です。
そして、for文ではrange()などで作られたリストの値が、変数iに、順番に代入されていきます。これにより、この場合は、0~4までの5回ループが行われるというわけです。
次にwhile文を紹介します。
これは、条件が真である場合ループ処理を行うというものです。
ソースコードをみてください。はじめにiという変数が0で初期化されています。そして、while文の条件はTrueなので、無限ループします。しかし、while文の中にif文があり、もしも変数i が5以上になったとき、breakという文が実行されます。break文はループから抜けることを表しているので、このコードは、5回のループが行われるということです。
ちなみに例としてわざと変な使い方を紹介しましたが、while i<5: という条件で書き直すとif文がなくても5回のループを行うことができます。
関数
以下に関数の例を示します。
最後に紹介するのが、関数です。
関数を使用すると、同じ処理をなんども使うときに、書くコードの量を少なくすることができ、効率をあげることができます。
それではコードをみてください。はじめに書いているのが、helloという表示をする為だけの関数です。def 関数名():で宣言することができます。関数の処理はif文と同じように、インデントで区切ってください。そして、関数名()で呼び出すことができます。
また他のプログラミング言語と同じように、引数と戻り値というものが存在します。
2つ目に書いたコードをみてください。def add(x, y):という部分のxとyが引数です。例えば関数を呼び出すときに、add(1,2)と書くと、add関数に1と2が渡されます。
この例の場合は、reurn x+yという処理を行なっています。これは、xとyを足して、戻すということをあらわしています。
このことより、print(add(3, 5))という部分では、関数addに3と5を渡し、足されて8が帰ってきて、それが表示されているということがわかります。
まとめ
今回の記事は、pythonを習得したときの感覚的なものをだいぶ適当に書いています。
おそらく、厳密にはかなりの部分が間違っているのではないでしょうかwww
しかし、プログラミングをする上で、上記のイメージさえ掴めていれば特に問題なくコーディングできるので、気にせず使いまくりましょう!。
さらに、詳しく知りたい方や、色々なライブラリを使ってみたいという方は、本を読むことを勧めます。