python

Python3.0にxrange()は無い

旧バージョンのPythonを使っているときに, 「あーrange()とxrange()を使い分けなきゃいけないのかー.今は少ない数を回してるだけだからいいけど使い分けないとなー」 とか考えてて,せっかくIDLEを使えるようにしたのだから 「よっしゃーrange()とxrange()…

IDLE+DropBox

DropBoxのおかげで簡単にファイルの共有ができるようになり, IDLEで自宅PCにPython環境が整った. これで研究室でも自宅でもPython関係の研究はできるわけだけど,Pythonの成果物は研究室じゃないと使えないしなー. とりあえず,研究室に夜遅くまでいなく…

IDLE

自宅PCにもPython3.0を入れてみた. Windows環境なのでCygwinにしようかとも思ったけど,IDLEにすることにした. IDLEはデフォルトでPython Shellが起動してしまうので option->configure IDLEでEditorモードに設定. あとはEditorモードでプログラムを書い…

range

自分が勘違いをしがちなのでメモ. for n in range(0, 5, 1): print( str(n) ) 出力結果 0 1 2 3 4 5の部分が変数だったりすると,勘違いする事が多々あったので・・・ あーあ. Pythonわからねーとかいうレベルじゃねーぞ・・・

標準エラー出力

Python3.0で標準エラー出力(3.0に限ったことではないと思うけど) import sys print("Error Hoge!", file=sys.stderr) ユーザを不安にさせないためにも,ターミナルに進捗を表示するのは重要だと思う. ユーザってのは自分なんだけどもねー

クラスとか読み込みとか

test.pyでdata.txtのデータを読み込み,クラスへ渡すというのを考える.入力ファイル 10 20 5 40 を次のように実行する. $ python test.py data.txt test.pyは以下の通り. class hoge: def __init__(self,a,b): self.x=a self.y=b fuga=[] i=0 for line in…

print("hoge"+fuga)

Python3.0で標準出力へ文字列を出力する時に出力文字列間に空白を入れない方法. string=['hahaha','fufufu','ahyahya'] num=[0,1,2] print("hoge"+string[1]+str(num[0]),end=" ") print(string[num[2]]) 出力 hogefufufu0 ahyahya 4行目のprint関数との間…

3.0へ

Python3.0に移行してみた. あまり調べずに「新しい方がいいだろ」という大雑把な考えでやったら,printの仕様が変更されてて驚いた. Python2.xで string=['hahaha','fufufu','ahyahya'] num=[0,1,2] print "hoge"+string[1]+str(num[0]), print string[num…

変数表示

stderrでプログラム中の変数を出力させたいなーと思ったが, 今まではprint文で出力させていたので, >>> print "hoge"+str(var)と,+でつなげてやってれば良かったけど,sys.stderr.writeだとどうなのかと思い,きっとCっぽくできるんだろうと思ったら,少…

コメントアウト

pythonでスクリプトを書いていると「いらないけど残しておきたい」という時が多々あるので,コメントアウトしていたのだが, # 一行コメントアウトしか知らなかったので,複数行のコメントアウトを調べてみた. """ 複数行コメントアウト1 """と,"(ダブルク…

標準出力

>>> sys.stdout.write("hogehoge")で標準出力へ出力.printと何が違うんだろうか. ちなみに標準入力は >>> sys.stdin.read()標準入出力,エラー出力の場合も import sysを忘れずに書くこと,と.

標準エラー出力

>>> sys.stderr.write("hogehoge")で,標準エラー出力できる. 容量の大きいテキストファイルを作成するときに,どこまで終わったかを埋め込んでおくと,端末で進捗を確認できるので便利かと.しかし,標準エラー出力がsys.stderr.write()ということは,標準…

切り上げ

python2.3.4でも2.5.1でも小数の切り上げがなかなかできなかったのでメモ. いろいろ見て回ると, >>> import math >>> math.ceil(0.1) >>> 1.0とできるらしいが, 例えば,1÷3の切り上げを行おうとして >>> import math >>> math.ceil(1/3) >>> 0.0とやると…

な ぜ だ

今までperlでスクリプトを書いていた要領でpythonでスクリプトを書くことにした. しかし,pythonで書いているにも関わらず,自分のコードは読みづらい. なぜだ!? 言語の仕様以前の問題だな……