【Python入門】サンプル集

Python3入門者向けに基本文法~応用例(数値計算・機械学習・ゲーム制作等)をサンプルコード付きでまとめています。

【はじめに】Pythonとは

Pythonは欧米で人気なスクリプト言語です。
初心者にも扱いやすい言語で短くて読みやすいコードを書くことが出来ます。
ライブラリも豊富で、数値計算や統計処理をする場合にも有効な言語です。
また、ラズベリーパイなどのIoT機器を使えば電子工作や組み込み系にも使えます。
本記事では、Pythonのバージョン3を中心に入門者向けに基礎から紹介します。

参考記事
1 【Python】主な特徴(メリット・デメリット)
2 ■【Python】できること

【準備】環境構築、プログラムの作成・実行

まずはじめに、「環境構築」や「プログラムの作成・実行手順」などについて以下に整理しました。

はじめに
Python環境構築 Windows環境・・・Python環境を構築する方法
■Linux環境(Ubuntu, Rasbian)・・・標準搭載されてるので環境構築不要
Google Colab・・・無料で高性能なクラウド型の開発環境。面倒なインストール作業不要。
書き方 HelloWorld ■基本構造
コメント コメント日本語コメント
日本語の扱い方 print関数で日本語出力日本語の扱い方(Python2のみ)
その他 Python最速入門(基本文法の記述例)バージョン2と3の違いC言語との記法比較(Cプログラマ向け)

【基礎編①】変数、構造化、関数、オブジェクト指向、標準入出力、ファイル

文字コードや変数の基本的な扱い方について整理しました。

Pythonの基礎編
変数① 変数の代入文字列型の変数数値型の変数(int・float・bool・complex)
変数② リスト・タプル・辞書・配列の違いリスト型(list)タプル型(tupple)辞書型(dict)セット型(set)NumPy型(ndarray) ■データフレーム型(DataFrame型)
構造化 if文(条件分岐)for文(繰り返し①)while文(繰り返し②)continue文(スキップ)break文(繰り返し終了)pass文(何もしない)del文(変数・オブジェクトの削除)try-except文(例外処理)import文(ライブラリ読込)with文(終了処理の省略)
関数 関数の使い方まとめ特殊関数(exec、iter、next)、デコレータの使い方まとめif name == ‘main’: の意味・使い方
オブジェクト指向 Pythonでオブジェクト指向プログラミング
標準入出力 標準出力標準入力コマンドライン引数
ファイル処理 テキストファイルの読込テキストファイルの書込バイナリファイルの読書BASE64でエンコード・デコードXMLファイル処理CSVファイル処理JSONファイル処理
ディレクトリ操作 カレントディレクトリのパスを取得ファイル圧縮・解凍(ZIP)拡張子取得存在判定ファイル判定フォルダ判定ファイル名・フォルダ名の一覧取得指定した拡張子のファイル一覧ファイルの文字コード判別ファイル・フォルダの一括削除画像⇔PDF
セキュリティ データの暗号化・復号化

【応用編①】統計処理、機械学習、画像処理など

Pythonで大量のデータを扱ったり本格的な数値計算をする場合は、用途に応じてライブラリを使います。
ライブラリの中で最も基本になるのが「NumPy」です。

科学計算ライブラリ別・使い方まとめ
はじめに 【Python】標準モジュールで数値計算
数値計算 NumPy(matlab風) ■SciPy(NumPyの拡張)■Pandas(R言語風) ■SymPy(matlab風の記号演算) ■NetCDF4 ■statistics(基本統計量:標準モジュール)
画像処理 OpenCVScikit-imagePillow
機械学習 Keras(深層学習) ■PyTorch(深層学習)Scikit-learnChaiper(深層学習) ■Theano ■Caffe ■TensorFlow(深層学習)
言語処理 ■NLTK(自然言語処理) ■MeCab(形態素解析)gensim(トピックモデル)
グラフ Matplotlib(matlab、gnuplot風) ■seaborn
その他 ■SimPy ■PyODE (物理演算) ■python-control(制御工学) ■Basemap(地図)
分野別 機械学習画像処理音声信号処理制御工学ロボット工学数値計算株価予測ビットコイン分析物理シミュレーション

【応用編②】ゲーム制作、GUI、システム、ネットワーク、Webサーバー

Pythonを用いた「ゲーム制作」「システム」「ネットワーク」「Webサーバー」について整理しました。

ゲーム制作
はじめに Pythonでゲームプログラミング
ライブラリ PyGamePyOpenGL(グラフィックス)
GUI GUIライブラリの比較kivytkinter ■Flexx ■wxPython ■PyQt5
応用例 ブロック崩し卓球ゲーム(PONG)
ネットワーク、Webサーバー、CGI関連、システム関連
ネットワーク 【Python】ネットワークプログラミング入門
Webフレームワーク Flask入門Django入門
Webスクレイピング Webスクレイピング入門・ライブラリ比較BeautifulSoup4入門Selenium入門(ブラウザ操作)既定ブラウザでURL開く任意ブラウザでURL開く
データベース PythonでMySQLを操作PythonでSQLiteを操作
メールサーバー Gメールの送信
日時 現在日付(年月日)現在時間(時分秒ミリ秒)日付の増減1年分の日付うるう年の判定・回数カウントtime型→datetime型
システム OS名CPU・メモリの利用率タスクマネージャーのプロセスを表示【Python】バージョン取得【Python】インストール済みモジュール一覧を取得UNIXコマンドの実行処理時間の測定

【応用編③】電子工作(ラズベリーパイ・Arduino)、便利ツール

電子工作(ラズベリーパイ・Arduino)への応用や、役に立つツールやサイトについて整理しました。

電子工作への応用
ラズパイ ラズベリーパイ+Pythonで電子工作入門
Arduino Arduinoを遠隔操作
便利なツールやサイトなど
コーディング規約 ■コーディング規約とは ■命名規則(PEP-8)
現在のパッケージ名の取得現在のモジュール名の取得現在のファイル名の取得
便利ツール Try JupyterSageMathCloudideonePython3→exe変換Jupyter NotebookGithub:Python
SNS QittaTwitterヤフー知恵袋
おすすめサイト note.nkmk.me
関連記事