シェアする

  • このエントリーをはてなブックマークに追加

Python入門 基本文法

スポンサーリンク
ビッグバナー(上2)

このページでは、Pythonの基本文法やサンプルプログラム(ソースコード)を入門者向けに解説しています。

Pythonとは

Pythonは欧米で人気なスクリプト言語です。
初心者にも扱いやすい言語で短くて読みやすいコードを書くことが出来ます。
Googleやyahoo等の海外の大手IT企業でも利用されています。
ライブラリも豊富で、数値計算や統計処理をする場合にも有効な言語です。
本記事では、Python言語について入門者向けに基礎から紹介します。

Pythonの環境構築

Pythonの開発環境の導入方法については下記事にまとめています。
Python環境を構築する方法まとめ
Try Jupyterの使い方:ブラウザ上の実行環境(環境構築が面倒くさい人向け)

Pythonの基本文法

Pythonの基本文法については項目別に下記事にまとめています。

はじめに

プログラムファイルの作成
プログラムファイルの実行
バージョン2と3の違い

標準入出力

print文で出力(改行あり)
print文で出力(改行なし)
標準入力:sys.stdin.readline、readlines,、read

文字コード

コメント, 日本語コメント, print文で日本語出力, 日本語の扱い方

変数

文字列, 整数型(int), 長整数型(long), 実数型(float), 論理型(bool)
数値を整数型に変換

文字列処理

文字列の連結
文字列への変換:str
文字列の分割:split
文字列の置換:replace
文字列の検索:find、index、startswith、endswith
大文字小文字変換:lower、upper
先頭末尾の削除:lstrip、rstrip
数値を文字列に変換:str
文字列を数値に変換:int、float
正規表現:match、search、findall、finditer
文字列のハッシュ化:hashlib.md5(message).hexdigest()

構造化プログラミング

if文:条件分岐
elif文:条件分岐(複数)
for文:繰り返し
while文:繰り返し
continue文:処理のスキップ
if name == ‘main‘::意味・使い方

リスト配列

リストの使い方
リストの要素取得
末尾の要素取得
スライスで要素取得
末尾に要素追加:list.append(x)
任意の場所に要素追加:list.insert(n, x)
要素の削除:list.del(x)、list.pop(x)、list.remove(x)
リストの要素確認:list.index( i )、list.count( i )、in list

ファイル処理

【テキストファイル】
テキストファイルの読込
タブ区切りで読込
テキストファイルの書込
文字コード指定書込

【ファイル圧縮・解凍】
ファイルのZIP圧縮

【ファイルパス】
ファイル名から拡張子の取得
ファイルパスが存在するかの判定
パスがファイルか判定, パスがフォルダか判定

数値計算処理

【基本計算】
四捨五入:round(x)
絶対値:abs(x)
べき乗:math.pow(x)
平方根:math.sqrt(x)
指数関数(exp):math.exp(x)
対数関数(底が10):math.log10(x)
対数関数(底がe):math.log(x)
ラジアン→度:math.degrees(x)
度→ラジアン:math.radians(x)

【三角関数】
正弦(sin):math.sin(x)
余弦(cos):math.cos(x)
正接(tan):math.tan(x)
逆正弦(asin):math.asin(x)
逆余弦(acos):math.acos(x)
逆正接(atan):math.atan(x)

【統計量】
最大値:max(list)
最小値:min(list)
合計値:sum(list)
平均値:sum(list)/len(list)

【乱数】
乱数生成(0~1):random.randam( )
乱数生成(整数):random.int(n, m)
乱数生成(実数):random.float(n, m)
リスト配列のシャッフル:random.shuffle(list)
リスト配列の要素をランダムに抽出:random.choice(list)

オブジェクト指向

オブジェクト指向とは
オブジェクト指向の利点欠点
クラスインスタンスとは:クラス(設計図)、インスタンス(実体完成品)
メソッドプロパティとは:メソッド(操作)、プロパティ(属性)
クラスインスタンス変数とは:クラス全体、インスタンス内のみ
クラスの定義:class MyClass():
インスタンスの生成:my = MyClass()

【インスタンス変数】
インスタンス変数の生成:self.x = 10
インスタンス変数の値を取得:x = my.x
インスタンス変数の代入アクセス:my.x = 10
インスタンス変数の追加:my.y = 20
インスタンス生成時に値を渡す(初期化):my = MyClass(10, 20)

【クラス変数】
クラス変数の生成:x = 10(クラス文直下)
クラス変数の値を取得:x = MyClass.x
クラス変数の代入アクセス:MyClass.x = 10
クラス変数の追加:MyClass.y = 20
インスタンスの個数計算:クラス変数を利用

【メソッド】
メソッドの定義
クラスメソッドの定義
初期化メソッド(コンストラクタ):def __init___(self, x, y):
デストラクタ:def __del___():

【クラス継承】
クラス継承:class SubClass(SuperClass):

【まとめ】
Pythonでオブジェクト指向プログラミング

システム関連

【自作モジュール】
if name == ‘main’: の意味・使い方
自作ライブラリ・モジュールの読み込み

【日時】
現在日時(年月日)を取得
現在時刻(時分秒ミリ秒)を取得
うるう年の判定・回数カウント:calendar.isleap(year), calendar.isleap(year1, year2)

便利なツール

Try Jupyter:jupyterのクラウド版。ブラウザ上の実行環境
SageMathCloud:ブラウザ上の実行環境
ideone:ブラウザ上の実行環境
HCpy-Standalone-B:Python3をexeファイルに変換
Jupyter Notebookの使い方 (Windows、Linux)

Python応用例

Pythonで機械学習
Pythonで数値計算
Pythonでゲームプログラミング
Pythonで画像処理
PythonからArduinoを操作:電子工作、IoT
Pythonでネットワークプログラミング
Pythonで音声信号処理
Pythonで制御工学
Pythonでロボットシミュレーション
Github:Python

外部モジュール(ライブラリ)

Scikit-learn:機械学習
Chaiper:機械学習(ディープラーニング)
OpenCV:画像処理
NumPy:数値計算
Pandas:データ分析(R言語のデータフレーム風)
Matplotlib:グラフ作成
SymPy:記号計算
PyGame:ゲーム制作
python-control:制御工学シミュレーション
PyOpenGL:グラフィックス

参考文献

Python web
Python入門
Python-izm
Life with Python
【Python入門】初心者のための基礎と応用
お気楽Pythonプログラミング入門

他言語の入門記事

Python入門
C言語入門
Java入門
C#入門
Javascript入門
PHP入門
VBAマクロ入門
Processing入門

スポンサーリンク
レクタングル(下2)
レクタングル(下2)