Tag: python

Python

オープンソースのプログラム言語。日本でもユーザーが増えていると思われる、少し前の調査ではPHPの次くらいに利用されているという結果も出ています。


Pythono基本学習

Pythonの基本学習には、以下の方法をお勧めします。(by Gemini)

  1. オンラインチュートリアル: Progateやドットインストールなどの初心者向けサイトで、基礎文法を体系的に学びましょう。
  2. 学習サイト: Learn PythonやPython.orgのチュートリアルで、より深く理解を深めましょう。
  3. 書籍: 「スッキリわかるPython入門」などの入門書で、基礎をじっくり学習するのも有効です。
  4. 動画講座: YouTubeの無料講座なども活用し、視覚的に学ぶのも良いでしょう。
  5. 手を動かす: 実際にコードを書いて実行し、エラーを経験しながら理解を深めることが重要です。簡単なプログラムから始め、徐々にステップアップしましょう。

焦らず一つずつ理解していくことが大切です。


公式WEBサイト


参考になるWEBサイト



Tkinter

Tkinter(ティーケーインター)は、PythonでGUI(グラフィカル・ユーザー・インターフェース:ボタンやウィンドウなど、画面を見てマウス操作できる仕組み)を持つアプリを開発するための、最も標準的なツールキット(ライブラリ)です。 [#scbba5ae]

Pythonに最初から組み込まれている(標準添付されている)ため、追加のインストールなしですぐにデスクトップアプリを作り始めることができます。

Tkinterの主な特徴

  • 環境構築が不要
    • Pythonをパソコンに入れた時点で一緒にインストールされているため、 import tkinter とコードに書くだけで使えます。
  • シンプルなコードで動く
    • わずか数行のコードを書くだけで、空のウィンドウを表示させることができます。
  • クロスプラットフォーム対応
    • 作ったプログラムは、Windows、Mac、Linuxのどれでも同じように動かすことができます。
  • 豊富な部品(ウィジェット)
    • ボタン、テキスト入力欄、ラベル、チェックボックス、メニューバーなど、アプリに必要な基本的な部品が最初から一通り揃っています。

簡単なコード例

実際にウィンドウを表示する最小限のコードは以下の通りです。

すべて開くすべて閉じる
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 
 
-
!
 
 
 
 
-
!
 
 
 
-
!
 
 
 
-
!
 
import tkinter as tk
 
# メインウィンドウを作成
 
root = tk.Tk()
root.title("マイアプリ")
root.geometry("300x200")
 
# 画面に文字(ラベル)を表示
 
label = tk.Label(root, text="こんにちは、Tkinter!")
label.pack(pady=20)
 
# ボタンを表示
 
button = tk.Button(root, text="閉じる", command=root.destroy)
button.pack()
 
# アプリを実行(イベントループの開始)
 
root.mainloop()

イベントループ(mainloop)とは:

ユーザーがボタンをクリックしたり、ウィンドウを閉じたりする「操作(イベント)」を常に監視し、アプリを待ち受け状態にするための処理です。これがないと、プログラムが一瞬で終了して画面が消えてしまいます。

メリットとデメリット

メリットデメリット
初心者でも直感的に扱いやすいデザインが少し古めかしくなりがち
外部ライブラリのインストールが不要複雑なアニメーションや3D描写には不向き
情報(Webサイトや本)が圧倒的に多い大規模なアプリだとコードが乱雑になりやすい

少しモダンな見た目にしたい場合は、Tkinterの拡張版である「ttk」というモジュールを使うことで、OSに馴染んだ綺麗なデザインにすることも可能です。

まずは小さなツールや、自分用の作業効率化アプリを作ってみたい方に最適なライブラリです。


PySide6

  • PySide6は、クロスプラットフォームなGUIフレームワークであるQtの公式Pythonバインディングです。これにより、Pythonを使ってWindows、macOS、Linuxなどで動作する高性能なデスクトップアプリケーションを開発できます。豊富なウィジェットやツールを備え、モダンなUIを比較的容易に作成できるのが特徴です。LGPLライセンスで無償利用可能です。(by Gemini)

参考URL


Qt Designer

  • Qt Designerは、Qtフレームワークに付属するGUIデザインツールであり、クロスプラットフォームに対応しています。Ubuntuを含むLinuxディストリビューションでも、Qt開発環境をインストールすることで利用可能です。(by Gemini)




Pyxel

  • Pyxelは、レトロゲームの制作に特化したPythonのゲーム開発フレームワークです。限られた色数(16色)、画面サイズ(256x256)、サウンドチャンネル(4つ)などの制約を持つことで、少ないリソースで独特の雰囲気を持つゲームを制作できます。シンプルなAPIとドキュメントで初心者にも扱いやすく、ドット絵やチップチューン音楽を手軽に作成・統合できるのが特徴です。公開・配布も容易に行えます。(by Gemini)
  • Pythonの学習に、Pyxelを使ってみましょう。画像や音楽が活用できることで、プログラムした結果が確認しやすく、学習効果がより期待出来るかもしれません。

外部URL




Google Colaboratory

  • Googleのアカウントでログインすると使うことが出来るPythonの実行環境。ブラウザ内で実行する形式のため、自分のパソコン内に環境を作る必要無く、Pythonの学習が出来る。

https://colab.research.google.com/

参考

Google Colab入門(Google Colaboratory) ai_academy
https://aiacademy.jp/texts/show/?id=857

Google Colaboratory(Colab)ならPythonですぐに学べる - ガンマソフト株式会社
https://gammasoft.jp/blog/google-colaboratory-for-learning/




Windows10へのインストール

公式サイト https://www.python.org/ の上部「Downloads」ボタン→Windowsと選択し、「Download Windows x86-64 executable installer」のリンクをダウンロードしインストールしました。

インストールの際には、インストールのフォルダを「c:\python35」と変更し、コマンド検索の環境変数PATHを自動設定するようにインストーラーの設定を行ってからインストールを開始しました。

インストール完了後に、コマンドプロンプトにて

python  --version

として、

Python 3.5.3

といったバージョンの確認表示が出来ます。

2017-01-26


ストアからインストール

  • Windows10,11では、Microsoft Storeで「python」で検索すると、インストールが出来ます。(2025-11-20)


リンク

Welcome to Python.org
https://www.python.org/
Python
http://www.python.jp/
Pythonの入門から応用までの学習サイト
http://www.python-izm.com/
pythonで数値データを読み込む方法まとめ
http://qiita.com/AnchorBlues/items/2dd18c1e9587c8f495bc
Pythonで学ぶ 基礎からのプログラミング入門
http://news.mynavi.jp/series/python/001/
Python入門
http://tohoho-web.com/python/index.html


購入書籍 画像はAmazonへリンク

https://amzn.to/4pgbRZK








Pythonのvenvを使った環境構築

  • Pythonの3.3から標準機能として導入された venv による仮想環境。最近の様々な説明では、venvを活用して動作環境を構築する事に言及されている。もともとのOSのPythonの環境を変えること無なく、ライブラリなどが競合することが少ない環境が準備出来る。


numpyのインストール

numpy_install




pipのインストール

$ sudo apt-get install matplotlib
[sudo] password for isao: 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
E: パッケージ matplotlib が見つかりません
isao@isao-g530:~$ sudo apt-get install python-pip
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  gnome-video-effects libbaloocore4 libbaloofiles4 libbalooxapian4 libepub0
  libpoppler-qt4-4 libqjson0 libqmobipocket1 libtimezonemap1 libzip2
  signon-keyring-extension
これを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
  python-chardet-whl python-colorama python-colorama-whl python-distlib
  python-distlib-whl python-html5lib python-html5lib-whl python-pip-whl
  python-requests-whl python-setuptools-whl python-six-whl python-urllib3-whl
  python-wheel
提案パッケージ:
  python-genshi
推奨パッケージ:
  python-dev-all
以下のパッケージが新たにインストールされます:
  python-chardet-whl python-colorama python-colorama-whl python-distlib
  python-distlib-whl python-html5lib python-html5lib-whl python-pip
  python-pip-whl python-requests-whl python-setuptools-whl python-six-whl
  python-urllib3-whl python-wheel
アップグレード: 0 個、新規インストール: 14 個、削除: 0 個、保留: 2 個。
1,452 kB のアーカイブを取得する必要があります。
この操作後に追加で 3,354 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
----- 中略 -----
python-urllib3-whl (1.7.1-1ubuntu4) を設定しています ...
python-requests-whl (2.2.1-1ubuntu0.3) を設定しています ...
python-setuptools-whl (3.3-1ubuntu2) を設定しています ...
python-pip-whl (1.5.4-1ubuntu4) を設定しています ...
python-pip (1.5.4-1ubuntu4) を設定しています ...
python-wheel (0.24.0-1~ubuntu1) を設定しています ...

python3の場合は、

$ sudo apt-get install python3-pip

が必要みたいです。

$ pip --version
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
$ pip2 --version
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
$ pip3 --version
pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)
$


matplotlib の インストール

  • Ubuntu14.04
$ sudo apt-get install python3-matplotlib
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  gnome-video-effects libbaloocore4 libbaloofiles4 libbalooxapian4 libepub0
  libpoppler-qt4-4 libqjson0 libqmobipocket1 libtimezonemap1 libzip2
  signon-keyring-extension
これを削除するには 'apt-get autoremove' を利用してください。
以下の特別パッケージがインストールされます:
  blt python3-dateutil python3-imaging python3-nose python3-pil python3-tk
  python3-tornado python3-tz
提案パッケージ:
  blt-demo dvipng ipython3 python-matplotlib-doc python3-pyqt4 python3-scipy
  python3-sip texlive-extra-utils texlive-latex-extra ttf-staypuft
  python-nose-doc python-pil-doc python3-pil-dbg tix python3-tk-dbg
以下のパッケージが新たにインストールされます:
  blt python3-dateutil python3-imaging python3-matplotlib python3-nose
  python3-pil python3-tk python3-tornado python3-tz
アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 2 個。
2,636 kB のアーカイブを取得する必要があります。
この操作後に追加で 13.3 MB のディスク容量が消費されます。
続行しますか? [Y/n] 
 
----- 中略 ----
 
python3-dateutil (2.0+dfsg1-1) を設定しています ...
python3-pil (2.3.0-1ubuntu3.3) を設定しています ...
python3-imaging (2.3.0-1ubuntu3.3) を設定しています ...
python3-tz (2012c-1ubuntu0.1) を設定しています ...
python3-tornado (3.1.1-1ubuntu2) を設定しています ...
python3-nose (1.3.1-2) を設定しています ...
python3-matplotlib (1.3.1-1ubuntu5) を設定しています ...
python3-tk (3.4.3-1~14.04.2) を設定しています ...
libc-bin (2.19-0ubuntu6.9) のトリガを処理しています ...


