python の勉強メモ
全体
- ソースコード内に全角文字を入れるとき
- コード内に全角文字を入れるときはコードの頭を以下みたくする。(UTF8の場合)
#!/usr/bin/env python
# -*- coding: utf8 -*-
ちなみに入れないとこんな風になる
sys:1: DeprecationWarning: Non-ASCII character '\xef' in file dic-api-report.py on line 40,
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
import sys
sys.stdout.encoding # これで普段は何でprintしてるかわかる。
# 変更したいときはこんな感じ。
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
基本
t = True
f = False
if a == b:
# 処理
elif c == d:
# 処理
else:
# 処理
大なりイコール、小なりイコールは下記のように表現
>= , <=
def class Class:
# コンストラクタ
def __init__(self, foo, bar):
self.foo = foo
self.bar = bar
# toString的なもの
def __repr__(self):
print 'Class: foo-%s, bar-%s' %(self.foo,self.bar)
- クラス内のmethodは、必ず引数にselfが必要。
class Sample:
def __init__(self):
pass
def set(self, val):
pass
def m1():
print "m1"
def m2():
print "m2"
# 好きなところでm2を呼べる。
m2()
def m1(str="hello"):
def print str
でもこういうのはダメ。引数したときに、どこが省略されたのかわかんないから。
def m2(a=1, b, c=3):
文字列
len("abc")
"abc/def/ghi".split('/')
# これで空文字も含めて全部配列にしてくれるはず。
ちなみに全角文字で区切るときはuつける
"abcあdefあghi"[:-1].split(u'あ')
str = "abcdefg"
if str.find("d") >= 0: # find すると検索文字のindexを返す。無ければ-1を返す。
print "contain"
else:
print "not contain"
配列
array = []
array.append("elem")
set(array) # 返り値はないので注意。
#ちなみにsetにしたあとの、要素の追加方法は以下。
array.add("elem")
#リスト に戻すときはこう。
list(array)
Dictionary
- Dictionaryに値を入れるときは、こんな感じ。
map = {}
map["key"] = "value"
それかこっち
map = {
"key" : "value"
}
ファイル操作
import codecs
fin = codecs.open("./moge.txt", 'r', 'utf8')
for l in fin:
print l
最終更新:2011年03月18日 19:21