タグ

Pythonに関するoasis440のブックマーク (36)

  • 『「コルーチン」とは何だったのか?』の裏話的な何か、とPythonコルーチン - bonotakeの日記

    いきなりですが、n月刊ラムダノートが創刊されました。めでたい。 www.lambdanote.com で、この中にある @mametter さん執筆の記事『「コルーチン」とは何だったのか?』に僕はがっつり関わっていました。 後述しますが、僕と彼とのオンラインでのやり取りの中で記事が書き始められ、方針が決まっていった感じです。 なので、出版を記念してそのへんの経緯を振り返り、また僕なりの感想をまとめようかと思います。 ……と思ったんですが、改めてやりとりのログを見返してたんですがアホほど膨大な量になっていて、とても全部振り返るのは無理だと悟りました。 なのでざっくりと。 当該の記事と一緒に読まれることを想定していますので、その記事で語られていることの説明はある程度省いています。 数時間前に @mametter さんが草稿を公開↓したので、そちらを読んでくれても構いません(できれば買ってほしい

    『「コルーチン」とは何だったのか?』の裏話的な何か、とPythonコルーチン - bonotakeの日記
  • これでprintデバッグから卒業!VS CodeでPythonデバッグ入門 - karaage. [からあげ]

    追記:VS Codeの入門書をZennでリリースしました ブログで扱ったVS Code関連の記事をまとめて、無料の電子書籍としてZennというプラットフォームでリリースしました。よければ、こちらも参考にしてみてください。 printデバッグから卒業したい! プログラムを書いて問題があったとき必要なのがデバッグですね。私はいつも問題が起こったとき、問題ありそうなところで print(ほにゃらら)として、気になるものを一つずつ中身を確認していました。 デバッガという言葉は知っていて、何度か試したことはあるのですが、いちいちコマンドを打つのが大変で、次にデバッグが必要なときは既にデバッガの使い方を忘れてしまい、結局また1からprintデバッグをするという体たらくでした。 しかし、いい加減もうちょっとレベルアップしないといけないと思い立ったのと、VS Codeというエディタを使いこなすと結構楽にデ

    これでprintデバッグから卒業!VS CodeでPythonデバッグ入門 - karaage. [からあげ]
  • moco(beta)'s backup: 辞書内包/Pure Python実装の形態素解析器 Janome を公開しました

    一応の基機能がととのったので、できたてほやほやではありますが、Python製の形態素解析器 Janome を公開しました。 http://mocobeta.github.io/janome/ インストール方法や使い方は上記ページを見てください。 ソースコードはGithubにおいています: https://github.com/mocobeta/janome 【公開にいたった背景など】 日語テキストを分析したりテキストマイニングする場合、まずは形態素解析から始めると思います。 Python の場合、そのためには MeCab をインストールして、mecab-ipadic をインストールして、mecab-python をインストールする、という手順を踏むことが多いと思うのですが、環境依存のところでハマって面倒な思いをしたり、サーバ構築の手間がかかったり、しますよね。なので、Pythonモジュ

  • PyQ - 本気でプログラミングを学びたいあなたへ

    必要なのはブラウザだけプログラミングを始める時に、最初につまづくのが環境構築です。 PyQでは環境構築なしで、ブラウザをひらけば10秒でプログラミングを始められます。 読む・書く・動かすサイクルで定着PyQのエディター画面では、実際にブラウザの後ろでPythonが動いています。これにより、教材を読む→コードを書く→実際に動かすという流れを画面内で完結できます。もちろん、自分で内容を変更して、動かして試してみることもできます。 あなたの興味に寄り添う、1500問以上から選べるコンテンツPyQでの学習は、数個の問題からなる「クエスト」という単位で進みます。 600クエスト・1500問以上存在するすべてのクエストは、好きな順に学び放題。 関連の深いクエストはパート・コースにまとめられており、 直感的に様々なクエストを組み合わせて、自分の興味のある分野を学べます。

    PyQ - 本気でプログラミングを学びたいあなたへ
  • Effective Pythonを読んで心に響いたこと - MyEnigma

    Effective PythonPythonプログラムを改良する59項目posted with カエレバBrett Slatkin オライリージャパン 2016-01-23 Amazonで探す楽天市場で探すYahooショッピングで探す 目次 目次 はじめに Pythonのランタイムの種類 プライベート属性はアンダーバーを2つ先頭におく リストや文字列の空判定にlenなどは使わない mapやfilterよりもリスト内包表記を使う rangeよりはenumarateを使う オプションのキーワード引数は、位置ではなくキーワードで与えるとコードが読みやすい どんなクラスオブジェクトでも__dict__ですべてのフィールド辞書にアクセスできる Pythonコードのプロファイルを取るにはcProfileを使うと便利 参考資料 MyEnigma Supporters はじめに 以前、C++の名著Ef

    Effective Pythonを読んで心に響いたこと - MyEnigma
  • 『Pythonで体験するベイズ推論 ―PyMCによるMCMC入門―』の書評 - StatModeling Memorandum

    特長 Pythonユーザが待ちに待ったPythonによるMCMCではないでしょうか。原著タイトルが『Bayesian Methods for Hackers』だけあって、プログラマ・エンジニア向きだと思います。数式はびっくりするほど出てこない代わりに、Pythonコードは非常にたくさんでてきます。そしてPyMCの使い方が基礎から説明してあって丁寧です。自分でコーディングする際は原著のGitHubリポジトリを活用しましょう(なんとStarが10000個を超えてる!)。 Pythonで体験するベイズ推論 PyMCによるMCMC入門 作者: キャメロン・デビッドソン=ピロン,玉木徹出版社/メーカー: 森北出版発売日: 2017/04/06メディア: 単行(ソフトカバー)この商品を含むブログを見る 購入を迷っている人の一番の心配は、書のPyMCのバージョンが1つ前のPyMC2であることだと思

    『Pythonで体験するベイズ推論 ―PyMCによるMCMC入門―』の書評 - StatModeling Memorandum
  • 機械学習の基礎の基礎、行列計算に欠かせないNumPyの基本的な使い方

    プログラミング言語「Python」は機械学習の分野で広く使われており、最近の機械学習/Deep Learningの流行により使う人が増えているかと思います。一方で、「機械学習に興味を持ったので自分でも試してみたいけど、どこから手を付けていいのか」という話もよく聞きます。連載「Pythonで始める機械学習入門」では、そのような人をターゲットに、Pythonを使った機械学習について主要なライブラリ/ツールの使い方を中心に解説していきます。 連載第1回の「Python機械学習/Deep Learningを始めるなら知っておきたいライブラリ/ツール7選」では、ライブラリ/ツール群の概要を説明しました。前回は、その中でもJupyter Notebookの基操作と設定について説明しました。 今回から連載第1回で紹介した各種ライブラリを使う具体的なコードを例示していきますが、Jupyter Not

    機械学習の基礎の基礎、行列計算に欠かせないNumPyの基本的な使い方
  • Python 2.7.x と 3.x の決定的な違いを例とともに | POSTD

    Pythonを始めたばかりのユーザーの多くが、どちらのバージョンを使えばいいのか迷っています。私の答えは、「気に入ったチュートリアルに書かれているバージョンにしましょう。そして、あとで違いを調べてください」という言葉につきます。 それでは、新しいプロジェクトを始めるときにはどちらを選べばいいのでしょうか? 使おうとしているライブラリを全てサポートしているなら、2.7.x系と3.x系のどちらを使ってもよいでしょう。そうはいっても、この2つのメジャーバージョンについて大きな違いを見ておくのは良いでしょう。どちらかのみでコードを書いたり、プロジェクトに使おうとしている時によくある落とし穴を避けられるからです。 __future__ モジュール Python 3.x で導入されていて Python 2 で使えないキーワードについては、 __furute__ モジュールをインポートすることで Pyt

    Python 2.7.x と 3.x の決定的な違いを例とともに | POSTD
  • Jupyter Notebook を使ってみよう

    ページでは、Jupyter Notebook の概要と基的な使い方について紹介します。 Jupyter Notebook とは Jupyter Notebook (読み方は「ジュパイター・ノートブック」または「ジュピター・ノートブック」) とは、ノートブックと呼ばれる形式で作成したプログラムを実行し、実行結果を記録しながら、データの分析作業を進めるためのツールです。 プログラムとその実行結果やその際のメモを簡単に作成、確認することができるため、自分自身の過去の作業内容の振り返りや、チームメンバーへ作業結果を共有する際に便利なほか、スクール形式での授業や研修などでの利用にも向いています。 このようなノートブック形式で分析作業を行うためのツールとしては、微分積分などの科学技術系計算ソフトウェアの Mathematica (マセマティカ) や Spark, Hadoop などの並列分散処理シ

  • 【Python環境整備】脱NeoBundle。超便利補完プラグインjedi-vimの環境をdeinで整えて快適になる設定までやる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    【Python環境整備】脱NeoBundle。超便利補完プラグインjedi-vimの環境をdeinで整えて快適になる設定までやる - Qiita
  • HomebrewのインストールからpyenvでPythonのAnaconda環境構築までメモ - Qiita

    はじめに PythonのAnaconda環境を構築していく際に、各ツールの導入記事は色々見つかったのですが、Homebrewのインストールから通しで解説している記事がなかったため、自分の備忘録も含めてまとめました。 Pythonの仮想環境管理ツールはPyenv以外にもいろいろありますが、今回は情報の多さと使い勝手のシンプルさの面でPyenvを採用しています。 用語のまとめ Homebrew:「Mac OS Xオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつである」 by wikipedia 追記:HomebrewはmacOSに加えてLinuxWindows (WSL)環境での実行を公式にサポートしました。 pyenv:様々なバージョンのPythonを管理するツール。導入することで,Python v2系とv3系など,複数のバージョンの切り替えが容易に

    HomebrewのインストールからpyenvでPythonのAnaconda環境構築までメモ - Qiita
  • データサイエンティストを目指す人のpython環境構築 2016 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? pythonの環境構築について "python 環境構築"でググると20万件くらいヒットしますが、割と内容が古いです。 タイトルにはデータサイエンティストと書いてありますが、データサイエンティスト以外にもanacondaはおすすめです。 2.x or 3.x? 3.xは動かないライブラリが多いので2.x推奨 > 3.xで動かないライブラリがある、くらいまで来ました。 easy_installでpipを入れて、setuptoolsも入れて、でもwheelというのもあって... > 古いです。 virtualenv 必須 > そんなこともな

    データサイエンティストを目指す人のpython環境構築 2016 - Qiita
  • reStructuredText入門 — Sphinx 1.4.4 ドキュメント

    reStructuredText入門¶ このセクションは、reStructuredText(reST)の考え方や文法についての短いイントロダクションです。Sphinxユーザがドキュメントを作成するために十分な情報を提供します。reSTはシンプルに設計された、控えめなマークアップ言語ですので、理解するのにそれほど時間はかからないでしょう。 段落(パラグラフ)¶ 段落(ref)はreSTドキュメントにおける、もっとも基的な要素です。段落は1行以上の空行で区切られた、シンプルなテキストの固まりです。 Pythonにおいてインデントが重要な意味を持つのと同様、reSTでもインデントは重要です。同じ段落のすべての行は、インデントを同じ高さにそろえて、左揃えにしなければなりません。 インラインマークアップ¶ 標準のreSTインラインマークアップは極めてシンプルです。 アスタリスク1つ: *テキスト*

  • CognosからPrestogres経由でPrestoにつないだ話 - wyukawa's diary

    先週いろいろとやっていてfrsyukiさんのおかげで動くようになったのでメモっておきます。 CognosはBIツールです。Prestoはみんな知ってるよね。 Prestogresが何かはこちらを参照。 http://www.slideshare.net/frsyuki/presto-meetup 要はBIツールからPrestoにつなぐ際のゲートウェイです。枯れたPostgreSQLのJDBC/ODBCツールを使ってPrestoにつなごうという話。 https://github.com/treasure-data/prestogres の「How it works?」のところを見ればなんとなく動きが想像できると思います。 PrestogresはメインがRubyで後はCとPythonの合作になっています。Cが出てくるのはpgpool-IIをいじっているため。Pythonが出てくるのはPL/Py

    CognosからPrestogres経由でPrestoにつないだ話 - wyukawa's diary
  • PythonでWebアプリつくるのにDotCloudに登録しない手はない - YAMAGUCHI::weblog

    はじめに サエンバイノー(こんにちは)、Python界のメンソレータムです。さても杓子もクラウドの時代ですが、みなさんいかがお過ごしでしょうか。先日ふと「DotCloud」というサービスを見かけてベータ登録したので、ご紹介致します。 DotCloudってなに? dotCloud - One home for all your apps DotCloudはいままでWebアプリケーションホスティングサービスの中で期待されていた領域に切り込もうとしてますよ。まず使える言語はPHP, Ruby, Python, Javaがいまのbetaの時点で使えて、さらにこれからリクエストがある言語にも対応しようとしてます。(ErlangとかSchemeとか)で、DBとかMQとかすでに有名所はいくつか使えて、なんでもリクエストがあれば対応するぜ!っていう勢い。またスケールに関してもスケールアップ、スケールアウ

    PythonでWebアプリつくるのにDotCloudに登録しない手はない - YAMAGUCHI::weblog
  • いやなブログ: 配列操作の比較表: Ruby, Python, JavaScript, Perl, C++

    配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)

  • Python 3が後方互換性を捨ててでも求めたもの

    Python 3が後方互換性を捨ててでも求めたもの:よりPythonicなPythonを目指して(前編)(1/2 ページ) Python 3.0では、Python 2で書かれたスクリプトが動かなくなるような実装が行われた。なぜ、後方互換性を崩してまで大きな仕様変更を行ったのか。それは、PythonがよりPythonらしくあるためだ。 2008年12月4日、Python 3.0がリリースされました。これまで「Python 3000」や「Py3k」という愛称で呼ばれ、Pythonの次期メジャーバージョンとして開発されていたものです。 メジャーバージョンアップといっても、基的な文法、インデントを使ったブロック表記や基的な機能の多くはPython 2から引き継いでいます。Pythonの持つシンプルで一貫性のある設計思想を受け継ぎ、よりPythonicなPythonへと言語をステップアップさせる

    Python 3が後方互換性を捨ててでも求めたもの
  • Pythonでタイムゾーンを扱うメモ – taichino.com

    だと普段扱わないので、忘れがちなタイムゾーンの処理をメモ書きです。ここでは例として、日時間とアメリカ東海岸標準時の変換してみます。 まず標準ライブラリだけで処理すると以下のような書き方をするようです。各時間帯ごとにdatetime.tzinfoを継承したクラスを作成し、その中でUTCからの時間のずれ等を設定します。 #!/usr/bin/python # -*- coding: utf-8 -*- import datetime # 日時間 class JST(datetime.tzinfo): # UTCからの時間のずれ def utcoffset(self, dt): return datetime.timedelta(hours=9) # サマータイム def dst(self, dt): return datetime.timedelta(0) # タイムゾーンの名前 de

  • PEP 343 – The “with” Statement | peps.python.org

    PEP 343 – The “with” Statement Author: Guido van Rossum, Alyssa Coghlan Status: Final Type: Standards Track Created: 13-May-2005 Python-Version: 2.5 Post-History: 02-Jun-2005, 16-Oct-2005, 29-Oct-2005, 23-Apr-2006, 01-May-2006, 30-Jul-2006 Table of Contents Abstract Author’s Note Introduction Motivation and Summary Use Cases Specification: The ‘with’ Statement Transition Plan Generator Decorator C

    PEP 343 – The “with” Statement | peps.python.org
  • モジュールの遅延ロードについて - 偏った言語信者の垂れ流し

    AppEngineでスピンアップが遅くなり過ぎないようにとか考えると、Pythonでもモジュールの遅延ロードをしないといけないわけで、まあ書く。 app.yaml この例ではすべてのリクエストをmain.pyで受ける。 application: nullpobug-sandbox version: 1 runtime: python api_version: 1 handlers: - url: .* script: main.py main.py WSGIアプリケーションの形にしてます。PATH_INFOの値で実行するアプリケーションを切り替えてます。 # coding: utf-8 import sys from google.appengine.ext.webapp import util def load_app(name): """ モジュールからアプリケーション関数をロードする

    モジュールの遅延ロードについて - 偏った言語信者の垂れ流し