みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー PythonにはPEP8という公式のコーディングスタイルがあります。このスタイルに従うことで,Pythonの思想「誰にとっても明確な手法が,一つだけあることが好ましい(There should be one-- and preferably only one -- obvious way to do it)」に沿った,見やすいコードを書くことが出来ます。 読んでみると分かるのですが,変数や関数,クラスなどの命名規則から,どこに空白を入れろとか改行を入れろとか,かなり細かく記述があります。それぞれの規則にはちゃんと理由があって,出来る限り守った方がコードが見やすくなるのは確かなのですが,
Note The best introduction to working with ConfigObj, including the powerful configuration validation system, is the article: An Introduction to ConfigObj 1 Introduction ConfigObj is a simple but powerful config file reader and writer: an ini file round tripper. Its main feature is that it is very easy to use, with a straightforward programmer's interface and a simple syntax for config files. It
(この記事は 2008年03月14日に別のブログに投稿した記事を移動・編集したものです。) インターネット上の日本語を扱っていると、全角半角が統一されていない事による表記揺れをなんとかしたい場面に出くわします。半角で書かれた iPod も、全角で書かれたiPodも同じものとして扱いたいときや、あるいは単に見た目がきれいになるように、英数字は半角に、カタカナは全角にそろえたい、という場合です。 Python では setomitsさんによる zenhan.py を使うと、文字種ごとに全角半角を選択して変換することができ、除外文字も設定できるので便利です。ただ、そこまで柔軟でなくても良く、単に表記揺れがなくなれば良い、という場合も多いかと思います。その場合はPythonの標準ライブラリに含まれる unicodedata モジュールの normalize 関数を使うと便利です。 >>> impo
Pythonで一番有名で普及しているライブラリと言っても過言ではない「Numpy」の覚書きです。かなり多機能な数値計算ライブラリで、内部はC言語で記述されているため超高速に動作します。 ベクトル ベクトルの長さ&正規化 import numpy a = numpy.array([[2,2]]) #ベクトルの長さ length = numpy.linalg.norm(a) #length=>2.8284271247461903 #ベクトルの正規化 a / numpy.linalg.norm(a) #=>array([[ 0.70710678, 0.70710678]]) 内積&外積 import numpy v1 = numpy.array((1,0,0)) v2 = numpy.array((0,1,0)) #内積 numpy.dot(v1,v2) #=> 0 #外積 numpy.cros
Scipyをつかって行列計算。 [参考]http://handasse.blogspot.com/2007/07/scipy.html # usr/bin/env/ python # -*- coding: utf-8 -*- import scipy import scipy.linalg from numpy import * a = [ [1,3,5], [2,5,1], [2,3,8]] A = mat(a) #print "配列 a:", a #print "行列 A:", A print "行列→リスト", A.tolist() print "逆行列:" , A.I print "エルミート行列:", A.H print "転置行列:", A.T print "行列→配列:", A.A print "行列→1次元配列:", A.A1 print "2番目の行を取り出す:", A
PythonからCプログラムを呼び出す [更新日: 2022年03月19日 ] Python でプログラミングしていると、 新しいデータ構造を作り上げる場合などに、 C/C++ の力を借りたくなることがあります。 Python から C/C++ コードを呼び出す方法を書きます。 まずは、Cから... 1.ソースコード 次の関数を題材にします。 // hello.c int add(int x, int y) { return x + y; } void out(const char* adrs, const char* name) { printf("こんにちは、私は %s の %s です。\n", adrs, name); } 2.wrapper コード まずモジュール(ライブラリ)名を決めます。 ここでは "hello" とします。 そしてラッパモジュールを書きます。 // hello
python での行列・ベクトル数値計算 python で行列ベクトル演算が可能です。でも、実際に行列ベクトル計算をしようとしたとき戸惑わされました。python での行列ベクトル演算について手頃な解説がありませんでした。コード例も殆どなく、試行錯誤で使う必要がありました。回り道をしました。特に Matrix と array の使い分けに戸惑いました。結論は「慣れるまでは Matrix を使わずに array の範囲だけで使っとけ。」です。慣れた後でも Matrix を使うメリットは限られます。array だけで済ましたほうが余分なことを考えずに済みます。 このような遠回りをすることなく python での数値計算を手っ取り早く始められるようにように、この Web page を書きました。C 言語や数値計算についての素養はあるが python は使い始めの方、早急に行列 ベクトル演算を行う
リストオブジェクトの作成 リストオブジェクトは「[要素, 要素, …]」の形で作成します。 #例 lst = ['python', 'perl', 'php'] #空のリスト lst = [] 要素の取得 要素を取得するには「リストオブジェクト[位置]」を使います。 位置は、先頭の要素が0、二番目の要素が1となります。 負の値を指定した場合は、末尾から数えます。 範囲外を指定した場合はIndexErrorの例外が送出されます。 >>> lst = ['python', 'perl', 'php'] >>> lst[0] 'python' >>> lst[1] 'perl' >>> lst[2] 'php' >>> lst[-1] 'php' >>> lst[3] Traceback (most recent call last): File "<stdin>", line 1, in <m
PythonのモジュールであるSciPyを使った行列演算を示す。scipy.linalgではBLASやLAPACKを利用しているので、高速な演算が可能になっている。 >>> from scipy import * >>> a = [[1, 3, 5], [2, 5, 1], [2, 3, 8]] # リスト >>> A = mat(a) # リスト→行列 >>> A.tolist() # 行列→リスト [[1, 3, 5], [2, 5, 1], [2, 3, 8]] >>> A # 行列 matrix([[1, 3, 5], [2, 5, 1], [2, 3, 8]]) >>> A.I # 逆行列 matrix([[-1.48, 0.36, 0.88], [ 0.56, 0.08, -0.36], [ 0.16, -0.12, 0.04]]) >>> A.H # エルミート行列 matr
1. 初めに 今回は、大きめのキャンバスの作り方と、オブジェクトをつまんで動かしたりする方法について述べます。 題材は、知育教材 (toy.py) です。要するに子供だましですが、童心に還って遊んでみてください。 2. Tk.Canvas へのスクロールバーのつけ方 以下のコードは toy.py からの抜粋です。 スクロールバーのつけ方は以下の通りです。 まず、Tk.Canvas を作ります (self.cvs)。そのとき、 オプションで scrollregion を指定します。 下の例は縦横に 0--40 cm スクロールするという意味です。width と height は表示する幅と高さです。 self.cvs を grid します。縦横にスクロールバーをつけるときは必ず grid してください。 sticky= Tk.N+Tk.E+Tk.W+Tk.S を指定して、上下左右に広がるよう
「onkey」と「ontimer」のイベントハンドラ関数は引数なしです。その他のマウスカーソルに関わるイベントハンドラ関数では引数に「x」と「y」が渡されますが、それらは実際のマウスカーソルの位置です。 サンプル3 - スクリーンクリックイベント クリックしたところにタートルが移動します(図3)。 リスト3 from turtle import * t = Turtle() # タートルオブジェクトの作成 def click(x,y): # イベントハンドラの定義 t.setpos(x,y) # クリック座標に移動 onscreenclick(click) # イベントハンドラの登録 mainloop() # イベントループ 図3 リスト3の実行結果 サンプル4 - キーイベントハンドリング エスケープキーを押すと終了します。 リスト4 from turtle import * def
123 目 次 第 III 部 Python によるグラフィックス 125 第 1 章 グラフィックスの基礎 127 1.1 サンプルプログラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 1.2 キャンバス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 1.3 座標系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 1.4 基本図形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1. 標準添付の Tkinter は使わない Python で GUI を作成したい。 wxPython でお手軽 gui によると、 Python には Tkinter, PyQt, PyGTK, wxPython などの gui toolkit があります。 いろいろと物色した結果次のことが分かりました。 これらの toolkit のマニュアル、チュートリアルは極めて不備である。 wxPython はデモスクリプトがあるだけまだましである。 wxPython はいろいろな widget が揃っている。 wxPython は最近人気があるようである。(その結果として web resources が他の toolkit より多い。) Python に標準で Tkinter がついている。 16. Tkを用いたグラフィカルユーザインターフェイス の 16.1.2.2 簡単なHello Wor
この記事読んで以来、ずっとTitaniumをいじっていました Ruby,Python,PHP,JavaScriptでマルチプラットフォームなデスクトップアプリを簡単に作成する Appcelerator Titanium Desktop - 仙台 Rails Vim JavaScript社長 Titanium Desktopの何がすごいって、Webkitベースなのでhtml/css/javascriptのweb標準技術が使えて、さらにはKrollというライブラリがそれぞれの言語の仲立ちをし、名前空間を共有しそれぞれのライブラリを呼び出せるそうな。なにそれきもい。 僕は完全に が使えるwebkitとしか見てなくて、GUIライブラリが貧弱なPythonだと、十分有力な選択肢に入ると思われます。一度作ったものはクロスブラウザで使えるし。 簡単なTwitterクライアントを作ってみた あっさりできま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く