いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

python

Pythonメモ-08 (Python loop optimization, ループ最適化, 時間計算量, Time-Complexity)

今回、あんまり python 関係ない話題ですが、面白かったのでメモメモ。 どの言語にも言える話です。 概要 stackoverflow の Python カテゴリ見てたら、以下の内容を発見。 stackoverflow.com トピックの投稿者さんは、処理をPythonで書いてるけどめっちゃ時…

Pythonメモ-07 (collections.namedtuple, 名前付きのフィールドを持つタプル)

namedtupleについてのメモです。 概要 むかーしむかしにpython触っていた時(多分 2.0 とかそのへん)には、無かったのですが 最近またpython触るようになって、まず気に入ったのがこの namedtuple さん。 軽いし、フィールドアクセスできるし、なんといって…

Pythonメモ-06 (PEP-3132 Extended Iterable Unpacking)

概要 小ネタ。Python 3.0で追加された仕様です。 知ってるとちょっと楽できます。 以下のPEPです。 www.python.org 名前は、Extended Iterable Unpacking って感じのちょっとむずかしそうな 名前ですが、実際にコード見てみるとすぐ意味が分かります。 list0…

Pythonメモ-05 (内包表記について)

以下、自分用のメモです。 概要 pythonといえば、「リスト内包表記(list comprehension)」が有名ですが リストだけじゃなくて、辞書にも集合にも内包表記があります。 リスト内包表記 [ expression for item in iterable] 辞書内包表記 { key_item: value_it…

Pythonメモ-04 (iterable, iterator, generator, yieldについて)

Pythonやりだすと、いろいろ便利なのでオモシレーってなって、もっと知りたいってなったころに出てくる子達がいます。 iterable, iterator, generator, yield 他の言語やってる人だと大体「あー」って分かるものなのですが とは言え、最後の yield などは初見「な…

Pythonメモ-03 (リスト内包表記の中でファイルをopenすることについて)

以下、自分用のメモです。 Pythonといえば、リスト内包表記。楽なので、ほいほい使いたいところなのですが スクリプト書くときって往々にして、なんかデータが詰まっているファイルがあって その中身をゴニョゴニョして、整形したり抽出したりすることが私の…

Pythonメモ-02 (改行コードをsplitしたい場合, splitlinesを使う)

以下、忘れないうちにメモメモ。 特定のデータがあって、改行コードでsplitしたい場合 DATA.split(os.linesep) ってやれば、macとlinuxではうまくいくんですが windowsでやると、分割されずに一つの文字列として 結果が返ってきた。 どうも、Windowsの場合 o…

Pythonメモ-01 (アスタリクスのみの引数, 後続のキーワード引数のキーワード指定を強制する)

個人的なPythonメモです。 環境 $ python Python 3.6.0 |Anaconda custom (x86_64)| (default, Dec 23 2016, 13:19:00) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more info…

Pythonメモ-00 (マルチバイトを考慮した文字幅を取得)(unicodedata, east_asian_width, multibytes, WF)

スクリプト書いていると、等幅フォント上で全角半角混じった文字列をピシッと 揃えたいときがよくあります。pythonのlen()は文字数を返すので、それでイケルと思ってしまいますが s = 'hello' len(s) 5 # OK s = 'こんにちわ' len(s) 5 # (´・ω・`) max_widt…

シーケンスを特定数のチャンクに分割

どの言語でもちょくちょく使う特定の数のチャンクに分割する処理のPython版。 いつも忘れてしまうのでメモメモ。 def chunks(sequence: Sequence, chunk_size: int = 1) -> Iterator[Any]: """ 指定されたシーケンスを指定されたチャンクに分割します. :para…

PyCharm 3に無償版 (Community Edition) が登場 (JetBrain, IDE, Python)

Pythonの開発環境として有名なJetBrainのPyCharmに無償版が登場していたので 忘れない内にメモメモ。 PyCharm 3 http://www.jetbrains.com/pycharm/ ダウンロードページに進むと、Pro版とfree版のダウンロードが選べます。 機能的には、当然違いがあって、We…

Python 2.7リリース (Python2系の最後のメジャーバージョンリリース)

ネタ元は、マイコミジャーナルさん。 メモメモ。 Python 2.7登場、2系最後のメジャーリリース http://journal.mycom.co.jp/news/2010/07/06/027/index.html Python 2.7 Release http://www.python.org/download/releases/2.7/ ついに、Python2系も最後のリリ…

unladen swallow (CPython, 高速化, Google)

大分遅いですが、今日知りました・・・。 メモメモ。 一言でいうと、現在のPython実装の高速版を作成することを目標としている プロジェクトという事になりますね。LLVMを利用して行う模様です。 且つCPythonとの互換性を維持する事も明言されています。 処…

Python 3.0 がリリース

Python 3.0がリリースされましたね。 今回の目玉はなんといってもUnicodeへの全面対応でしょう。 日本のユーザには使いやすくなった感じですね。 ただ、後方互換性がないので、前のスクリプトがそのまま 動かない可能性が高いみたいです。 以下リソース。 ht…

Python 2.6

リリースされたみたいです。 マルチプロセス機能などが強化された模様です。 以下、リソース。 http://codezine.jp/article/detail/3131 http://python.org/download/releases/2.6/

python関連のメモ

以下、自分用のメモです。よく忘れるので・・・w1.string.Template 簡易テンプレートエンジンみたいなもの。元から言語についているモジュールなので 利用が簡単。 import string print string.Template('hello $user.').substitute(user='gsf_zero1') 参…

IronPython開発入門(@IT)

@ITにて、IronPythonに関する記事が載ってました。 IronPython開発入門 http://www.atmarkit.co.jp/fdotnet/special/ironpython01/ironpython01_01.html とりかえず、メモメモ。 今回は、前編みたいです。 元々、pythonを良く使う人間なのでIronPythonの存在…

IronPythonで参照が必要なDLLの利用方法 (clr, AddReferenceByPartialName)

IronPythonにて、.NET環境で参照を追加する事が必要なDLL (System.Windows.Forms, System.Transactionsなど) を利用するには、以下のようにします。 import clr # # 参照が必要なDLLを参照追加します。 # clr.AddReferenceByPartialName('System.Windows.Fo…

Python 3.0a1 リリース

ついに、Python3000の最初のリリースであるアルファ版がリリースされました。今回のバージョンアップで、かなり基本的な部分が変わるので後方互換性は 損なわれるみたいですが、それなりの価値はありそうですね。 以下、参考リソースです。 スクリプト言語「…

TurboGear1.0.2.2リリース

いつの間にか、TurboGearのニューバージョンがリリースされてる・・ 今日、気づきましたw 今回のバージョンから、2.5に対応したみたいです。 まってましたって感じですね。 TurboGear http://www.turbogears.org/

Python情報へのリンク

Python入門にいい感じの情報へのリンクをまとめてくださってます。 忘れないうちにメモメモ。Python入門サイトのまとめ(From pythonでつくるskyfish開発ブログさん)

IPythonの%magic(マジックコマンド)について-1

前回、IPythonのMAIN FEATURESの抜粋をやったので、 今度は、マジックコマンド(%magic)の抜粋です。 メモ程度です。(^.^;; %Exit -- 確認なしでIPythonを終了. %Pprint -- pretty printingをON/OFFする. %Quit -- %Exitと同じ. %alias -- エイリアスを定義し…

IPythonの主な機能

?コマンドで出てくるヘルプ(MAIN FEATURES)から抜粋。適当に訳していますので 間違っている可能性は大です。こんな感じと思ってください。 通常のpython helpシステムへのアクセス。(helpコマンド) マジックコマンド(IPython独自の便利なコマンドの事。%comm…

デコレータの利用

python2.4から、デコレータという概念が追加されています。 デコレータとは、GoFのデザインパターンにある名前のやつと同じく なにかを修飾する機能を持つものです。pythonの場合は、 デコレート対象が関数およびメソッドになります。 見た目的には、javaの…

setの利用

python2.4から、コレクションオブジェクトとしてsetの概念が追加されています。 以前から、リストとハッシュ(辞書)とタプルなどが存在していましたが そこにsetも加わったという事になります。 javaをやっている人などは、分かると思いますがsetとは、重複が…

IronPythonのメモ

かなり、便利なIronPython君。 まだちょっとしか触っていないのですが、.netの動作確認するのとかには もってこいです。コンパイルの必要もないですしね。ちょこっとしたメモです。 IronPythonを.net組み込み状態にする。 import clr clrモジュールをインポ…

SQLAlchemy入門記-02 (エンジンの作成およびメタデータの作成)

前回インストールを済ませましたので、いよいよ使用してみましょう。 SQLAlchemyでは、以下2つの方法でデータベースにアクセスできます。 テーブルそのものを表すオブジェクト(テーブルオブジェクト) ドメインオブジェクト(つまり、テーブルオブジェクトと…

SQLAlchemy入門記-01 (インストール)

SQLAlchemyは、pythonで利用できるORMの一つです。 Data Mapperパターンによる設計方針で作成されており、同じくpythonで利用できる ORMの一つのSQLObjectは、ActiveRecordパターンです。 SQLObjectもそうですが、動的言語(pythonやruby)とORMの組み合わせは…

個人的によく使う外部モジュール

Pythonは、ビルドインライブラリが充実しているので、 そんなに外部ライブラリに頼る必要はないかもしれないのですが、 私の場合、Pythonをインストールしたら以下のものは必ずインストールしてます。とりあえず、箇条書きで。 EasyInstall(Debianのaptみた…

IPythonの設定ファイル

IPythonには、設定ファイルが存在していまして Windowsの場合は、ホームディレクトリに"_ipython"という ディレクトリが出来上がっているはずです。 その中に、 ipythonrc.ini というファイルがあります。これがIPythonの設定ファイルです。 この中に設定を…