参考サイト


テンプレートライブラリ「Jinja2」

Geminiに聞いてみた→ https://docs.google.com/document/d/1phv0QrwNV8UVYpExT8vAlpm_pLGK86wttnDKSeae-No/edit?usp=sharing


従来のCGI規格でアプリを作る

Geminiに聞いてみた


ディープラーニング

参考URL

参考になるWEBサイトのURLリンク




レンタルサーバーでPythonのCGI

ロリポップ

  • ロリポップのハイスピードプランでPython3で記述するCGIの動作

【helloworld.py】・・・Geminiに提示してもらったサンプル

#!/usr/local/bin/python3
# ↑ シバン(サーバーにPythonの場所を伝える一行)
 
print("Content-Type: text/html; charset=utf-8\n")
# ↑ HTTPヘッダー(これからHTMLを出力しますよという合図)と、空行を出力
 
print("Hello World")


XServer

  • XServerのスタンダードプラン
  • 動作テスト用のスクリプトはロリポップと同様ですが、1行目のパスが違います。

【helloworld.py】・・・Geminiに提示してもらったサンプル

#!/usr/bin/python3
# ↑ シバン(サーバーにPythonの場所を伝える一行)
 
print("Content-Type: text/html; charset=utf-8\n")
# ↑ HTTPヘッダー(これからHTMLを出力しますよという合図)と、空行を出力
 
print("Hello World")

また、拡張子がpyだとテキストファイルとして認識されるので、「.htaccess」を作成し、拡張子「py」をCGIとして処理するようにします。

【.htaccess】

# PythonファイルをCGIとして認識させる設定
AddHandler cgi-script .py
Options +ExecCGI


さくらのレンタルサーバー

【helloworld.cgi】705

#!/usr/bin/env python3
 
##!/usr/local/bin/python3
# ↑ シバン(サーバーにPythonの場所を伝える一行)
 
print("Content-Type: text/html; charset=utf-8\n")
# ↑ HTTPヘッダー(これからHTMLを出力しますよという合図)と、空行を出力
 
print("Hello World")
  • 1行目は「#!/usr/local/bin/python3」でも動作可能。
  • 拡張子「py」をpython3のプログラムとしてCGIで動作させるには、XServer同様に「.htaccess」の設定追加が必要。




関連ページ