python

スコープ判定とグローバル変数

pythonでグローバルな定義をしたいなー、と思ってちょっと調べてみたら、ちょっと面倒、というか不安になる仕組みになっていたのでメモしておく。 以下の内容は、ちょっと前に購入していた参考書「初めてのPython(第2版)」に分かりやすく記載されており、…

ディクショナリ

他言語におけるハッシュ(キーを使って要素にアクセスするリスト的機能)に相当するものをpythonではディクショナリというらしい。 # 2次元座標を適当なインデックスでアクセスするサンプル point_vacant = {} # 空ディクショナリの作成 point = { 0:[0.1,0.…

None : 何もないことを表現

C/C++でいうところのNULL、Rubyでいうところのnil、それをPythonではどういうのか分からなくて、検索してみました。こういうやつの名前をなんと言うのか分からなくてNULL,null,nil,Null,等やってみて、やっと見つけたのがNone! Noneについて、実際にコード…

FizzBuzz.py, short code #1

FizzBuzzをpythonでやってみた。 pythonってほとんど使ったことないのですが、Blenderのちょっとしたプラグインを書いたときにテストで環境は作っていたので、"python hoge.py"で実行は出来るようになっていました。 まずループはどうしようか?というところ…

SCons (memo)

SConsというツールの存在を知った。 要はpythonでつくられたmakeの代替品ということなのだが、なかなか面白そうなので、とりあえずウェブ上の情報をメモしておく。 SCons: A software construction tool - SCons .. 公式サイト radiumsoftware.com .. Radium…

部分文字列を取得

部分文字列を取得するメソッドがなかなか見つからなかったけど、配列的にアクセスすることで簡単に取得することができるようです。 foo = "original string" print foo[3:6] #=> gin print foo[6:7] + foo[8:] #=> a string bar = "natio" + foo[5:] print b…

BlenderでPythonプラグイン#3(Curveのポイントを取得)

XY平面に置いたカーブの頂点を取得したいー、と思って書いたのが次のスクリプト。BPyMeshではうまく取れないので、構造を調べつつ、追ってみました。 import Blender from Blender import * print "=== CURVE DATA EXPORTER ===" # process for each objects…

リスト周りのテスト

とりあえずリスト周りをチェックしながら文法に慣れてみる。 # test python import types print "=== test python : list ===" ## The list. list = [ 1.0, 1.2, 0.0 ] print type(list) #=> <type 'list'> print len(list) #=> 3 print list #=> [1.0, 1.2, 0.0] ## The </type>…

Windows用pythonインストール

blenderをインストールするとpython.dllはインストールされるが、それはblenderからしか使えないので、ちょっとしたテストコードを書くには不便。なので、Windows用pythonをインストールしてみた。 http://www.python.jp/Zope/download/pythoncoreからmsiを…

BlenderでPythonプラグイン#2(Exporterの基礎完成)

もともと入っているプラグインをごそごそ見て回っていると、なんとなくメッシュ情報の取得手順が見えてきました。 どうやら、BPyMesh というデフォルトで入っているユーティリティを使うようです。 で、下記のようなスクリプトで試してみます。 import Blend…

BlenderでPythonプラグイン#1(調査編)

Blenderではプラグインをpythonで書くことができるらしいし、実際配布されているBlenderパッケージに入っているプラグインはほとんどがpythonで書かれている。 (例:うちの場合、次のディレクトリにプラグインが入っています→C:\Program Files\Blender Foun…

py-modeの追加

xyzzyにpython用のモードを追加する手順をメモしておきます。 ダウンロード http://www.geocities.co.jp/Milano-Cat/2067/xyzzy.html#py-mode からダウンロードします。自分の場合は、py-mode-20070407.zip でした。展開したファイルの中身をxyzzyのディレク…