Python

出典: フリー教科書『ウィキブックス(Wikibooks)』
ナビゲーションに移動 検索に移動
Wikipedia
Wikipedia
ウィキペディアPythonの記事があります。
ウィキバーシティ
ウィキバーシティ
ウィキバーシティPythonの学習教材があります。
Python

Pythonは高水準な汎用プログラミング言語です。 Pythonの設計思想は、コードの読みやすさを重視しています。 たとえばブロックは波括弧 { } ではなくインデントで構造化されているなど、その構造に対するアプローチは独特です。

また、Pythonは、オブジェクト指向・インタープリタ型・動的型付け・クロスプラットフォームなプログラミング言語です。 これらのアプローチは、プログラマーが小規模および大規模なプロジェクトで自己説明的で論理的なコードを書けるようにすることを目的としています。

目次[編集]

進捗状況の凡例

数行の文章か目次があります。
:本文が少しあります。
:本文が半分ほどあります。
: 間もなく完成します。
: 一応完成しています。


入門[編集]

基本事項 — pythonの実行方法Hello, world!
変数と代入 — 変数とは代入識別子
数値入力と文字入力と出力表示 — input(), int(), float()
条件分岐と繰り返し — if, else, for, while
演算子 —
関数 — def、引数、ローカル変数、id()、戻り値、キーワード引数デコレーター

基礎[編集]

シーケンス
リスト — list ミュータブルなシーケンスオブジェクト
タプル — tuple イミュータブルなシーケンスオブジェクト
レンジ — range 範囲オブジェクト
array — array 要素の型を統一した配列オブジェクト
辞書
セット
モジュールのインポート — math モジュール、random モジュール、importlib
例外処理 — try、except、finally、複数の例外の場合分け
クラス — クラス定義、__init__()、self
ファイルの書き込みと読み込み — open関数, with文を使ったリソース管理、オープンモード、write、readline

応用[編集]

型ヒント — 型アノテーション
イテレータ
演算子オーバーロード

モジュール[編集]

標準モジュール[編集]

標準モジュール — 標準モジュールの一覧

Tkinter — GUIアプリケーションの作成
urllib — url拡張、識別
sqlite3 — 簡易的なデータベースの利用
yaml — yaml書式の解析

サードパーティモジュール[編集]

pip — Pythonのパッケージ管理システム
NumPy — 数値計算を効率的かつ簡単に行うためのライブラリ
Pandas — データ分析やデータ処理において高度な機能を提供するライブラリ
TensorFlow — ニューラルネットワークなどの機械学習アプリケーションの実装に使用される数値計算ライブラリ
サードパーティデータベースモジュール — 拡張的データベースの利用
mysql — mysql、aiomysql
sqlarchemy
matplotlib — グラフの作成

拡張モジュールの作成[編集]

c言語による拡張
ctypesによる拡張

リファレンス[編集]

組込み関数
組込み型

Python 3.12 の新機能[編集]

Python 3.12 には、いくつかの新機能が追加されています。以下にいくつかの新機能とそれらを使用するためのコード例を示します。

  • Parenthesized context managers in with statements

Python 3.12 では、with ステートメントのコンテキストマネージャーに括弧を付けることができます。これにより、コンテキストマネージャーが複数の行にまたがっている場合に、より読みやすいコードを書くことができます。

コード例
# Before Python 3.12
with open("file.txt", "r") as file1, open("file2.txt", "r") as file2:
    # do something with file1 and file2

# With Python 3.12
with (open("file.txt", "r"), open("file2.txt", "r")) as (file1, file2):
    # do something with file1 and file2
  • Pattern matching improvements

Python 3.10 で導入されたパターンマッチングには、Python 3.12 で改良が加えられました。例えば、以下のように | を使用して複数のパターンをマッチングすることができます。

コード例
# Before Python 3.12
def my_function(x):
    if isinstance(x, int):
        # do something
    elif isinstance(x, str):
        # do something else
    elif isinstance(x, list):
        # do something else
    else:
        raise ValueError("Invalid argument type")

# With Python 3.12
def my_function(x):
    match x:
        case int:
            # do something
        case str:
            # do something else
        case list | tuple:
            # do something else
        case _:
            raise ValueError("Invalid argument type")
  • New zoneinfo module for working with time zones

Python 3.9 で導入された zoneinfo モジュールは、Python 3.12 で改良が加えられました。これにより、タイムゾーンを扱うためのさまざまな機能が追加されました。

コード例
# Before Python 3.12
import datetime
import pytz

tz = pytz.timezone("Asia/Tokyo")
now = datetime.datetime.now(tz)

# With Python 3.12
import datetime
import zoneinfo

tz = zoneinfo.ZoneInfo("Asia/Tokyo")
now = datetime.datetime.now(tz)
このページ「Python」は、まだ書きかけです。加筆・訂正など、協力いただける皆様の編集を心からお待ちしております。また、ご意見などがありましたら、お気軽にトークページへどうぞ。

整理作業中[編集]

Python/整理中 (複素数、正規表現、HTTPクライアント、JSON、pass)