サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
www.python.jp
先日、Pythonの仕様を決定する Steering Council が PEP 703 – Making the Global Interpreter Lock Optional in CPython に関するコメントを発表し、大きな話題を呼びました。 最終的にこのPEPがどのようになるのか、まだ結論は出ていませんが、Pythonの将来に大きな影響を与えることになるでしょう。 ここでは、PEP-703がどのようにPythonを改善しようとしているのか、概略を説明します。 .. target:: whatgil GILとは?¶まず、グローバル・インタプリタ・ロック(GIL) とはなんでしょう? Pythonでは、スレッドを利用して複数の処理を同時に実行できます。次の処理は、100万個の整数の二乗和を計算する関数を、2つのスレッドで同時に実行しています。 from concurrent.fu
Python 3.11では、パフォーマンスチューニングの一環として、Python関数呼び出しのインライン化 が行われました。既存のPythonインタープリタのしくみを大きく変更する変更ですので、簡単に解説しておきます。 先に書いておきますが、今回行われた「関数呼び出しのインライン化」は、C/C++などの inline のように、ユーザ定義関数を呼び出し元で展開してオーバヘッドを削減するものではありません。また、Schemeなどにある末尾再帰の最適化でもありません。 cevalループ¶Pythonインタープリタは、Python 3.11の新機能(その2) 特殊化適応的インタープリタ で解説したように、Pythonのソースコードをバイトコードへ変換し、順次実行します。このバイトコードを実行する関数はPythonインタープリタの心臓部であり、CPythonソースツリーのファイル Python/c
今年も、Pythonのメジャーリリースの季節がやってまいりました。2022年10月3日にリリース予定となっているPython 3.11の新機能を紹介します。 CPython 高速化計画¶Python 3.11で最大のニュースは、なんと言っても Faster CPython: CPython 高速化計画 が開始されたことでしょう。 CPython 高速化計画は、Mark Shannon氏が提案したプランに基づいてPythonの高速化を行うもので、Pythonを毎年50%高速化し、互換性を保ちつつ 4年間で5倍高速化する ことを目標としています。 この計画はMicrosoft社の出資を獲得し、Pythonの父であるGuido van Rossum氏も加わって開発が進められています。 ベンチマーク¶さて、CPython 高速化計画最初のリリースとなるPython 3.11では、どの程度の高速化が
特殊化適応的インタープリタ(PEP 659: Specializing Adaptive Interpreter) は、 Python 3.11の新機能(その1) CPython高速化計画 で紹介した CPython 高速化計画 の一環として導入された新機能で、実行中にプログラムをより効率的な処理に書き換えて高速化する仕組みです。 バイトコード¶Pythonはプログラムを実行するとき、ソースコードをコンパイルしてバイトコードと呼ばれる実行用のデータを生成します。例えば、次の関数 func_add() は、次のようなバイトコードに変換されます(Python 3.10の場合)。関数のバイトコードは、dis.dis()関数 で出力できます。 >>> dis.dis(func_add) 2 0 LOAD_FAST 0 (a) 2 LOAD_FAST 1 (b) 4 BINARY_ADD 6 RET
dataclass は、Pythonで主にデータを格納するためのクラスで、C言語などでは構造体に相当するようなデータ構造を、かんたんに定義できるようになっています。 たとえば、次の Person は、名前と年齢を格納するdataclassです。 from dataclasses import dataclass @dataclass class Person: name: str age: int person1 = Person(name="パーソン太郎", age=20) person2 = Person(name="パーソン次郎", age=30) Python 3.10では、dataclass に slots 引数が追加され、スロット を使ったクラスを定義できるようになりました(bpo-42269)。 スロットとは?¶通常、クラスのインスタンスは、メンバー変数の名前と値を __di
pyenvは複数バージョンのPythonを切り替えながら利用するためのツールで、たとえば Python3.7 と Python3.8 がインストールされていれば、python コマンドで実行するPythonのバージョンを pyenv global コマンドで指定できます。 次の例では、pyenv global コマンドで、Python 3.6.1と3.7.6を切り替えながら実行しています。 ~ pyenv global 3.6.1 # pythonコマンドの起動対象を 3.6.1に指定 ~ python # pythonコマンドで、3.6.1を実行 Python 3.6.1 (default, Aug 12 2020, 10:31:24) [GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.62)] on darwin Type
一見、エラーになりそうに見えますが、15 という値が返ってきます。なぜこんな結果になるのか、わかるでしょうか? この式を見やすく変形すると、次のようになります。 元の式 0xfor は、16進数の 0xf の直後に空白をつけずに or が続いているため、わかりにくくなっていました。 この式は、0xf が True となるため、2つ目の項である -d * University の部分はまったく評価されません。このため、存在しない変数 d や University を使ってもエラーとはならないのです。 さて、この式で問題になるのは、
まずは、Colabを使えるように準備しましょう。 準備といっても、次の2ステップだけで、簡単に完了します。 Googleアカウントを用意し、ログインする Colabにアクセスし、プログラムを書き込むノートブックを作成する Googleアカウントの用意¶Colabの利用には、Googleのアカウントが必要です。アカウントをお持ちでなければ、 Googleのログインページ (ここをクリックすると新しいウィンドウで開きます) で、アカウントを作成してください。 ノートブックの作成¶さっそく、Colabo にアクセスしてみましょう。 Google Colaboratory(ここをクリックすると新しいウィンドウで開きます) 最初は、次のような画面が表示されます。まず、Pythonのプログラムを入力して実行する 「ノートブック」 を作成しましょう。 右下の 「ノートブックを新規作成」 をクリックしてく
Pythonでは、https通信やメッセージダイジェストの作成などの暗号関連機能に、OpenSSLを利用しています。 これまで、Pythonでは OpenSSL のVersion 1.0.2以降が利用可能でしたが、Python 3.10からは、OpenSSL 1.1.1以降が必須となりました(PEP 644 Require OpenSSL 1.1.1 or newer)。 WindowsやMacなどで、Python.orgのインストーラを利用する場合には、OpensSSLの最新版が含まれているので気にする必要はありません。また、Macのbrewなどでインストールする場合も、OpenSSL 1.1.1が使用されます。 Linux環境などで独自にPythonをビルドする場合には、OpenSSL 1.1.1以降を用意する必要があります。現在では主要なLinuxディストリビューションはOpenSS
Python3.10で追加された型ヒント関連機能から、 PEP 647 User-Defined Type Guards を解説します。 型の絞り込みと型ガード¶mypyなどの静的な型チェッカが型を推論する時、プログラムの処理を参考にして、可能な型の種類を絞り込んでいます。 例えば、 というプログラムでは、変数 var1 の型は、 int または None のどちらかです。var1 が int の場合は var1 + 1 を正常に計算できますが、 None の場合には None + 1 という計算になってしまうため、型チェッカはこの行をエラーとします。 しかし、このプログラムを修正して、次のように isinstance() を使って明示的に型チェックを行う処理を追加すると、None + 1 という計算が行われる可能性がなくなるため、エラーとはなりません。
今年も、Pythonのメジャーリリースの季節がやってまいりました。 Python 3.9から、Pythonのメジャーバージョンアップは年に一度、10月に行われるようになりました。Python 3.10は一年周期のリリースに切り替わってから、2度めのリリースです。 Python 3.9の次のバージョン番号は4.0? と思っていた方も多かったようですが、4.0ではなく3.10となります。 このシリーズでは、何回かにわけてPython 3.10の新機能を紹介していきます。まず、Pythonの新たな文法として追加された構造的パターンマッチ について、簡単に紹介します。 構造的パターンマッチ¶パターンマッチは、将来のPythonのコーディングスタイルに大きな影響を与えると思われる、重要な機能です。けっこう複雑な機能ですが、しっかり理解しておきましょう。 構造的パターンマッチの詳細は、次のPEPで解説
Anaconda はデータサイエンス向けの環境を提供するプラットフォームです。科学技術計算などを中心とした、多くのモジュールやツールのコンパイル済みバイナリファイルを提供しており、簡単にPythonを利用する環境を構築できます。 Anaconda はPythonだけではなく、いろいろなユーティリティや他のプログラミング言語・ライブラリなども、パッケージ管理ツール Conda でインストールできます。curlなどの便利なユーティリティや、NvidiaのGPUを利用する場合に必要なCUDAなどの環境もインストールできるようになっています。 Anacondaと普通のPythonって違うの?という方は、PythonとAnaconda をご参照ください。
Visual Studio Code でPython入門 【Windows編】 Visual Studio Code でPython入門 【Windows編】 Visual Studio Code でPython入門 【Windows編】 ¦ 開発環境のインストール ¦ VSCodeでPythonを実行 ここでは、開発ツールとして Visual Studio Code(VSCode) を利用してPythonプログラミングをはじめる方法を、できるだけ簡単に解説します。 Pythonのようなプログラミング言語は、インストールしてすぐ使える、というツールではありません。WebブラウザやExcelなどのアプリケーションは、使ったことがなくても、画面を見ながらマウスで操作すればなんとなく使い方がわかります。しかし、Pythonのようなプログラミング言語を使って、自分で書いたプログラムを動かすには、い
Python初体験 では、Google Colabの利用環境を整え、Pythonの実行方法を学びました。ここからは、Colabを使って、Pythonの学習を進めていきましょう。 この Python基礎の基礎 では、まずPythonを使って、掛け算や足し算などの簡単な計算を行います。 最初から最後まで、小学生レベルの算数ばかりが出てくる、とても地味な章です。あまりプログラミングらしくありません。「こんな計算は電卓やExcelでできる! 早くまともなPythonの使い方を教えてくれ」と言いたくなるかもしれません。 しかし、数字を使った計算は誰でもやり方を知っていますから、実際にPythonを動かしてPythonの機能を理解するには、とても便利なのです。 この章では、単純な算数を通じて、変数 や 関数 などの、プログラミングでもっとも基礎的で重要な知識を学びます。 また、プログラミングは、次のス
ソースファイルを作成 で作成したプログラムを、VSCodeを使って実行してみましょう。 ここでは、一番簡単な、「ターミナルでPythonを実行」機能を使って実行します。 「ターミナルでPythonを実行」 は、特別な準備なしに、すぐにPythonプログラムを実行できます。手軽に使えますので、Pythonの勉強や実験に適した実行方法です。 ターミナルでPythonを実行¶ メニューで ファイル|ファイルを開く をクリックし、ソースファイルを作成 でデスクトップに作成した hello.py ファイルを開きます。 hello.py ファイルを開くと、自動的にPythonの編集モードとなります。 画面左下に、インストールしたバージョンのPythonが表示されていることを確認します。表示されていない場合、Pythonのインストール に戻って、Pythonのインストールを行ってからVSCodeを再起動
このPython入門講座では、プログラミング経験の未経験者・初心者を対象に、ブラウザからPythonを実行できるサービスGoogle Colaboratory(Colab)を使って、Pythonの基礎をチュートリアル形式で解説します。 Colab は、Google社が提供する、Webブラウザからプログラミング言語Pythonを実行できるサービスです。Colabは無料で使えますし、めんどうな環境設定なしに、いきなりプログラミングを体験できますから、これからプログラミングをやってみたい、という方にはおすすめの学習環境です。 この講座では、プログラミング未経験者を対象に、Pythonプログラミングに必要な最低限な操作方法と、基礎知識を覚えてもらうことを目標にしています。この講座でかんたんにプログラミングの概要を学び、それから一般的なPythonの入門書に取り組むと、学習がスムーズに進むのではない
Pythonでは、ある一定の期間だけオブジェクトを使用したり、いろいろな設定を行って用事がすんだら元に戻したい、という処理を行うとき、with文を使用します。 たとえば、ファイルを読み込むときには、with 文を利用して、作成したファイルオブジェクトを自動的に開放するようにします。
パッケージのダウンロード¶ https://www.anaconda.com/products/individual より、パッケージをダウンロードします。 最新パッケージとして、Python 3.x と Python 2.7.x がダウンロードできます。特別な理由がなければ、Python 3.x (上図では Python 3.7) をインストールします。 パッケージのインストール¶ ダウンロードしたパッケージを実行し、インストールを開始します。 Pythonの実行¶ AnacondaのPython環境は、スタートメニューの Anaconda(64-bit) → Anaconda Prompt (anaconda3) などから実行できます。 次の画面は、コマンドプロンプトを開き、python コマンドでPythonを実行しています。 コマンドライン環境の設定¶ インストール直後の状態では、
macOS Big Sur/Apple M1チップがリリースされて一月ほど経ちました。ようやくBig Sur環境を作ってみましたので、現時点(2020/12/24)でのPythonのx64版Big Sur のサポート状況をまとめてみます。 TL;DR¶まあ、いそいでBig Surにしないほうが良いかな… Big SurをサポートするPythonバージョン¶Python3.8以降はBig Sur/M1をサポートします。3.7以前はすでにセキュリティ問題のみの対処を行うモードに入っており、今後積極的に機能が追加されることはないでしょう。 一応、Python 3.7にはBig Sur用にビルドするためのパッチも一部取り込まれて おり、Python本体のビルドは可能です。しかし、Big Surで変更された共有ライブラリの問題 の対処は行われていませんので、Big Surでのビルド・実行は避けたほう
この講座では、Google Colaboratory(Colab)を使って、プログラミング言語Pythonを学習します。プログラミングの未経験者を対象としています。 ColabはGoogle社が提供する、Webブラウザからプログラミング言語Pythonを実行できるサービスです。無料で使え、めんどうな環境設定なしに、いきなりプログラミングを体験できますから、これからプログラミングをやってみたい、という方にはおすすめの学習環境です。 これからPythonの学習を進めていくために、まずはColabの使い方から練習していきましょう。 Colabを利用できるように準備します。 ColabにPythonプログラムを入力する方法を学びます。 ColabでPythonプログラムを実行し、実行結果を見る方法を学びます。
Python 3.9 のリリース予定日である2020年10月05日が間近に迫ってきました。 https://docs.python.org/3.9/whatsnew/3.9.html から、Python3.9の主要な新機能を紹介します。 辞書のマージ演算子¶2つの辞書オブジェクトを| 演算子で併合して、 一つの新しい辞書オブジェクトを作成できるようになりました。 PEP 584 -- Add Union Operators To dict 2つの辞書オブジェクトの和から、新しい辞書オブジェクトを作成します。
Pythonの利用環境は、プログラミング言語のPythonだけをインストールすれば終わり、ではありません。Pythonには、これまでのPython利用者たちが作り上げた、膨大なソフトウェア資産があり、自由に利用できるようになっています。このソフトウェア資産こそが、Pythonの大きな強みです。 The Python Package Index(PyPI)¶ 現在、このソフトウェア資産を利用する方法が、2種類用意されています。一つは The Python Package Index(PyPI) を利用する方法です。 PyPIはPython言語の開発コミュニティである Python Software Foundation(PSF) が運営する、Python用ソフトウェアの公開サービス で、だれでも自由に自分のソフトウェアを登録して公開できるようになっています。公開されているPythonソフトウ
パッケージのダウンロード¶ https://www.anaconda.com/products/individual/ より、64-Bit Graphical Installer をダウンロードします。 パッケージのインストール¶ ダウンロードしたパッケージを実行し、インストールを開始します。 コマンドライン環境の設定¶ インストール直後の状態では、ターミナルなどからAnacondaのPythonなどを利用できません。次のようにして、conda コマンドを利用できるようにします。 ターミナルを起動し、つぎのコマンドを実行します。
Python を使って開発や実験を行うときは、用途に応じて専用の実行環境を作成し、切り替えて使用するのが一般的です。こういった、一時的に作成する実行環境を、「仮想環境」 と言います。 仮想環境は、次のような目的で使われます。 システム全体で使うPython環境に影響を与えずにモジュールの追加・入れ替えをしたい。 異なるバージョンの Python を使いわけたり、同じモジュールの、複数のバージョンを使い分けたい。 例えば、開発中のWebアプリケーション開発では、Python 3.7 で Webアプリケーションフレームワークとして Django の 1.10 を使い、新しいプロジェクトでは Python 3.8 とDjango バージョン 1.11 を使用したい場合など、簡単に切り替えられるようにしたい。 ここでは、ここでは、Python3 の標準ライブラリである venv で仮想環境を作成す
以下の手順で、Pythonのインストールを行います。 Python公式サイトから、Pythonパッケージをダウンロードします ダウンロードしたパッケージをインストールします。 PowerShellでPythonを実行するときに必要となる、スクリプトの実行許可を設定します。 パッケージのダウンロード¶ Python公式サイトの ダウンロードページ はちょっとわかりにくいので、こちらのページ からWindows用インストーラをダウンロードします。 https://pythonlinks.python.jp/ パッケージのインストール¶ ダウンロードしたパッケージを実行します。 "Add Python 3.x to PATH" をチェックします。 Install now をクリックしてインストールを開始します。 "Add Python 3.x to PATH" をチェックするのを忘れないようにし
pip は、The Python Package Index に公開されているPythonパッケージのインストールなどを行うユーティリティで、Python 3.4以降には、標準で付属しています。 パッケージのインストールは、pip の install コマンドで行います。例えば、Pythonの代表的な画像処理パッケージ pillow パッケージをインストールするときは、次のように実行します。
次のページ
このページを最初にブックマークしてみませんか?
『プログラミング言語 Python 総合情報サイト - python.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く