!!!Python [[[サンプルコード]|Python サンプルコード]][[[まとめ]|言語まとめ Python]][[[標準ライブラリ]|Python 標準ライブラリ概観]][[[ライブラリ]|Python ライブラリ]][Django][Flask][Pyramid][Zope][IronPython][Google App Engine][Pillow][Python Imaging Library][Beautiful Soup][Python NumPy][Python matplotlib][Python Win32 Extensions][pyExcelerator][Jython][PyDev][PyQt][PyScripter] !インストール *CentOS6にPython2.7をインストール *Django インストール ![[言語まとめ|言語まとめ Python]] *[[言語まとめ|言語まとめ Python]] ![[サンプルコード(ファイル、コレクション・・・)|Python サンプルコード]] *[[サンプルコード(ファイル、コレクション・・・)|Python サンプルコード]] *[[サンプルコード(CookBook)|Python CookBook]] ![[サンプルコード(オブジェクト指向)|Python サンプルコード オブジェクト指向]] *[[サンプルコード(オブジェクト指向)|Python サンプルコード オブジェクト指向]] ![[標準ライブラリ概観|Python 標準ライブラリ概観]] ::詳細 *[[標準ライブラリ概観|Python 標準ライブラリ概観]] ::概要 ,処理内容,標準ライブラリ ,OSインターフェース ,[[os|Python 標準ライブラリ概観]] ,ファイルのワイルドカード ,[[glob|Python 標準ライブラリ概観]] ,コマンドライン引数 ,[[sys|Python 標準ライブラリ概観]] ,標準エラーを出力しプログラムを終了 ,[[sys|Python 標準ライブラリ概観]] ,正規表現を利用する ,[[re|Python 標準ライブラリ概観]] ,数学 ,[[math|Python 標準ライブラリ概観]] ,URL による任意のリソースへのアクセス,[[urllib|Python 標準ライブラリ概観]] ,インターネットアクセス ,[[urllib2|Python 標準ライブラリ概観]] ,日付と時刻 ,[[date、datetime、time|Python 標準ライブラリ概観]] ,時間計算 ,[[time|Python 標準ライブラリ概観]] ,データ圧縮 ,zlib ,パフォーマンス計測 ,[[timeit|Python 標準ライブラリ概観]] ,品質管理 ,[[doctest|Python 標準ライブラリ概観]] ,出力書式,[[repr、pprint、textwrap、locale|Python 標準ライブラリ概観]] ,テンプレート,[[Template|Python 標準ライブラリ概観]] ,シリアライズ ,[[pickle|Python 標準ライブラリ概観]] ,バイナリデータレコードレイアウトでの作業 ,[[struct|Python 標準ライブラリ概観]] ,オブジェクトのコピー ,[[copy|Python 標準ライブラリ概観]] ,マルチスレッド ,[[threading|Python 標準ライブラリ概観]] ,ロギング ,[[logging|Python 標準ライブラリ概観]] ,XML Dom ,[[xml.dom|Python 標準ライブラリ概観]] ,XML ElementTree ,[[xml.etree|Python 標準ライブラリ概観]] ,データベースの使用 ,[[sqlite3|Python 標準ライブラリ概観]] ![[ビルトインオブジェクト|Python ビルトインオブジェクト]] *[[ビルトインオブジェクト|Python ビルトインオブジェクト]] !Python サンプルコード ::全般 *[[サンプルコード(ファイル、コレクション・・・)|Python サンプルコード]] *[[サンプルコード(オブジェクト指向)|Python サンプルコード オブジェクト指向]] *[[組込関数|Python 組込関数]] ::サンプル *Python ファイル読み書き *Python ゼロ埋め *Python 3項演算子 *Python 環境変数PATHからファイル検索 *Python ファイルを削除 *Python 数値の桁数を得る ![Python Osmosis|http://python.secsup.org/] *[[Episode 6: Flow Control, if and for Statements|Python if for]] *[[Episode 7: The Range Function|Python Range]] *[[Episode 50: Standard Library: Decimal Floating Point Arithmetic|Python Decimal]] !!!IDE *Python IDEにて矢印キーでヒストリー表示 *Python IDEをCentOSで利用する !!!パッケージ管理 !!setuptools *http://peak.telecommunity.com/DevCenter/setuptools *https://pypi.python.org/pypi/setuptools *CentOS6にPython2.7をインストール !Windows ::上記ページからインストーラをダウンロードして実行(2.7の例) setuptools-0.6c11.win32-py2.7.exe ::Power Shell 3以降 PS C:\WINDOWS\system32> (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python - ::PATHに追加(2.7の例) C:\Python27\Scripts ::実行例 c:\work\python>easy_install virtualenv ::プロキシを利用している場合、以下を環境変数に設定 HTTP_PROXY=http://プロキシサーバ:ポート !Windows PIPを利用する *[PIP|http://www.pip-installer.org/en/latest/] *Python WindowsにPIPをインストール *[Unofficial Windows Binaries for Python Extension Packages|http://www.lfd.uci.edu/~gohlke/pythonlibs] !Windows 用 バイナリパッケージ *http://www.lfd.uci.edu/~gohlke/pythonlibs/ *[Windows で VirtualEnv の Python2.7 に pip と wheel を使って コンパイルエラーが発生するパッケージ(例 scipy)をWindows用バイナリ提供サイトから入手してインストールする|http://typea.info/blg/glob/2015/09/windows-virtualenv-python27-pip-wheel-scipywindows.html] !!!仮想環境 !!VirtualEnvを利用してPythonの仮想環境を作成 !!Python 3以降同梱されている *https://docs.python.jp/3/library/venv.html python3 -m venv /path/to/new/virtual/environment !!それ以前 !CentOS *[Virtualenv のインストールと起動|http://typea.info/blg/glob/2015/01/aws-elastic-beanstalk-django-centos65-pydev1-django.html] !Windows ::インストール ""上記 パッケージ管理 を参照し、easy_install を利用出来るようにしておく c:\easy_install virtualenv ::ワークスペースの作成 c:\work\python>python -m virtualenv env New python executable in env\Scripts\python.exe Installing setuptools................done. Installing pip...................done. ::仮想環境の実行 *Scripts\activate の実行 c:\work\python>cd env\Scripts c:\work\python\env\Scripts>activate (env) c:\work\python\env\Scripts> ::仮想環境の停止 *Scripts\deactivate の実行 (env) c:\work\python\env\Scripts>deactivate ::Tclライブラリが見つからない *http://typea.info/blg/glob/2015/07/python-windows-virtualenv-tcl.html ::Python VirtualEnvでIDLEを利用する *http://typea.info/blg/glob/2015/09/python-virtualenvidle.html !Ubuntu ::インストール $ sudo apt-get install python-virtualenv !!WinPython *WinPython !!!フレームワーク !!Web !Django *Django !Google App Engine *Google App Engine !!O/Rマッパー !SQLAlchemy *SQLAlchemy *[SQLAlchemy 0.6.5 ドキュメント (和訳)|http://omake.accense.com/static/doc-ja/sqlalchemy/] !!プラグイン !PyDev *PyDev Eclipseプラグイン !!!Python ライブラリ *Python ライブラリ !!デバッグ *PyDb http://bashdb.sourceforge.net/pydb/ !!GUI *PyQt !!!実践 !!自然言語処理 *自然言語処理 *Python NLTK(Natural Language Toolkit) *Python MeCab(日本語形態素解析) !!!Tips !!文字コード ![[ファイルの文字コード|Python ファイルの文字コード]] ![[URLエンコード|Python URLエンコード]] !Python UnicodeEncodeError の対処 !Python ユニコードエスケープをデコード !Python CSVファイル !!書式 !文字列を16進数に変換 print 'hoge'.encode('hex') print '686f6765'.decode('hex') !2進数文字列を10進数に変換 >>> int('10101100',2) 172 !IPアドレスを2進数で表示 >>> "{0:08b}.{1:08b}.{2:08b}.{3:08b}".format(172,31,16,0) '10101100.00011111.00010000.00000000' *戻す >>> '.'.join([str(int(x,2)) for x in "10101100.00011111.00010000.00100000".split(".")]) '172.31.16.32' !!ログ *Python 任意のファイルにログを出力する !!サンプル !Python 組合せと順列の計算 !Python パスワード生成 !!その他 ![[help関数の使い方|Python help関数の使い方]] *Python help関数の使い方 !プロパティを持っているか hasattr(インスタンス,プロパティ名) !正規表現による分割 *re.split を利用 >>> import re >>> re.split('[ \t\n\.\,]', 'this is\ta\npen.') ['this', 'is', 'a', 'pen', ''] !正規表現による置換 *re.sub(pattern, repl, string, count=0, flags=0) を利用する >>> s = r'AaBbCc' >>> re.sub(r'[a-z]',r'',s) 'ABC' !ユーザーからの入力を得る *raw_input を利用する number = int(raw_input("please input int:")) !!日本語のクエリパラメータ import urllib import urllib2 url = r'https://maps.googleapis.com/maps/api/place/nearbysearch/json?%s' queries = { 'key':GOOGLE_API_SRVER_KEY, 'location':'35.1814464,136.906398', 'radius':'500', 'keyword':u'まんが喫茶'.encode('utf-8') } data = urllib.urlencode(queries) req = url % data print req response = urllib2.urlopen(req) for l in response: print l !!文字化け *Python 対話シェルへユニコードを文字として表示する *PyScripter 日本語ファイルエラーの対応 *Python URLエンコード *Python UnicodeEncodeError の対処 *Python ファイルの文字コード *Python ユニコードエスケープをデコード *Python 対話シェルへユニコードを文字として表示する