本書はCC-BY-NC-NDライセンスによって許諾されています。ライセンスの内容を知りたい方はhttps://creativecommons.org/licenses/by-nc-nd/4.0/deed.ja でご確認ください。
皆さんこんにちは お元気ですか。私は元気です。 Chainerと呼ばれる機械学習ライブラリを紹介しようと思います。 Chainerについて Chainerとは? ChainerはPreffered Networksが開発したニューラルネットワークを誤差伝播で学習する ライブラリです。(Python)chainer.org 特徴として、Chainer は、「実際に Python のコードを用いて入力配列に何の処理が適用されたかだけを記憶しておき、それを誤差逆伝播の実行に使います」だそう。 Install sudo pip install chainer 基本的にこれだけのインストールが非常に簡単なソフトウェアです。 他のライブラリとの比較 ディープラーニングが活かすIoTより抜粋。 個人的に注目した違いは以下の3点 CaffeもTheanoも勉強することが多い。(設定ファイルとか) 短く書け
1. 初めに Tkinter は widget を配置する方法として pack, grid, place の3つの方法があり、 3つとも widget のメソッドとして定義されています。また、配置の枠組みを決める Frame という widget があります。Frame 自身はほとんど何も表示しませんが、widget をまとめるのに使います。 まず、Frame について説明して、それから、pack, grid, place の順に説明していきます。 2. Frame widget を生成するとき、親 widget を指定する必要があります。多くの場合、それは Frame になります。 Frame は widget をグループ化する widget と考えることができます。 Frame は入れ子にすることができ、それによって、プログラムのモジュール化を図れます。 多くの場合、一番上の Fram
1. Hello world! 1. 初めに Tkinter は Python の標準的な GUI(Graphic User Interface) ツールです。Python は人気のある言語なので、 GUI Tool としては Tkinter のほかに wxPython, Qt, GTK などがありますが、Tkinter が一番 こなれている感じです。つまり、 動作が安定している。 起動が早い。 プログラムが短くてすむ。 の3つが特徴として挙げられると思います。 Tkinter のチュートリアル はすでにかなり存在しているのですが、Tk が巨大なシステムということも有り、 全てをカバーしたものはありません。この一連の文書では、他のチュートリアルがあまり取り上げていない話題を 中心に取り上げたいと思います。特に、widget を変化させることは他のチュートリアルで取り上げられていないので、
恥ずかしながら、今までPythonのプログラムを書いているとき、 ちゃんとエラー処理をしていませんでした。 というのも、exceptに何を記載したらよいのかいまいちわからないし、 エラーを受け取った時のエラーメッセージをどのように表示すればよいか わからなかったので、スルーしてました。 最近、まれにエラーが発生するプログラムにエラー発生時のログを仕込みたい時に とても困ったので調べたことをメモしておきます。 とりあえずtry-except 悪い例ですが、とにかくエラーが発生しても以降の処理を続行したい場合は、 try-exceptで囲ってしまえばOKです。 # -*- coding:utf-8 -*-print '処理開始'try: print 'try-開始' #エラーを発生させるため0除算 a = 10 / 0 print 'try-終了'except:
Download entire grammar as text. 上記の生成規則で示されていない文法的な制限が一つあります。それは 文字列リテラルの stringprefix と残りの部分の間に 空白を入れてはならないということです。ソースコード文字セット (source character set) はエンコード宣言で決まります.エンコード 宣言がない場合には ASCII になります.2.1.4 節を 参照してください. より平易な説明: 文字列リテラルは、対応する一重引用符 (') または 二重引用符 (") で囲われます。また、対応する三連の一重引用符 や二重引用符で囲うこともできます (通常、三重クオート文字列: triple-quoted string として 参照されます)。バックスラッシュ (\) 文字を使って、 ある文字を例えば改行文字やバックスラッシュ自体、クオート文字と
1. 関数の中の関数 Python では、関数の中に、関数を定義することができる。 例えば、ITmedia エンタープライズ:2.4への機能強化で広がるPythonの世界 (3/4) には、以下のような例が書かれている。 def declareArgs(*argTypes): def checkArguments(func): assert func.func_code.co_argcount == len(argTypes) def wrapper(*args, **kwargs): ... ネストした関数を呼び出すには、関数の呼び出しで、順に引数を与えれば良い。 7.5 関数定義 に、呼び出し方の例が書かれている。 func = f1(arg)(f2(func)) 2. 関数のネストと、スコープ E. 用語集 によると、 ネストされたスコープ (nested scope) ある文が何ら
操作対象としてのリスト map 関数は、2.1 組み込み関数 によると、 map(function, list, ...) function を list の全ての要素に適用し、返された値からなるリストを返します。 操作対象のリストがあり、それを操作する関数を定義するというイメージ。 例えば、リストの各要素を 2 倍したいなら、 print map(lambda x: x*2, [1,2,3,4,5]) map 関数の第 2 引数のリストに対して、第 1 引数の関数を適用する。 リスト内包表記を使うなら、(cf. Python のリスト内包表記) print [x*2 for x in [1,2,3,4,5]] 対象のリストがあって、そこから一つずつ取り出して関数を適用する。 リストは「料理される側」であって、関数はそれに対する「包丁」というイメージが自分の頭に固定された。 (+_+) 手
Python においてメソッドはユニークな性質を持っており、bound されているか unbound か、明確な違いがある。bound / unbound とは、そのメソッドが特定のインスタンスに属しているか、いないかという言い方が出来ると思う。 class Person(object): def __init__(self, name, age): self.__name = name self.__age = age def get_name(self): return self.__name def get_age(self): return self.__age単純なクラスを定義してみた。このクラスのメソッドを調べてみると、 >>> Person.get_age <unbound method Person.get_age>こちらは unbound となっているが、 >>> p =
1. 初めに この文書の目的は、 Python で自前の class を作るとき、メソッドの第一引数がそのクラスのインスタンスそれ自身 (一般に self と書かれる) であることの理由を説明することです。 他の言語ではメソッドを定義するときに第一引数をインスタンスにするという方法は取り入れておらず、 this などの予約語を使ってインスタンスを表すのが一般的です。 Python だけが、独自の流儀をとっています。 しかし、このことを説明したサイトは見当たりませんでした。 どのサイトもそれは決まりごとだで済ませてしまっています。 しかし、それではどうも Python のクラスシステムを理解した気になれないので、Python でクラスシステムが どのように実装しているか推測しながら、例の self について説明したいと思います。 2. オブジェクト指向プログラミングの復習 オブジェクトとは、
Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基本だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に
1 クラスのメソッド定義の第一引数には必ずselfが必要。 class MyClass: def my_method(self): # 処理 尚、第一引数の名前は別にselfでなくてもよい。ただ慣習的にselfが使われる。 2 クラスをインスタンス化するには関数表記を使う。 class MyClass: def my_method(self): return 1 m = MyClass() # インスタンス化 m.my_method() => 1 ちなみにメソッドコールの時はselfは不要。暗黙的に現在のオブジェクトが渡される。 3 クラス名の一文字目は小文字でもよい。 よいけど、慣習的に大文字にしてるのだとか class my_class: def my_method(self): return 1 m = my_class() m.my_method() => 1 ちなみにモジュール名
クラス cls の新しいインスタンスを作るために呼び出されます。 __new__() は静的メソッドで (このメソッドは特別扱いされている ので、明示的に静的メソッドと宣言する必要はありません)、インスタンスを 生成するよう要求されているクラスを第一引数にとります。残りの引数はオブ ジェクトのコンストラクタの式 (クラスの呼び出し文) に渡されます。 __new__() の戻り値は新しいオブジェクトのインスタンス (通常は cls のインスタンス) でなければなりません。 典型的な実装では、クラスの新たなインスタンスを生成するときには "super(currentclass, cls).__new__(cls[, ...])"に適切な引数を指定してスーパクラスの __new__() メソッドを呼 び出し、新たに生成されたインスタンスに必要な変更を加えてから返します。 __new__() が
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はじめに この文書は、 Steven Bird, Ewan Klein, Edward Loper 著 萩原 正人、中山 敬広、水野 貴明 訳 『入門 自然言語処理』 O'Reilly Japan, 2010. の第12章「Python による日本語自然言語処理」を、原書 Natural Language Processing with Python と同じ Creative Commons Attribution Noncommercial No Derivative Works 3.0 US License の下で公開するものです。 原書では主に英語を対象とした自然言語処理を取り扱っています。内容や考え方の多くは言語に依存しないものではありますが、単語の分かち書きをしない点や統語構造等の違いから、日本語を対象とする場合、いくつか気をつけなければいけない点があります。日本語を扱う場合にも
↓に便乗してPython版も書いてみました。 Perl基礎文法最速マスター - Perl入門〜サンプルコードによるPerl入門〜 Ruby基礎文法最速マスター - Route 477 PHP基礎文法最速マスター - Shin x blog ほとんど上記の記事と同じような内容で書いたのでPython入門記事としては色々抜けていたりしますがご了承ください。 Pythonは現在3.x系がリリースされていますが本記事では基本的にPython2.6について書きます。 参考文献: 初めてのPython (asin:4873113938) Python Documentation Index http://www.python.org/doc/ Python 和訳Document http://docs.python.jp/2/ 0. 対話環境として使う 対話環境 pythonはそのまま実行すると対話環
HOME > 電算 > Python と文字コード Python と文字コード Python で行き当たりばったりに日本語処理をしてきたが、これではいかんと思っていくらかまとめてみた。(当然、このメモには間違いや誤解があろうと思う) 「python は『abc』を使うのが基本で『あいう』を使うのが例外だ」と考えると、「あいう」に対してできないことが多すぎて難しく見える。しかし、「『あいう』に対して使えるようなやり方なら『abc』にも問題なく使えて、ただ、『abc』には特権的に無作法な書き方が許されているのだ」と考えれば、ずっと簡単に理解できるように思う。 まとめ ユニコードは「文字コード」(バイト表現と文字の対応関係)ではない utf-8 は「文字コード」である Python の unicode 型は「文字コード」にとらわれない型で、CPU やメモリ上で用いられる Python の str
This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release. Unicode HOWTO¶ Release 1.03 This HOWTO discusses Python 2.x’s support for Unicode, and explains various problems that people commonly encounter when trying to work with Unicode. For the Python 3 version, see <https://docs.python.org/3/howto
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く