FrontPage / Python その2

[[FrontPage/Python]]


** 高速化 [#wf1bde7e]
Numpyから最高のパフォーマンスを得る
http://kaisk.hatenadiary.com/entry/2015/02/19/224531

**ndarray一次元化 [#af30680b]
>配列のflattenとravelメソッドは、1次元ベクトルへと形を変更します(flattened array)。 前者のメソッドは必ずコピーを返しますが、後者は必要なときだけコピーを返します(ですから特に大きな配列の場合後者がとても速いです)。

 d = a.flatten(); id(d) == aid
 # False
 
 e = a.ravel(); id(e) == aid
 # True

**Pythonでディレクトリの上層にあるモジュールをimportするときの注意点 [#n6cd9bb9]


http://d.hatena.ne.jp/chlere/20110618/1308369842


** logging [#w4014503]

# ************************************************************* #
# ロガー
# ************************************************************* #
import logging, logging.handlers
logger = logging.getLogger(__name__)
FORMAT = '%(asctime)-15s %(levelname)-8s %(lineno)-5s %(message)-s'
formatter = logging.Formatter(FORMAT)
# コンソールハンドラー
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFormatter(formatter)
# ハンドラを追加
logger.addHandler(console_handler)
# ファイルハンドラー
file_handler = logging.handlers.RotatingFileHandler(filename="warning.log", mode="a", maxBytes=10*1000, backupCount=3)
file_handler.setLevel(logging.WARNING)
file_handler.setFormatter(formatter)
# ハンドラを追加
logger.addHandler(file_handler)
# ファイルハンドラー
file_handler = logging.handlers.RotatingFileHandler(filename="debug.log", mode="a", maxBytes=10*1000, backupCount=3)
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
# ハンドラを追加
logger.addHandler(file_handler)
# ログテスト
logger.debug("Looks like rain")
logger.info("And hail")
logger.warn("Did I hear thunder?")
logger.error("Was that lightning?")
logger.critical("Stop fencing and get inside!")
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS