「Python」の編集履歴(バックアップ)一覧はこちら
「Python」(2011/03/18 (金) 19:21:37) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
* 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
- print の文字コード
import sys
sys.stdout.encoding # これで普段は何でprintしてるかわかる。
# 変更したいときはこんな感じ。
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
** 基本
- boolean値はこれで指定。大文字小文字大事。
t = True
f = False
- if文の作り方
if a == b:
# 処理
elif c == d:
# 処理
else:
# 処理
大なりイコール、小なりイコールは下記のように表現
>= , <=
- class の作り方
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
- methodは子メソッドも作れる
def m1():
print "m1"
def m2():
print "m2"
# 好きなところでm2を呼べる。
m2()
- methodは、引数のデフォルト値つけれる。
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'あ')
- contains的な使い方
str = "abcdefg"
if str.find("d") >= 0: # find すると検索文字のindexを返す。無ければ-1を返す。
print "contain"
else:
print "not contain"
** 配列
- 配列に値を入れるときは、こんな感じ。
array = []
array.append("elem")
- 配列からsetに変換したいときは、こんな感じ。
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
* 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
- print の文字コード
import sys
sys.stdout.encoding # これで普段は何でprintしてるかわかる。
# 変更したいときはこんな感じ。
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
** 基本
- boolean値はこれで指定。大文字小文字大事。
t = True
f = False
- if文の作り方
if a == b:
# 処理
elif c == d:
# 処理
else:
# 処理
大なりイコール、小なりイコールは下記のように表現
>= , <=
- class の作り方
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
- methodは子メソッドも作れる
def m1():
print "m1"
def m2():
print "m2"
# 好きなところでm2を呼べる。
m2()
- methodは、引数のデフォルト値つけれる。
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'あ')
- contains的な使い方
str = "abcdefg"
if str.find("d") >= 0: # find すると検索文字のindexを返す。無ければ-1を返す。
print "contain"
else:
print "not contain"
** 配列
- 配列に値を入れるときは、こんな感じ。
array = []
array.append("elem")
- 配列からsetに変換したいときは、こんな感じ。
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