Pythonのプログラミングノート
ここではPythonに関することを備忘録的に書き記していきます。
構文などを忘れた時にさっと見返せればいいなと思います。
■環境構築
必要な機能をダウンロードするためのサイトを紹介。
インストーラーをダウンロードしましょう。
Python環境インストール
Python公式サイト
https://www.python.jp/
上のDownlordメニューから自分の環境に合った物をダウンロードします。
もしくは
Anaconda:Python環境の総合パッケージ
https://www.anaconda.com/
ProductsのIndividual Editionからダウンロードします。
コードエディタのインストール
Visual Studio Code:コードエディタ
https://code.visualstudio.com/download
プログラミングに特化したテキストエディタです。
拡張機能をインストールすることによりさらに使い勝手が良くなります。
・過去の参考記事
【入門】Pythonを始めるには – 初心者向け
■コマンドプロンプトでの操作
現在のディレクトリ(カレントディレクトリ)の内容を表示
dir
カレントディレクトリを移動する
cd
cdは絶対パスもしくは相対パスを指定して移動します
具体例:
カレントディレクトリ内にあるディレクトリの中に入る
cd ディレクトリ名
一度に2階層以上深い階層に入ることもできる
cd ディレクトリ名1\ディレクトリ名2
1つ上の階層のディレクトリに戻る
cd..
Pythonファイルを実行
ファイル名.py
■サードパーティライブラリのインストール
インストールコマンドの例:numpyをインストールしたい場合
pip install numpy
インストール済みライブラリの確認
pip list
・過去の参考記事
【Python】プロキシ環境下でpip installを使用してライブラリを追加する
■変数
変数の定義は「=」を使います
例:
a = 1 b = 2 s = 'こんにちは'
「=」は「等しい」ではなく「代入」という意味になります。
数値ではなく文字列の場合はシングルクォート「’ ‘」でくくります。
ダブルクォートでもOKです。
■関数
関数の定義
基本形
def 関数名():
処理~
引数あり
def 関数名(引数):
処理~
複数の引数あり
def 関数名(引数1, 引数2,・・・):
処理~
関数の引数にデフォルト値を設定することもできる
def 関数名(引数 = 値):
処理~
関数の呼び出し
基本形
関数名()
引数あり
関数名(引数)
複数の引数あり
関数名(引数1, 引数2,・・・)
■コレクション
コレクションとは複数の要素を扱うデータ型です。
リスト
リストの定義の例
list = ['a','b','c']
角カッコの中にコンマで区切って定義します。
1番目の要素を取り出すとき
list[0]
要素の番号は1ではなく0から始まることに注意してください。
リストの要素の数を知りたいときはlen()メソッドを使います。
len(list)
リストの最後尾に要素を追加する.append()メソッド。
list.append('d')
この指示により要素「d」が追加され、リストの中身が
['a','b','c','d']
と、なります。
タプル
タプルの定義の例
list = ('a','b','c')
丸カッコの中にコンマで区切って定義します。
タプルの要素の数を知りたいときはlen()メソッドを使います。
len(list)
1番目の要素を取り出すとき
list[0]
要素の番号は1ではなく0から始まることに注意してください。
リストとの大きな違いは要素の変更が出来ないことです。
定義したら変更したくない、不変の要素を定義するのに向いています。
ディクショナリ(辞書型)
複数の要素をキーと呼ばれる名前で追加したり、取り出したりするときに使えるデータ型です。
試験の結果を例にすると
定義の仕方は
result = {'国語':70,'算数':80,'理科':90,'社会':80}
このような感じになります。
波カッコの中に「キー:値」の形式の要素を、コンマで区切って定義します。
要素を追加する場合
result['英語'] = 70
とすると中身は
{'国語':70,'算数':80,'理科':90,'社会':80,'英語':70}
となります。
値を取り出すには
result['国語']
70
のようにキーを指定すると、その値を取り出すことができます。
■クラス
クラスは、モノを定義するために様々な属性情報(プロパティという)を、ひとまとめにするときに使われます。
「ひな型」のようなものです。
よくある例として「人間」があります。
「人間」という「型」には様々な属性があります。例えば、
名前、年齢、体重
などがそうです。
「人間」と一言で言っても色々な人がいますよね。
ですので、どんな「人間」かを具体的に定義してあげなければその情報を利用することはできません。
この、具体的に定義すると表現した部分を「実体化」とか「インスタンス化」などといいます。
実際のコードをみないと分かりづらいと思うので例を挙げておきます。
#クラスの定義(人間という大まかなカテゴリを定義)
class Person:
#クラスの初期化、メソッドの定義(人間が持つ属性として、名前・年齢・体重を定義する)
def __init__(self, name, age, weight):
self.name = name
self.age = age
self.weight = weight
#必要に応じて呼び出すことが出来る独自の関数を定義(あいさつのメソッド)
def hello(self, name):
print(f'こんにちは、{name}さん。ぼくは{self.name}です。')
#---------------------------------------------------------------------------
#ここでインスタンス化(実体化)する
# (人間というカテゴリ(クラス)から田中さんと鈴木さんを定義)
#この時点で__init__ 関数が呼び出される
# self以外の引数に名前・年齢・体重の値がそれぞれ渡される
tanaka = Person('田中','20','65')
suzuki = Person('鈴木','25','70')
#---------------------------------------------------------------------------
#インスタンスの呼び出し
# あいさつのメソッドを引数を指定して呼び出す
# 田中さんは鈴木さんにあいさつし、鈴木さんは田中さんにあいさつします
tanaka.hello('鈴木')
suzuki.hello('田中')
#__init__ はインスタンスを呼び出した時に必ず実行される初期化用関数です
#__init__ 関数を「コンストラクタ」とも言います。
#コンストラクタによりクラスに具体的な情報を持たせ「実体化」します
#クラス定義部分のselfは、どのインスタンスが呼んだかで値が変わります
# (selfにはインスタンス名自身が代入される)
クラスに関しては初心者が一番つまづきやすい場所だと思います。
自分もやっと感覚がつかめてきた感じがする程度です。
クラスにはまだ機能があるので、改めてまとめようと思います。
■まとめ
Pythonを一通り勉強したけど、なかなかまとまらない場合に参照できればと、
プログラミングノートとして書いてみました。
これからちょくちょく追記したり、別記事で掘り下げていければと思います。
ここまでご覧いただきありがというございました
※この記事は随時更新という形になります。



コメント