タグ

pythonに関するkitokitokiのブックマーク (152)

  • Pythonの環境構築を自分なりに整理してみる

    機械学習ブームなどにより、 Python を触り始める Rubyist が増えてきたと思います。その際に問題になりやすいのが環境構築です。Rubyだと rbenv がデファクトスタンダードになっているのに、なぜか Python に… 私の立ち位置もともとは、数年前まで 年に一回Python3でNLTKやらscikit-learnやら機械学習や自然言語処理の環境を作ろうと試みては失敗してPython使うものかと思っていた人でした。それが、Anacondaで環境導入すると、面倒なことは何も考えずに済むということを知り、CookpadではAnacondaを前提に環境構築を勧めていました。 今は、ymotongpooに「郷に入っては郷に従え」と言われたため、pip+virtualenv/venvで全てをこなしていますが、これで困ったことは特にありません。macOS, Windows, Linux

    kitokitoki
    kitokitoki 2019/06/03
    “Ubuntuで apt install python-dev とするとPython 2.7が apt install python3-dev をすると今ならPython 3.6が入ります。”
  • Python3 プログラミング勉強会

    5. unotools (1) ● unotools ( ゆーのつーるず ) – Python3 のみ対応 – OpenOffice.org/LibreOffice の UNO ( ゆーの ) を簡 単に使うためのライブラリ ● PyUNO のラッパーライブラリ – OpenDocument 形式を Python から簡単に扱う – まだアルファレベルだけど簡単なことはできる ● 初めて Python3 でコードを書いたら楽しかった この勉強会を開こうと思ったきっかけ 6. unotools (2) ● 使い方/用途 – バッチ処理でのレポート生成 – OpenDocument から他のファイル形式へのフォーマット変換 ● 画像イメージ、 htmlpdf など $ soffice --accept='socket,host=localhost,port=8100;urp;StarOf

    Python3 プログラミング勉強会
  • tse - Text Stream Editor in Python - atsuoishimoto's diary

    久々にsedを使ってちょっとしたテキストを処理をしてたら、やっぱりこういうのもPythonで出来ないかなぁ思った訳である。Pythonスクリプトというのは改行とインデントが不可欠なので One Liner に向かないというのはご案内の通りだが、ちょっとは何とかなるんでないか。 昔、私がPythonを使い始めた頃のPythonはとことんOne Linerに向いていなくて、そんなこと考える自体時間の無駄だったが、今はだいぶ状況が違う。文字列にはちゃんとメソッドがあるし、リスト内包も使える。AWKみたいなマッチング機能とあわせて使えるようにすれば、意外と使い物になるんではないかというアイデアだ。 作ってみると、結構簡単にプロトタイプができた。 http://pypi.python.org/pypi/tse tse ではAWKのように、条件と条件が満たされた時に実行される処理のペアを tse -s

    tse - Text Stream Editor in Python - atsuoishimoto's diary
  • 記事一覧 - atsuoishimoto's diary

    あたらしく自前のBlog https://aish.dev をつくりましたので、こちらはもう更新しないつもりです。 https://aish.dev は、自作のMiyadaiku というSSGを使い、Github actionを使ってGithub pagesで公開しています。 編集環境としては専用のJupyterLab環境を用…

    記事一覧 - atsuoishimoto's diary
  • toofishes.net - Music metadata visualization in Python

  • GitHub - fgallina/python.el: Python's flying circus support for Emacs

  • pywhchを作成 - podhmoの日記

    まちがい 概要 easy_installなどで入ったコマンドの在り処を調べる。 % pywhich sphinx-build #/usr/local/lib/python2.6/dist-packages/sphinx.py 動機 easy_installやpipで入ったコマンドが、どこで定義されたものなのかわからない。 % cat `which sphinx-build` 例えば、sphinx-buildはこんな感じ。 #!/usr/bin/python # EASY-INSTALL-ENTRY-SCRIPT: 'Sphinx==1.0.5','console_scripts','sphinx-build' __requires__ = 'Sphinx==1.0.5' import sys from pkg_resources import load_entry_point if __n

    pywhchを作成 - podhmoの日記
  • 関数型プログラミング HOWTO — Python v2.6.2 documentation

    (これは下書きです。原文に関するコメント/間違い報告/提案は英語で amk@amk.ca まで。) この文書では、関数型スタイルでプログラムを実装するのにピッタリな Python の機能を見てまわることにしましょう。まず関数型プログラミングという概念を 紹介したあと、 iterator や generator のような言語機能、 および itertools や functools といった関連するライブラリ モジュールを見ることにします。 はじめに¶ この章は関数型プログラミングの基概念を説明します; Python の言語機能についてだけ知りたい人は、次の章まで飛ばしてください。 プログラミング言語とは問題を分解するものですが、 各言語がサポートする分解方法にはいくつかの種類があります: ほとんどのプログラミング言語は 手続き型 です: プログラムは、 入力に対して行うべきことをコンピュ

  • 無名クラスを作る【Python】 - Programming Magic

    Pythonには辞書があるため、無名クラスや匿名クラスなどと言われるものが必要になることはあまりないが、引数に簡単なクラスのインスタンスを取る関数などを使う場合に無名クラスがほしいこともある。 Pythonでは以下のように、オブジェクトの型を調べるtypeを使って、無名クラスを作ることができる。 obj = type('',(),{})() 基的にtypeは型を調べるために使われるが、実は型を作ることもできる。型を作る場合には、第一引数に型名、第二引数に継承するクラス、第三引数にメンバを指定し、以下のようにクラスを作る。 Person = type('Person', (), { 'name': u'名無しさん', 'age': u'?', '__unicode__': lambda self: u'%s(%s)' % (self.name, self.age), }) これは以下のよう

  • None is None is None: メタプログラミングパターン (1) 特異メソッド

    2009年7月21日 メタプログラミングパターン (1) 特異メソッド 『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)の例をPythonに変換して書いています。 目次 Ruby向けデザインパターンその2。 メタプログラミングは動的言語の専売特許ではありません。 静的なC++では、テンプレートやマクロを使ってメタプログラミングをします。 それはつまり、メタプログラミング用に実行時とは別の言語を用意するということです。 (「使える言語」にC++(runtime)とC++(compile time)の2種類を書くというジョーク?があります。) しかし、動的言語のPythonならばより自然に柔軟な記述が可能です。 コンパイル時と実行時の区別が無く、クラスやオブジェクトを、リストや辞書並みに、バリバリ変更できるので、メタプログラミング用にPython自身を使え

  • Good night, Posterous

    Posterous Spaces is no longer available Thanks to all of my @posterous peeps. Y'all made this a crazy ride and it was an honor and pleasure working with all of y'all. Thanks to all of the users. Thanks to the academy. Nobody will read this.

  • Rolling with Ruby on Rails

    Now, next, and beyond: Tracking need-to-know trends at the intersection of business and technology AI/ML Few technologies have the potential to change the nature of work and how we live as artificial intelligence (AI) and machine learning (ML). Future of the Firm Everything from new organizational structures and payment schemes to new expectations, skills, and tools will shape the future of the fi

    Rolling with Ruby on Rails
  • pyhack5 DocTestで覚えるTDDのリズム

    Python Hack-a-thon 5 ハンズオン 中級コース¶ DocTestで覚えるTDDのリズム¶ 担当: 清水川 このハンズオンでは、以下の内容について体験していきます。 PythonのDocTestを使ってみよう TDDをDocTestでやってみよう 環境¶ WindowsでもMacでもUnix系でも。 Pytohn2.6~3.x ただしこの資料は2.6しか動作保証しません Test Driven Development について¶ Test Driven Development = TDD, 日語で言うと テスト駆動開発 です。 TDDはその名の通り、テストで開発を駆動する手法で、簡単に言うと以下の ステップで実装を進めていきます。 テストコードを書く テストを実行する(実装前なのでエラーになる = RED) テストコードを通す実装をする(fake it) テストを実行する

  • Good night, Posterous

    Posterous Spaces is no longer available Thanks to all of my @posterous peeps. Y'all made this a crazy ride and it was an honor and pleasure working with all of y'all. Thanks to all of the users. Thanks to the academy. Nobody will read this.

  • エキスパートPythonプログラミング読書会04に参加しました - forest book

    エキスパートPythonプログラミング読書会04 : ATND に参加してきました。 今回は第3章のクラスのお話です。私は小規模開発や普通のアプリケーション開発にしか携わったことがないのですが、wikipedia:オブジェクト指向プログラミング を行うところの、質的な良さや恩恵を実体験をもってはあまり理解できていません。とはいえ、そういった仕組みを理解して、より良いアプリケーション開発に有用なら使ってみたいですよね。そんな風に考えながら聞いていました。読書会で @shimizukawa が解説していた内容の中で聞いていて私が印象に残ったことを整理してみます。 特殊メソッドを定義することで構文の振る舞いを簡単に実装できる 組み込み型の str を継承した mystr を定義して文字列の連結と比較を細工してみましょう。以下のサンプルでは、特殊メソッド __add__() で文字列の連結処理を

    エキスパートPythonプログラミング読書会04に参加しました - forest book
  • The History of Python.jp

    今日は何度も「なぜPythonの整数の割り算はC言語のようにゼロに向けて丸めるのではなく、切り捨てなのか?」と聞かれた。 数値が両方とも正の場合には、何も驚くようなことは発生しない。 >>> 5//2 2 しかし、どちらかの数値が負の場合、結果は切り捨てられる。言い換えると、ゼロから遠い方向(負の無限大方向)に向けて丸められる。 >>> -5//2 -3 >>> 5//-2 -3 この挙動は何人かの人を混乱させたようであるが、このような実装になっているのは数学的な根拠がある。整数の割り算の演算子(//)と、その弟の余りを計算する演算子(%)は、次のような数学的な関係を保っている。すべての変数は整数とする。 a/b = q あまり r これは、次のような関係性を持っている。 b * q + r = a かつ 0 <= r < b (ただし、a, bはともに0以上の整数) もしも、この式の関係

  • Good night, Posterous

    Posterous Spaces is no longer available Thanks to all of my @posterous peeps. Y'all made this a crazy ride and it was an honor and pleasure working with all of y'all. Thanks to all of the users. Thanks to the academy. Nobody will read this.

  • Good night, Posterous

    Posterous Spaces is no longer available Thanks to all of my @posterous peeps. Y'all made this a crazy ride and it was an honor and pleasure working with all of y'all. Thanks to all of the users. Thanks to the academy. Nobody will read this.

  • Python開発環境 | Go for it!

    Pythonバージョン 2.5 or 2.6を使う。 3.xはまだ時期尚早というか、DjangoGoogle App Engineが対応していないので事実上選択肢にならない (DjangoGoogle App Engineが対応したら移行が加速すると思います)。 ちなみに、RedHat LinuxにはPython 2.4がプリインストールされていますが、 SQLiteが動かないなど開発作業を行うにあたってはちょっと厳しい。 ソースコンパイル 、 EPEL からyumで拾う、aptitude install python2.5するなどなど、お好きな方法でインストールしてください。 MacOSXならMacPortsが便利です。 パッケージ管理 とりあえずsetuptoolsとpip入れましょう。 setuptools pip setuptools入れ方: wget http://peak.

  • ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ)

    ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ) Peter Norvig / 青木靖 訳 前のエッセイでは、90行のPythonコードでシンプルなLispインタプリタを書く方法を示した(lis.py)。このエッセイでは、3倍込み入っているが、より完全なlispy.pyを実装しよう。それぞれの節で1つの機能追加を扱っている。 (1) 新しいデータ型 - 文字列、論理型、複素数、ポート Lispyへの新しいデータ型の追加は3つの部分からなる。データの内部表現、それを扱う手続き、読み書きのためのシンタックスだ。ここでは4つの型を追加する(入力ポート以外はPythonのネイティブ表現をそのまま使う)。 文字列 文字列リテラルはダブルクォーテーションで囲まれる。文字列の中で \n は改行を、\" はダブルクォーテーションを意味する。論理型  構文 #t と #f はTrue