ひよこwebプログラマーの覚え書き

エクセルとwebで効率化しますさせます

*

python備忘録

   

Pocket

言語名の由来は蛇ではなくモンティ・パイソン(テレビ番組)

文の終わりのセミコロンは不要

コメントは行頭に #

複数行は
”’
シングルコーテーション
3つで囲む
”’

インデントが{}の変わりになる
if true :
print(‘ifの中’)
print(‘ifの外’)

help()
ヘルプの起動

シグナルを送信する:キー入力等で命令を送ること
ctrl+c 終了
ctrl+z バックグラウンドに送る
psやfg等を使って戻る

関数
all(iterable)
全てtrueならtrue。and()と同じ。

any(iterable)
いずれかtrueならtrue。or()と同じ

bin(int)
整数を渡して2進数を返す

dict(object)
辞書型データの作成

map(int,[1,2])
[1,2]
第一引数は関数を指定
リスト(配列)等の第二引数を渡すと、すべての要素に対して第一引数の処理をしてくれる。foreachみたいな感じ。

oct(int)
整数を受け取って8進数を返す

open(filename[, mode=”r” [, bufsize]])
ファイルの読み込み
modeは読み込みが”r”、書き込みが”w”

reversed(seq)
要素を逆順に取り出すイテレータ (reverse iterator) を返します。 seq は __reversed__() メソッドを持つか、シーケンス型プロトコル (__len__() メソッド、および、 0 以上の整数を引数とする __getitem__() メソッド) をサポートするオブジェクトでなければなりません。

デバッグ用
repr(object)
str(object)
print(any)
pprint(any) オススメ!

tuple([iterable])
タプルの作成
tuple(‘abc’) は (‘a’, ‘b’, ‘c’) を返し、 tuple([1, 2, 3]) は (1, 2, 3) を返します。

定数
None
Nullのこと。noneではない
bool(None)
falseが返る

false
数値では0や0.0、Noneもfalseになる。

演算子
+ 文字列結合
a ** b aのb乗

ブール演算子
x or y
x and y
not x
!bool エクスクラメーションマークで真理値反転は使えない。比較演算子ではイコールと組み合わせて使える
|や&はビット演算になるので基本使わない

比較
<, <=, >, >=, == 等、いつもの
!= 等しくない
is 同一のオブジェクト
is not 同一のオブジェクトでない

数値
複素数型
complex、多分そうそう使わない

イテレータ型
container.__iter__()
iterator.__iter__()
どちらもイテレータを返す?

iterator.next()
コンテナ内の次の要素を返します。

シーケンス型
str unicode list tuple bytearray buffer xrange

リストは [a, b, c] のように要素をコンマで区切り角括弧で囲って生成します。
タプルは a, b, c のようにコンマ演算子で区切って生成します (角括弧の中には入れません)丸括弧で囲っても囲わなくてもかまいませんが、空のタプルは ()のよううに丸括弧で囲わなければなりません。要素が一つのタプルでは、例えば (d,) のように、要素の後ろにコンマをつけなければなりません。

辞書型
dict(one=1, two=2)
dict({‘one’: 1, ‘two’: 2})
dict(zip((‘one’, ‘two’), (1, 2)))
dict([[‘two’, 2], [‘one’, 1]])
以上は全て
{“one”: 1, “two”: 2}
が返る

文字列型について
string.replace(str, old, new[, maxreplace])(原文)
s 内の部分文字列 old を全て new に置換したものを返します。 maxreplace を指定した場合、最初に見つかった maxreplace 個分だけ置換します。

文字列置換
a = string.replace(“abc”, “a”, “”)
“bc”

datetime型
日付や時刻

collections
コンテナ型
collections.Counterはカウント系の作業で便利

正規表現re
import re
prog = re.compile(pattern)
result = prog.match(string)
progを使い回す

findall() はパターンにマッチする全てにマッチ
search() は最初の一個だけ

比較
diff
+とか-とかで差分表示
import difflib as dl
diff = dl.ndiff([“one”,”two”,”three”],[“ore”,”tree”,”emu”])
print ” “.join(diff)

math
数学関数
複素数は扱えない
cmath
複素数関数

ランダム色々
http://docs.python.jp/2/library/random.html

パス
import os
#カレントフォルダを取得
a = os.getcwd()
#ファイル名のみ取得
print(os.path.basename(path))

switch-case文は存在しません。

ifでtrueの時に記述なしはエラーになるので、passと書く
if value_1 == “Python”:
pass
elif value_1 == “python” and value_2 == “izm”:
print unicode(“2番目の条件式がTrue”)
elif value_1 == “IZM” or value_2 == “PYTHON”:
print unicode(“3番目の条件式がTrue”)

foreachはこう
for value in for_sample:
print value

range()でfor nextのように
for num in range(100):
print num
if num == 10:
break

# 複数行のコメントアウト例
”’か”””になる
”’
print “test 3”
print “test 4″
”’

import

from ファイル名 import クラス名など。*で全て
ファイルは同じフォルダに置くか、パスを通しておく
どちらでもない場合は、その場でパスを通す
import sys
sys.path.append(‘/path/to/dir’)

#import本体
#testmod.py
class testclass:
def __init__(self):
print “create testclass”
def testmethod(self,str):
print “call testmethod”
print str
#main.py
if __name__ == “__main__”:
import testmod
testclass1 = testmod.testclass()
testclass1.testmethod(“1”)

from testmod import testclass
testclass2 = testclass()
testclass2.testmethod(“2”)

 - 未分類

Message

メールアドレスが公開されることはありません。

  関連記事

no image
html・cssの表示の崩れる原因

・ローカルにキャッシュが残っている。 ・サーバーにキャッシュが残っている。 ・拡 …

no image
形態素解析を使う その5 フリガナを振ってみる

ふりがなを振るツールを作ってみました。 Igoで形態素解析、結果を色々して表示し …

no image
ビッグディスプレイを試した

ビッグディスプレイ(2枚の画面ではなく、1枚の大きいデスクトップとして扱う機能) …

url
googleはすごいとおもいました(こなみ)

翻訳をしたくて「ほにゃう」(honyaku→honyau)と打ってもgoogle …

tensorflow-lead
tensorflowで学習の中断・再開

今回は「学習の中断・再開」です。学習データの保存と読込を行います。 tensor …

rpg
RPGツクールの画面が小さい時

RPGツクール、色々なゲームが出ていて楽しいのですが、いかんせん画面がちっさい。 …