タグ

programmingとPythonに関するaroma_blackのブックマーク (18)

  • Understanding Python metaclasses - … and Python objects in general

    Understanding Python metaclasses 09 February 2015 (updated 19 November 2020) None of the existing articles [1] give a comprehensive explanation of how metaclasses work in Python so I'm making my own. Metaclasses are a controversial topic [2] in Python, many users avoid them and I think this is largely caused by the arbitrary workflow and lookup rules which are not well explained. There are few key

    Understanding Python metaclasses - … and Python objects in general
  • Ruby, JavaScript, Python で既存のクラスを拡張 - オープンクラス(モンキーパッチ) と Scala の暗黙の型変換

    1. 「リストの要素を取得する」関数を例として、クラスの拡張を考える Lisp でリストの先頭要素を得る関数は car 。先頭以外の残りの要素を取得するには cdr 。 (car '(1 2 3 4 5)) => 1 (cdr '(1 2 3 4 5)) => (2 3 4 5) ( cf. CAR and CDR – Wikipedia ) Haskell で上記に相当する関数は、 head tail 類似した対照的な関数に init last がある。 main = do let xs = [1..5] print $ head xs -- 1 print $ tail xs -- [2,3,4,5] print $ init xs -- [1,2,3,4] print $ last xs -- 5 これらの関数名を、他の言語でも使えるように、拡張の方法をそれぞれ見ていく。 2. Ru

    Ruby, JavaScript, Python で既存のクラスを拡張 - オープンクラス(モンキーパッチ) と Scala の暗黙の型変換
  • ActiveState O'Reilly Python cookbook code samples ratings review

    View popular, latest, top-rated or most viewed Feed of the popular Python recipes Python Versions All Python 2 recipes All Python 3 recipes Top-rated recipes Decorator for BindingConstants at … (Python) Infix operators (Python) Spreadsheet (Python) Named Tuples (Python) Linear equations solver in 3 lines (Python) Singleton? We don't need no stinki… (Python) Send an HTML email with embedded i… (Pyt

  • PyCharm: The only Python IDE you need

    Built for web, data, and AI/ML professionals. Supercharged with an AI-enhanced IDE experience.

    PyCharm: The only Python IDE you need
  • コマンドライン上で動作するニコニコ動画ダウンローダー on Python - yanbe.log

    ニコニコ動画の.flvファイルをダウンロードするPythonスクリプトです. 引数としてsm??????のようなIDとhttp://www.nicovideo.jp/watch/sm?????? のようなURLの両方を受け付けます.また,複数の引数を受け取ると順次ダウンロードします. GreaseMonkeyスクリプトなどで同様の目的を達成するものは既にいくつかありますが,サイトの仕様変更のためか,うまく動作しないことが多いので自作してみました. 標準のモジュール(ライブラリ)のみを使っているので,多くの環境で動作するはずです. その他の特長として,プログレスバーで進捗を表示したり,ページのタイトルをチェックして適切なファイル名をつけたりするといったものもあります. 個人的にはPyhtonでのBasic認証やCookie制御の要領が分かったことと,自分で処理に時間がかかるプログラムを書いた

    コマンドライン上で動作するニコニコ動画ダウンローダー on Python - yanbe.log
  • Learn Python The Hard Way: Learn Python The Hard Way

    This is the site for the book "Learn Python The Hard Way". The book is a very beginner book for people who want to learn to code. If you can already code then the book will probably drive you insane. It's intended for people who have no coding chops to build up their skills before starting a more detailed book. For Learners You can download the book here: Learn Python The Hard Way (pdf) The boo

  • Pythonで末尾再帰最適化をする。 - IT系で覚醒めたい

    Pythonは最強ですね。文法はチョー簡単、ライブラリも充実度がすごい、それでいてメタプログラミングができる。そのメタプログラミングを使うと末尾再帰最適化までできるそうです…おそろしやNew Tail Recursion Decorator « Python recipes « ActiveState Code class tail_recursive(object): def __init__(self, func): self.func = func self.firstcall = True self.CONTINUE = object() def __call__(self, *args, **kwd): if self.firstcall: func = self.func CONTINUE = self.CONTINUE self.firstcall = False try:

  • @mitsuhiko寄稿「Python Webアプリケーション開発でのありがちなミス」 - YAMAGUCHI::weblog

    はじめに みなさん、日はクリスマスですね。Python Webフレームワークアドベントカレンダー2010最終日ですね。最終日はスペシャルゲストということで、pocooの中心メンバである@mitsuhikoが寄稿してくださいました。 pocooはWerkzeug、Jinja2、Flask、Sphinxといった多くの有名なPythonライブラリを提供しているグループで、その中で@mitsuhikoことArmin Ronacherさんはメインコミッタとして活動されています。*1Arminさんは世界指折りのPythonハッカーですが、なんと年齢は21歳!そしてイケメン!ぜひみなさんもArminさんの活動をWatchしてみてください! 寺田さん(@terapyon)からご指名いただいたので、拙訳ながらArminさんの記事の日語訳をここにご紹介いたします。 概要 「Python Webアプリケーシ

    @mitsuhiko寄稿「Python Webアプリケーション開発でのありがちなミス」 - YAMAGUCHI::weblog
    aroma_black
    aroma_black 2011/01/18
    Webプログラマとして身につけておきたいセキュリティ関連の基礎事項。
  • Scripting Languages I: Node.js, Python, PHP, Ruby - Hyperpolyglot

    a side-by-side reference sheet sheet one: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regexes | dates and time | arrays | dictionaries | functions | execution control | exceptions | threads sheet two: streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects

  • パックマンを遺伝的アルゴリズムしてみた - そこはかとなく書くよ。

    GDD(Google Developer Day)のQuizが終わりました。 その中にパックマンという問題がありました。これはパックマンの敵の動きを示されその中でいかにドットを多く取っていくかという問題でした。 敵の動きのシミュレートは(めんどくさいけど)すぐにできたので、あとは自機の動きをどのように導き出すかがポイントとなります。 うーんと唸りましたが、なんとなーく遺伝的アルゴリズムを使って計算機に導き出してもらうこととしました。 pyevolve ありがたいことにpythonには、pyevolveという遺伝的アルゴリズムを簡単に使えるライブラリがあります。これを使わせてもらうことにしました。 ちなみに、今回はじめて遺伝的アルゴリズムを勉強したので、たぶんいろいろ間違っていると思います。ご指摘がありましたらぜひお願いします。(というか、どうやろうかな、と思ったときにこれを機会にちょっとG

    パックマンを遺伝的アルゴリズムしてみた - そこはかとなく書くよ。
    aroma_black
    aroma_black 2010/09/13
    GAの利点は結論にある通り問題領域の知識がほとんどいらない。ただしGAのパラメータチューニング知識と莫大な計算コストが必要。
  • Instant Hacking

    インスタント・ハッキング Magnus Lie Hetland  translated by jack_dul@mx13.freecom.ne.jp これは、プログラミング入門用の短い文章です。プログラムの実例はPython言 語によって書かれています。(もしあなたが既にプログラミング経験者であり、 Pythonについてのみ知りたいのなら、私 のinstantPython という記事を御覧下さい。)この記事は既に イタリア語、 ポー ランド語、日語に訳されており、現在、韓国語に翻訳する作業が進行中 です。 このページは、どうやって他人のコンピューターに侵入するかなどについて書 かれているのではありません。私はその手のことに詳しくなんてないのでメー ルを送ってこないで下さい。ハッキングとは何のことなのかもっと知りたい人 はhackerethic.orgを参照してくだ さい。 注意: プログ

  • Google Python スタイルガイド

    概要¶ これは Google Python Style Guide Revision 2.29 を日語に訳したものです。 家ガイドは CC-By 3.0 ライセンス の基で公開されています。また、ガイドも同ライセンスを継承します。 家ガイドの著者は以下の通りです。 Amit Patel Antoine Picard Eugene Jhong Jeremy Hylton Matt Smart Mike Shields また、ガイドの翻訳者は以下の通りです。 Kosei Kitahara ガイドに誤植、誤訳があった場合は issue で教えてください。 その他ガイドに関する問い合わせは、サイト最下部に記載のメールアドレスか @Surgo にお願いします。 はじめに¶ PythonGoogle で使われている主要なスクリプト言語です。 このスタイルガイドは Python によ

  • inforno :: Python:アクセサの生成

    Pythonの練習がてら、アクセサの生成をやってみる。どうせ探したらいっぱいコードが転がってるだろうし、練習にはうってつけかな、と。 まず、ダメそうだけど、Rubyをやってる人からするとこうかきたい、というコード。 1class Test(Accessor): 2 attr_accessor("__test", "__test2", "test3", "_test4") 3 4 def __init__(self): 5 self.__test = "test_value" 6 self.__test2 = "test2_value" 7 self.test3 = "test3_value" 8 self._test4 = "test4_value" こんな感じ。まぁ、絶対にダメそうだ(笑 でも組み込みとはいえ、classmethodやstaticmethodみたいなのもあるから無理やりに

  • クラスの挙動まとめ #2 - 大カフェイン

    前回 クラスの挙動まとめ #1 内容 関数とメソッドの違い 以降は、新形式クラスのみに焦点を当てる。 中には旧形式クラスにも適用される動作もあるけど、無視する。区別が面倒だから。 オブジェクトを比較する際に == と is を使い分けているけど、理由があるので無視するように。 理由は最後のほうのおまけに書いてある。 それぞれの違いは、 Python リファレンスマニュアル - 5.9 比較 (comparison) を参照。 簡単にいうと is 厳密な一致。同一のオブジェクトを指している場合に True 。オーバーロード不可。 == 緩い一致。意味的に同一な場合に True 。オーバーロード可。 なお、このエントリーに書かれている全ての例において、 is が True ならば == も True である == が False ならば is も False である の 2 つが成立している。

    クラスの挙動まとめ #2 - 大カフェイン
  • Python のクラスメソッド – デコレータ @classmethod, @staticmethod を使って

    1. メソッドをクラスメソッドにするときは、デコレータを使う あるメソッドをクラスメソッドにするとき、 Python ではデコレータを使うことができる。 2.1 組み込み関数 によると、(太字は引用者による) classmethod( function) function のクラスメソッドを返します。 クラスメソッドは、インスタンスメソッドが暗黙の第一引数としてインスタンスをとるように、第一引数としてクラスをとります。クラスメソッドを宣言するには、以下の書きならわしを使います: class C: @classmethod def f(cls, arg1, arg2, ...): ... ふーむ、ここでも第一引数が必須で、それがクラスを参照するということか。Python のこういう書き方は、最初とっつきにくいと感じた。 (+_+) デコレータの書き方としては、関数の前に @classmeth

    Python のクラスメソッド – デコレータ @classmethod, @staticmethod を使って
    aroma_black
    aroma_black 2009/11/16
    クラスメソッドを書く場合のお話
  • プログラムのテストを続けるための3つの習慣 — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー テストをなかなか始められない人が多いように思います。 テストの効用として,コードのクオリティが高くなったりメンテナンス性がよくなったり,といったことはよく言われることです。また,テストのことを考えな がらコードを書くようになるので事前に十分な思考実験をするクセがついて,行き当たりばったりの開発をしなくなります。テストしやすいコードを書くように なるので,コードのモジュール性が高くなり,結果として再利用性の高い高品質なコードを書けるようになる,という利点もあります。 全部分かっていても,テストは面倒だし,テストを書くためには予備知識も必要なので,そんなことがハードルになってなかなかテスト

  • PythonRecipe

    このページは、Rubyレシピブック (詳細) をPythonで書こうというたくらみです。内容は当たり前のことばかりですが、たまにしかコードを書かない人間は、こうしたことがわからなくてイライラしてしまいます。10行くらいのプログラムならさっと見てさっとかけるようにするのが目標です。 2008年1月21日19:00 ロボットによる荒らし対策を施しました。 レシピブック作成にご協力いただける方がいらっしゃいましたら、最初にユーザー登録をお願いします。 レシピブックを修正する際は、一度ログインをしてください。ログインすると右肩の部分に編集の項目が現れます。 記述方法は、structuredText もしくはreStructuredText でお願いできればと思います。 WEB上の情報 Python クイックリファレンス日語訳 pythonライブラリリファレンス pythonチュートリアル Per

  • Flex + LL連携(Ruby、Python、PHP)

    Flexが登場してから、Webの様相は大きく変わりました。稿では、初めてFlexを触ってみる人や、軽量スクリプト言語の経験があるWeb系エンジニアにもわかりやすいように、Flexとサーバサイドの通信方法について説明したいと思います。 はじめに 必要なソフトウェアとファイル Flex Builder 3(Flex 3 SDK) 体験版  購入 サンプルコード Sample_code.zipzip形式、26KB) この記事で使用する言語 Ruby 1.8.4以降 Python 2.3以降 PHP 5.2以降 事前知識 Flex又はFlashの基礎的な知識。上記の(サーバサイドの)言語の何れかの基礎的な知識。 サーバサイド? Flexが登場してから、Webの様相は大きく変わりました。FlexはFlashの表現力を持ちながら、データベースに代表されるサーバサイドのリソースとの融和性に優れ、まだ

    Flex + LL連携(Ruby、Python、PHP)
  • 1