タグ

pythonに関するkirakkingのブックマーク (12)

  • Pythonでリストを多用しがちな新人に贈りたい、array/tuple/set/queueの魅力と使い分けフローチャート - Qiita

    Pythonでリストを多用しがちな新人に贈りたい、array/tuple/set/queueの魅力と使い分けフローチャートPythonarray初心者tupleset はじめに みずほリサーチ&テクノロジーズの @fujine です。 Pythonのリストってとても便利ですよね。可変長で任意のオブジェクトを保存できるため、シーケンシャルなデータなら何でもリストで実装したくなる気持ち、分かります。 でもちょっと待ってください!リスト以外にも便利なコレクション型があること、ご存知でしょうか?コレクション型を適切に使い分けることで、 プログラムの意図を(ドキュメントに頼らなくても)読み手に的確に伝えられる パフォーマンスが向上する などの効果が期待できます。 そこで記事では、Pythonの組み込み型や標準ライブラリを対象に、リストと似たコレクション型をどのように使い分けるか?の案をフローチャー

    Pythonでリストを多用しがちな新人に贈りたい、array/tuple/set/queueの魅力と使い分けフローチャート - Qiita
    kirakking
    kirakking 2024/02/16
    何でもかんでもListではなく、適切なデータ構造を選ぼうという話。
  • Nimを知ってほしい2022

    Nimを知ってほしいという記事があり、Nimを知らなかった人々向けに最初の紹介として大変な貢献をしてくださりました。 しかしまだNimを使ったプロダクトというのも少なく、競プロではチラホラ見かけるものの、人々の中にある意識としては「気になっています」という域を越えられていないのも事実です。 そこで今回は企業での意思決定をする人や、5年以上の経歴があるエンジニア向けに、Nimを書いてみようと感じてもらうことを目的に、先日私が登壇したみんなのPython勉強会#79 『Pythonistaに伝えたいNimの魅力』に加筆して投稿してみたいと思います。 Nimって何? 2008年から開発が始まった新しいプログラミング言語です。 「Pythonに型が付いて、Goみたいに高速に、バイナリになってOSの実行環境に依存しないで動いてくれる言語ないかな〜」という全プログラマーの夢を叶えてくれる言語です。 書

    Nimを知ってほしい2022
  • pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator

    - はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂

    pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator
  • TheAlgorithms/Python: All Algorithms implemented in Python

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    TheAlgorithms/Python: All Algorithms implemented in Python
  • 漸進的型付けの未来を考える - -

    この記事はCAMPHOR- Advent Calendar 2017 11日目の記事です. アブストラクト 漸進的型付けは,ひとつの言語の中で静的型付けと動的型付けをスムーズに組み合わせるための技術です. よく知られた特徴は any 型を使った静的型付けで, TypeScriptPython といったプログラミング言語には既に実装されています. しかし,理論と実際のプログラミング言語の間には大きなギャップが存在します. 特に,漸進的型付けの理論で提案されているキャストを用いた動的型検査が実装されていないために, 静的型付けの恩恵を十分に得られていないという問題があります. この記事では,まず漸進的型付けの理論をコード例を用いて紹介し, 現状の漸進的型付き言語が抱える問題を解説します. そのあとで,漸進的型付き言語が目指すべき目標を理論的視点から論じます. それらの目標は,静的型付けを

    漸進的型付けの未来を考える - -
    kirakking
    kirakking 2017/12/11
    理想としては書くときは動的、実行時は静的のサイズ。
  • 100万倍速いプログラムを書く - Qiita

    この記事はなんなの プログラミングを始めたばかりで高速化の大枠が全くわからず意味不明なことをしていた在学時、こんな資料があったら良かったのになあ、と思って書いたもの。 書いて、在学時研究室に押し付けた後紛失したと思われていたものが発掘されたもの。 要約 ライブラリがあるならそれを使う。 ライブラリが無ければ、ボトルネック部分を探してそこだけ高速な言語で書きなおすか、可能なら事前コンパイルする。 最初から全てを Low-Level な言語で書くと大変、でも結果のプログラムは速い。 以下の時間の計測ではインポートにかかる時間は除いています。 使用するもの Python(3系) Numba Scipy Line Profiler Fortran(gfortran) QUADPACK QUADPACK以外の導入方法の説明は色んな所にあるので各自でお願いします。上3つに関しては、個人的にはAnaco

    100万倍速いプログラムを書く - Qiita
  • O'Reilly Media - Technology and Business Training

    More than 5,000 organizations count on our digital courses and more to help their teams learn the tools and technologies that drive business outcomes. We can help yours too. New AI policy for O’Reilly authors and talent O’Reilly president Laura Baldwin shares the company’s ethical approach to leveraging GenAI tools and ensuring O’Reilly experts are compensated for their work. Read it now It’s time

    O'Reilly Media - Technology and Business Training
  • はてな村民のPageRank - yamauk’s blog

    2015-06-01 はてな村民のPageRank id:yamaukと申します.最近はてな村にやってきた新参者です.よろしくお願いします. 新参者としましては,はてな村で有力なユーザが誰なのかを抑えておきたいところです.そこで簡単なプログラムを書いて,有力村民をリストアップしてみることにしました. 何をもって有力とするかは色々と考えられますが,今回は基的な方針として,はてなスターを沢山もらっているユーザを有力村民とみなすことにしました. ただし,付与されたスターの数をそのまま有力度とすることには色々と問題があるため,今回はPageRankと呼ばれる指標を使います*1.PageRankはWebページ間のリンク構造からページの重要度を決定するアルゴリズムですが,今回はスター付与の関係をリンク構造とみなし,ユーザの有力度の決定に用います.PageRankについてはWikipediaの記事を

  • 25.2. doctest — Test interactive Python examples — Python 2.7.18 documentation

    This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release. 25.2. doctest — Test interactive Python examples¶ The doctest module searches for pieces of text that look like interactive Python sessions, and then executes those sessions to verify that they work exactly as shown. There are several commo

  • Pythonのコマンドライン引数処理の決定版 docopt (あとJuliaに移植したよ) - りんごがでている

    Pythonをよく使う人にはよく知ってる人も多いのですが、docoptという便利ライブラリがあります。 docoptはargparseやoptparseのようなコマンドライン引数をパースするライブラリなのですが、その発想がコロンブスの卵なのです。 例えばPython標準のargparseだと、argparseのAPIを組み合わせてパーサを組み立てるわけです。するとパーサと一緒にヘルプも作ってくれて、"program --help"などとすると自動生成されたヘルプを表示してくれるようになります。 しかし、そのAPIを覚えるのが大変で、毎回ドキュメントを読まないと忘れちゃうわけです。 import argparse parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument

    Pythonのコマンドライン引数処理の決定版 docopt (あとJuliaに移植したよ) - りんごがでている
    kirakking
    kirakking 2014/06/14
    コロンブス!
  • PythonでLibreOfficeのマクロ | My note

    LibreOfficeのマクロはLibreOffice BASICが標準ですが、Pythonを使ってマクロを書くこともできます。 LibreOffice Calcの簡単なサンプル シートとセルを選択して値を読み書きするだけのスクリプトです。 def sample(): ここで定義する名前がLibreOffice Calc上でも表示されることになります。 doc = XSCRIPTCONTEXT.getDocument() シートの選択 名前から選択する場合 sheet = doc.getSheets().getByName('Sheet1') インデックスから選択する場合 sheet = doc.getSheets().getByIndex(0) アクティブシートを選択する場合 sheet = doc.CurrentController.getActiveSheet() 値の読み書き(数値

    PythonでLibreOfficeのマクロ | My note
  • Ubuntu 12.04のLibreOffice(openoffice)とpython: ドトヒコのカクカクワールド2D

    OpenOfficeから枝分かれしたLibreOffice Drawでいろいろ作ってるのですが、自動で処理をさせたいことがよくあります。 そこでLibreOffice Basicを使ってみたのですが… これが非常にわかりづらい! 特に配列が難しいですね。なんか追加も挿入もできないようなんですが、どう使ってるのでしょうかね… そこで、pythonが使えると知り移行してみました。うむ、やっぱりpythonは楽だ! …と言いたいのですが。 実はOpenoffice Basicよりさらに資料が少ないのです(泣) まず格納場所からして問題でした。 Libreofficeでは、Basicはマクロの管理から新規作成を選ぶのです。これが、専用のIDEでないと編集できない感じです。 しかし、Pythonでは普通に対象となるスクリプトディレクトリに外部エディタで作成します。すると、マクロ実行ダイアログで選択で

    kirakking
    kirakking 2014/02/02
    Ubuntu 13.10だとlibreoffice-script-provider-pythonのインストールでいけた。
  • 1