タグ

Pythonに関するdwarfjayのブックマーク (29)

  • データ構造の授業をCからPythonにしたら単位取得率が15%から90%になった話 #PyConJP_1 #pyconjp

    Fernando Masanori @fmasanori Sou feliz 🥰 compartilhando⁣. Cozinho 👨‍🍳 dançando. Amo lavar 🧼 pratos⁣. Onde deixei meus óculos? 🤓 https://t.co/kUYd9qq7VC リンク pt.slideshare.net Teaching Data Structures with Python Data Structures is traditionally a “bogeyman” discipline in Computer Science courses and has a high degree of failure. In FATEC São José dos Campos we are adop…

    データ構造の授業をCからPythonにしたら単位取得率が15%から90%になった話 #PyConJP_1 #pyconjp
    dwarfjay
    dwarfjay 2015/10/11
    最近Cはいじってないけど、コンパイラーが不親切だよね。Haskellのコンパイラと比べるともうソロバンと人工知能ぐらい違う(暴言
  • Haskellのエンジニアは二流なのか?(答えはノーである) | POSTD

    挑発的なタイトルによって誰かが気分を害してしまう前に、私はこの問いに対する答えも書いてしまうことにしました。答えは“ノー”です。しかしこのテーマには、なかなか興味深い議論があるのです。HaskellやErlangや、特にClojureなどのあら探しをするつもりはないのでしょうが、Piaw NaはQ&AサイトQuoraの あるアンサー で以下のようにコメントしています。 プログラミング言語を固定するのは二流のエンジニア/コンピュータサイエンティストである証です。 [中略] 私がErlangのサーバに携わるポジションの採用をした時も、Erlangのスペシャリストだと言うエンジニアより、優秀なオールラウンダーのエンジニアを雇ってErlang(これに限らず何でも)を学ばせてそのポジションを埋める方が断然いいと感じました。 Na氏の意見は1990年代に設立されたGoogleAmazonなどの技術

    Haskellのエンジニアは二流なのか?(答えはノーである) | POSTD
    dwarfjay
    dwarfjay 2015/09/22
    “もし底辺の、プログラムもろくに書かないプログラマと本当に出会う気があるのなら、ビジネス主導型エンジニアリングの糞尿地獄に行って見てください。”
  • profile, cProfile, pstats – Python プログラムのパフォーマンス解析 - Python Module of the Week

    import profile def fib(n): # from http://en.literateprograms.org/Fibonacci_numbers_(Python) if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2) def fib_seq(n): seq = [ ] if n > 0: seq.extend(fib_seq(n-1)) seq.append(fib(n)) return seq print 'RAW' print '=' * 80 profile.run('print fib_seq(20); print') $ python profile_fibonacci_raw.py RAW =====================================

  • Playing Music with Python

    August 17, 2012 Wand to play a sound in Python but don’t know how? It's your problem No problems. I’ll show you some ways. Here is the list of popular Python libraries used to make noise with short descriptions and usage examples. Pyglet A cross-platform windowing and multimedia library for Python. Among it’s features: no external dependencies or installation requirements; can optionally use AVbin

  • pythonでunzip()関数を実現するためには

    pythonには(当たり前だけど)リストをまとめるためのzip()関数が存在する。 >>> A = [1,2,3] >>> B = [4,5,6] >>> zip(A, B) [(1, 4), (2, 5), (3, 6)]これだけじゃちょっとありがたみが分かんないけど、配列っていうのは『オブジェクトjの状態』などを格納してある場合が結構あるので、jに関してループを回したいとかのような場合に便利だったりする。 for (state1, state2) in zip(A, B): # do somethingで、これはいいんだけど、なぜかpythonにはzip関数でまとめられた配列を展開する"unzip()"関数が存在しない。なんでだろーとか思って調べたら、どーやらこれでできるらしい。 >>> C = zip(A, B) >>> zip(*C) [(1, 2, 3), (4, 5, 6)]な

  • Python の CUI デバッガ PudB が便利すぎた件

    Python のデバッガといえば言語そのものに付属している pdb がまず挙げられるけど、pdb は実行中の行以外を確認できなくて正直かなり使いづらさを感じる。 それ以外の Python のデバッガとしては、以前にこのブログでも winpdb を紹介しているし、それ以外だと Eclipse PyDev プラグインの GUI デバッガをよく使っている。 とはいえ、これら二つは動作に X Window System が必要だったり、プラットフォームとして Eclipse や wxPython をインストールしなきゃいけないのが結構手間になる。 今回紹介する PudB は動作に特別なプラットフォームが不要でなおかつ pdb より便利な CUI のデバッガだ。 インストールはいつも通り PyPI から PIP で。 必要に応じて sudo などする。 $ pip install pudb 使い方は

    Python の CUI デバッガ PudB が便利すぎた件
    dwarfjay
    dwarfjay 2014/03/14
    ちょっと使ってみたけど良い感じ
  • http://gethe.info/

  • Pythonで生エクセルファイルを読み書きするpyExceleratorを使ってみた — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー 普段自らこういうことはやらないんだけど,やむにやまれず大量(500個ほど)のエクセルファイルをCSVファイルに変換する必要があった。RubyではSpeadsheetというのがあるみたい。PerlではSpreadsheet::WriteExcelとかSpreadsheet::ReadExcelとか使うのかな。 まあ僕はPythonな人ということもあり,Pythonでできないかと思って調べてみたらpyExceleratorというモジュールを発見した。Pure Pythonで書かれたモジュールなのでインストールが簡単。生のエクセルファイルを直接読み書きできるので,プラットフォームを問わず動か

  • Debugging in Python

    Adventures across space and time with the Python programming language As a programmer, one of the first things that you need for serious program development is a debugger. Python has a debugger, which is available as a module called pdb (for “Python DeBugger”, naturally!). Unfortunately, most discussions of pdb are not very useful to a Python newbie — most are very terse and simply rehash the desc

    Debugging in Python
  • PythonRecipe

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

    dwarfjay
    dwarfjay 2014/02/02
    放置ぎみなのが勿体ない
  • 小説家になろうのランキングをトピックモデルで解析(gensim) - 唯物是真 @Scaled_Wurm

    小説家になろうというWeb小説投稿サイトがあります。 いわゆるライトノベル的な作品が多いのですが、近年書籍化される作品が多く出ていて注目を集めています。 続々と「小説家になろう」から書籍化作品が登場! - フラン☆Skin はてな支店 小説を読もう! || 小説ランキング[累計]の上位100件を解析して、どんな作品が多いのか調べてみました。 解析手法 トピックモデルというものを用います。 これは文書が何のトピックを含むかを推定してくれるモデルで、他にもトピックの代表的な単語などもわかります。 Pythonでトピックモデルを使えるライブラリの一つであるgensim: Topic modelling for humansを使います。 gensim gensimはLDAやLSIなど複数のトピックモデルを実装しています。 今回はLDA(Latent Dirichlet Allocation)という

    小説家になろうのランキングをトピックモデルで解析(gensim) - 唯物是真 @Scaled_Wurm
  • 羽生さんが駒を一度も後退させずに勝った対局 - inaniwa3's blog

    はじめに 先日、第2回電王戦の第1局を見に、ニコファーレに行ってきました。 そのとき、聞き手の矢内さんが「羽生さんが駒を一度も後退させずに勝った対局ある」というお話をされていて、 会場は90へぇくらいの雰囲気になっていました。 ただ、具体的にどの対局という話はなく、矢内さんも「間違ってたらごめんね☆」という感じだったので、 実際に調べてみました。 使ったもの 2ちゃんねる棋譜 Blunder.Converter Python 2.6.8 (Cygwin) 方法 駒が後退したかどうかを判定するのにはCSA形式が都合がよさそうだったので、 Blunder.Converterを使用して、2ちゃんねる棋譜のKI2形式をCSA形式に変換しました。 その後、最近勉強中のPythonで棋譜を抽出するコードを書きました。 コード #!/usr/bin/python # coding: UTF-8 impo

    羽生さんが駒を一度も後退させずに勝った対局 - inaniwa3's blog
  • 関数型プログラミング HOWTO — Python 3.3.6 ドキュメント

    この文書では、関数型スタイルでプログラムを実装するのにピッタリな Python の機能を見てまわることにしましょう。まず関数型プログラミングという概念を紹介したあと、 iterator や generator のような言語機能、および itertools や functools といった関連するライブラリモジュールを見ることにします。 はじめに¶ この章は関数型プログラミングの基概念を説明します; Python の言語機能についてだけ知りたい人は、次の章まで飛ばしてください。 プログラミング言語とは問題を分解するものですが、各言語がサポートする分解方法にはいくつかの種類があります: ほとんどのプログラミング言語は 手続き型 です: プログラムは、入力に対して行うべきことをコンピュータに教える指示リストとなります。 C, Pascal, さらには Unix シェルまでもが手続き型言語に入り

  • 間違ったコードは間違って見えるようにする - The Joel on Software Translation Project

    Joel Spolsky / 青木靖 訳 2005年5月11日 水曜 私が最初の当の仕事をはじめたのは1983年9月に遡る。それはオラニムというイスラエルの大きな製パン工場で、16台の飛行機ほどもある巨大なオーブンで、毎晩10万個のパンが作られていた。 はじめて工場に入った時、そのあまりの汚さに信じられない思いだった。オーブンの側面は黄ばんでいるし、機械は錆びていて、そこらじゅうが油だらけだった。 「いつもこんなに汚いの?」と私は聞いてみた。 「なんだって? なんの話をしてるんだ?」とマネージャが答えた。「掃除したばかりだから、今が一番きれいな状態なんだ」 なんてこった。 毎朝の工場の清掃を何ヶ月か続けて、ようやく彼らの言っていたことが理解できるようになった。パン工場では、きれいというのは機械にパン生地が付いてないことを言うのだ。きれいというのは、ゴミ箱に発酵したパン生地が入ってないこと

  • Bug 378929 – dev-python/nose-1.1.1 fails to install - '/usr/bin/nosetests-2.7' already exists

  • 不完全にしておよそ正しくないプログラミング言語小史

    1801 – ジョセフ・マリー・ジャカールがパンチカードを使った織機によってタペストリーに"hello, world"と織り出す。しかしラッダイト (当時のRedditer) たちは、テールリカージョン、並行処理、大文字小文字の区別を欠いていたため、さほど感心しなかった。 1842 – エイダ・ラブレスが最初のプログラムを書く。彼女の努力は、プログラムを実行するコンピュータが実のところ存在しないというマイナーな問題のために頓挫した。後にエンタープライズアーキテクトたちはプログラムをUMLで書くために彼女のテクニックを再び学ぶことになる。 1936 – アラン・チューリングが存在しうるあらゆるプログラミング言語を発明するが、特許化する前に英国情報部員(後の007)によって抹殺される。 1936 – アロンゾ・チャーチも存在しうるあらゆる言語を発明しているが、より巧みに行った。チャーチのラムダ

  • Why learning Haskell/Python makes you a worse programmer « All Unkept

    I've found, contrary to what you sometimes read, that learning Python and Haskell has not improved my programming using other languages. Haskell in particular, being so different from imperative languages, is supposed to give new insights into programming that will help you even when you are not using the language. My current experience doesn't exactly tally with this, and here is why: Demotivatio

    dwarfjay
    dwarfjay 2011/06/25
    ワロタ
  • 210:Pythonのライブラリローダを制御する

    検索パスの追加 モジュール・パッケージのインポートを行った際、これらが探されるパス「検索パス」を追加する方法を紹介します。 最も簡単な方法はおそらく .pth ファイルの追加です。 sys.path sys.path は「検索パス」そのものです。 import 文が実行された時、 Python は sys.path リストの先頭から順番に該当するモジュール・パッケージを探し出します。この sys.path は単なるリストなのでプログラム中で動的に変更できます。また、追加するだけでなく削除することもできます。 他の方法は Python インタプリタ起動時における sys.path の初期化処理を変更するものです。 .pth ファイル .pth という拡張子のファイルを検索パスに入れておくことで、 sys.path の末尾に検索パスを追加しておくことができます。 .pth ファイルは検索パスに

  • [python]自作モジュールどこに置きますか? « PHCJ

    まえがき 自作モジュールを作成していると、そのうち使いまわしたいものがでてきます。 そんなとき、毎回実行ファイルと同じフォルダにモジュールファイルをコピーするのはめんどくさいし、なんとか良い方法がないかな。。とgoogle先生に聞いてみました。 pythonのインポートの参照順序 pythonのインポートの参照順序は、次のとおりらしい。 1 実行中のファイルと同じフォルダ 2 カレントフォルダ 3 環境変数「PYTHONPATH」で設定したフォルダ 4 sys.pathで設定したフォルダ こらむ 上記4のsys.pathってやつは、さくらインターネットでpythonの自作モジュールを使用する際に知らず知らずに使ってました^^; import sys sys.path.append('/home/oceanmarine/lib/python') import handler 結論

  • Python で部分適用 - functools モジュールの partial 関数

    1. Python は一部の引数を与えて関数を呼び出すことができない Haskell では、関数に複数の引数があるとき、先に一部の引数のみ渡しておき、後から残りの引数を渡すことができる。一部の引数を与えることを「部分適用」と言う。 Python では、普通そういうことはできない。例えば、3つの引数を足し合わせる関数 addThree 関数に対して、1つの引数だけ与える。 def addThree(a,b,c): return a + b + c print addThree(1) 上記を実行すると、引数が足りないとエラーが表示される。 exceptions.TypeError: addThree() takes exactly 3 arguments (1 given) 2. functools の partial 関数で部分適用 6.6 functools モジュールの partial