タグ

pythonに関するtri-starのブックマーク (12)

  • Pythonメモ : bulletでインタラクティブなコマンドラインツールを簡単に作成 - もた日記

    bullet インストール 使い方 オブジェクト 色変更 bullet github.com bulletを使うとPythonでコマンドラインツールを開発するときに図のようなインタラクティブプロンプトを簡単に作成できる。 インストール pipコマンドでインストールできる。 $ pip install bullet 使い方 基的な使い方は以下のとおり(このページにサンプルプログラムがある)。 Bulletオブジェクトを使うと単一選択のプロンプトを作成できる。 from bullet import Bullet cli = Bullet( prompt = "Please choose a fruit: ", choices = ["apple", "banana", "orange", "watermelon", "strawberry"] ) result = cli.launch()

    Pythonメモ : bulletでインタラクティブなコマンドラインツールを簡単に作成 - もた日記
  • 【2021】モダンなPython開発環境の紹介 - Qiita

    📌 はじめに Pythonで開発を行うにあたり、リンタやフォーマッタ、パッケージマネージャ等のツールの選定は非常に重要な問題です。一方で歴史的な経緯もあり、沢山の選択肢から何を選ぶべきか情報がまとまっていないように感じました。この記事では2021年9月時点でモダンと言えるであろう開発環境を紹介します。基的にはシェアが高いこと、著名なパッケージで使用されていることを主な選定理由としており、また特定のエディタに依存しないことを前提とします。 記事で紹介する内容は一つのテンプレートに近く、必要に応じてカスタマイズするもよし、そのまま使ってもよし、として参考になればと思います。(CI/CDについてはPythonとは独立した問題なので触れません。またドキュメント生成はSphinxを推しますが、必須ではないので今回は割愛します。) 📄 要約 "モダン"な開発環境を箇条で列挙すると下記の通りです

    【2021】モダンなPython開発環境の紹介 - Qiita
  • なぜPythonにはsetter/getterメソッドがないのか? - Qiita

    概要 JavaC++などの他のオブジェクト指向言語ではsetter/getterメソッドの使用が推奨されているが、Pythonには存在しない。 もともとJavaC++に触れていた僕には「なぜPythonにはsetter/getterメソッドがないのか?」がすごく疑問だった。 さらに、Javaなどの言語の資料では 「クラス内部の変数はprivateにして隠蔽せよ」 と書いてあるが、逆にPythonの資料では 「privateはなるべく使わずpublicを使え」 と書いてあることが多い。 矛盾しているのでは...? 気になったのでいろいろ調べて見た結果、そこには2つの理由があることがわかった。 さらに、Pythonでsetter/getterを使いたい場合の1つの代替案があるということもわかった。 この記事では オブジェクト指向とカプセル化について Pythonにsetter/getter

    なぜPythonにはsetter/getterメソッドがないのか? - Qiita
  • Factory patternでデータベースのテストを効率化する

    An image of a factory from https://unsplash.com/photos/6xeDIZgoPawはじめにこんにちは, FinatextグループのNowcastでデータエンジニア/データサイエンティストをやっている隅田(@yummydum)と申します. データパイプラインを開発していると, データベースからデータを取り出し, 加工し, 結果を再度データベースに格納するという操作を(時には複雑なSQL等を通じて)行うことがよくあると思います. パイプラインの品質を高めるためにこれらの操作はしっかりテストされるべきです. テストの際にプロダクション環境のデータベースを使う訳にはいかないので, プロダクション環境に似せたテスト用のデータベースにテストデータを格納しておき, これをテストに用いれば良さそうです. しかし, テストデータはうまく管理しないと保守性や可

    Factory patternでデータベースのテストを効率化する
  • add ini option to disable string escape for parametrization by youknowone · Pull Request #4995 · pytest-dev/pytest

  • ちょっとしたツールを作るのに便利なPythonライブラリ - Qiita

    この記事は、LIFULL Advent Calendar 2017の2日目の記事です。 おはようございます。新UX開発部の二宮( @ninomiyt )です。 LIFULLではデータ解析や最適化の用途、もしくはAWS Lambda上の簡易ツール実装用途などでPythonがそれなりに普及してきました。数値計算寄りの(いわゆるデータサイエンティスト的な)メンバーも今はPythonを使うことが多く、コード量としては小規模なプロジェクトが多く、簡単なAPIやバッチ処理の実装までやってもらうこともあります。 そのレビューをやっていく中で、「これ使うともっと簡単に実装できるよね」っていうライブラリがいくつかまとまってきたので紹介します。 click コマンドラインパーサー用のライブラリで、デコレータを使って関数を簡単にCLI化できます。 標準ライブラリのargparseがありますが、clickではバリ

    ちょっとしたツールを作るのに便利なPythonライブラリ - Qiita
  • Pythonを書き始める前に見るべきTips - Qiita

    Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に

    Pythonを書き始める前に見るべきTips - Qiita
  • Pythonの日本語処理

    はじめに このページでは,Python 2.7系における日語処理について記述する. Python 3.x系については当てはまらないことが多いので,注意が必要である. 使える文字コード Pythonでは,日語は次のような文字コードを使って扱うことができる.プラットフォームによって使う文字コードが違う. UTF-8 (utf_8)…Unicodeの文字符号化の一つ.OS X環境の日語の文字コード. Shift-JIS (shift_jis)…パソコンで用いられていた日語の文字コード. ISO-2022-JP (iso2022_jp)…電子メールの送受信に用いられる日語の文字コード. EUC-JP (euc_jp)…Unix環境で用いられていた日語の文字コード. Code Page 932 (cp932)…Windows環境の日語の文字コード.Shift-JISの一つのバリエーショ

    tri-star
    tri-star 2015/04/03
    エンコーディング変換など
  • 第5回 multiprocessingモジュールによるプロセス間通信 | gihyo.jp

    multiprocessingモジュール multiprocessingモジュールは、Python2系列では2.6以降、3系列では3.0以降に標準となったモジュールです。このモジュールはthreadingモジュールに似たAPIでプロセス間通信などの機能を提供します。このモジュールにより、GILの問題を回避することができ、複数のCPUCPUコアの性能を生かすことができます。また、このモジュールはローカルのみならず、リモートでのプロセス間通信も行うことが可能で、簡単に分散処理などを実装することができます。 まず、GIL(Global Interpreter Lock)とはPythonのインタプリタ上で一度に1つのスレッドだけが動作するよう保証するためのロックです。このロックによって、同時に同じメモリにアクセスするスレッドが存在しないことを保証します。 しかしながら、このロックによって、一度に

    第5回 multiprocessingモジュールによるプロセス間通信 | gihyo.jp
    tri-star
    tri-star 2015/02/20
    PythonではGIL(Global Interpreter Lock)の関係でマルチスレッドだとパフォーマンスを出しきれず、マルチプロセスにした方が良いという話。
  • MySQL-python の Python 3 対応 - methaneのブログ

    去年10月に Python 3 の MySQL ドライバ事情 という記事で次のように書いていました。 多分デファクトスタンダードな MySQLドライバなのですが、現状リリースされている 1.2.4 では Python 3 対応ができていません。 Fork の MySQL-for-Python3 が推奨されます。 最近 MySQL-python の方に Python 3 対応の準備的な Pull Request (古い構文を Python 2/3 両対応の構文に置き換える) がちらほらあり、やっぱり中途半端にメンテされてない Fork より家に対応してもらわないとなぁということで、エイヤで Python 3 対応してしまって 少し大きめの Pull Request を投げました。 しかし、長年の実績がある家といえども、個人プロジェクトで、1年に数回しかコミットされてない現状です。 一応、

    MySQL-python の Python 3 対応 - methaneのブログ
    tri-star
    tri-star 2015/02/20
    Python3のMySQL-pythonの状況(2014-04-20)。Pythonに限らず同じような機能のライブラリが乱立して見えることがあるけど、それにはこういう背景もあるのかな、と思った。
  • Pythonでつくる検索エンジン(Webクローラ, Mecab, MongoDB, Flask) - c-bata web

    検索エンジン自作入門 ~手を動かしながら見渡す検索の舞台裏 作者:山田 浩之,末永 匡発売日: 2014/09/25メディア: 単行(ソフトカバー) (この記事で紹介しているのはTF-IDFとかの計算もない簡素なものです。) はじめに Webサービスのプログラミングに必要なことのだいたいは、スクレイピングに学んだ - Line 1: Error: Invalid Blog('by Esehara' ) この前↑の記事をみかけました。クローリングやスクレイピングは、色々と応用が効きそうなのでしっかり勉強したい。 PythonではScrapyという有名なクローリング・スクレイピング用のライブラリがありますが、今回は勉強としてScrapyを使わずに実装してみる。流れとしては以下のとおり Webクローラの構築 Mecabで日語の形態素解析 検索エンジンの構築 データをMongoDBに格納 Fl

    Pythonでつくる検索エンジン(Webクローラ, Mecab, MongoDB, Flask) - c-bata web
  • Python製負荷試験ツールLocustで、分散負荷試験環境を準備する - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Python製負荷試験ツールLocustで、分散負荷試験環境を準備する - Qiita
  • 1