タグ

pythonに関するW53SAのブックマーク (31)

  • Pythonの型を完全に理解するためのtypingモジュール全解説(3.10対応) - Qiita

    はじめに Pythonでキチンと型アノテーションを書くのであれば一度は読んでおきたいのがtypingライブラリの公式ドキュメントです。 前回の記事でも読んでくださいと(偉そうに)書いたわけですが、実のところこれは型アノテーションを解釈する側1に向けたドキュメントだったりもするのでアノテを書く側にとっては情報がごちゃごちゃしてるんですよね。加えて未翻訳の箇所もそれなりにあってま~~~~読みにくい。実際に読んでいただいた方々からの評判もすこぶる悪かったです。また 機能は分かったけど結局どんな時に使えばいいのか分からない という致命的なコメントも聞きました。 そこで今回はこれらの不満を解消すべく、公式ドキュメントを一般ユーザー向けに再編し具体的なユースケースを盛り込んだ非公式ドキュメントをご用意しました。 なおPython 3.10は2021年10月04日リリース予定ですが、先駆けてドキュメント

    Pythonの型を完全に理解するためのtypingモジュール全解説(3.10対応) - Qiita
  • [Python] 🐰 なんとなく理解するasyncio 🐢

    大変おまたせしました。 数年前からずっと書く書くと詐欺してきた asycnio の記事です。 日語のasyncio関連のブログエントリは大体読んだ気がします。(英語の記事も少し) リファレンスが多いので、ページ末に参考URLをリンクしてあります。詳しくはそちらも参照ください。 infoasyncio はいろいろな概念が同居しており、学習コストが高めです。 「なんとなく」とは書きましたが、割と詳細に書いているので概要だけ知りたいという方は 「概要」セクションだけ読んでブラウザバックしたほうがいいかもしれません。タイトル詐欺ですね。 読み進める上でジェネレータの概念が必要ですので、わからないという方は先にこちらからどうぞ。 [Python] 部屋とYシャツとイテレータとジェネレータと私 (何だこのクソみたいなタイトル) なお、この記事では Python 3.7 を使います。 3.7以上でしか

    [Python] 🐰 なんとなく理解するasyncio 🐢
  • FastAPI

    FastAPI framework, high performance, easy to learn, fast to code, ready for production Documentation: https://fastapi.tiangolo.com Source Code: https://github.com/tiangolo/fastapi FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.8+ based on standard Python type hints. The key features are: Fast: Very high performance, on par with NodeJS and Go (thanks to

    FastAPI
    W53SA
    W53SA 2021/04/20
  • Python言語による実務で使える100+の最適化問題 | opt100

    指針 厳密解法に対しては、解ける問題例の規模の指針を与える。数理最適化ソルバーを使う場合には、Gurobi かmypulpを用い、それぞれの限界を調べる。動的最適化の場合には、メモリの限界について調べる。 近似解法に対しては、近似誤差の指針を与える。 複数の定式化を示し、どの定式化が実務的に良いかの指針を示す。 出来るだけベンチマーク問題例を用いる。OR-Libraryなどから問題例をダウンロードし、ディレクトリごとに保管しておく。 解説ビデオもYoutubeで公開する. 主要な問題に対してはアプリを作ってデモをする. 以下,デモビデオ: 注意 基的には,コードも公開するが, github自体はプライベート そのうちにするかもしれない(予約はしているが, 保証はない). プロジェクトに参加したい人は,以下の技量が必要(github, nbdev, poetry, gurobi); ペー

    W53SA
    W53SA 2021/03/31
  • Pure Python Tracepath | IIJ Engineers Blog

    最近はセキュリティログ解析などに取り組んでいます。何か面白そうな話題があればお声がけください。IIJ/IIJ-II技術研究所所属。 こんにちは。島です。技術研究所でセキュリティログ解析などに取り組んでいます。 先日、入用でtracepathに相当する機能をPythonで作る場面が出てきました。tracepathは自分のノードから対象ノードまでのインターネット上の経路(ルータ)を発見し、遅延やMTUを計測するプログラムで、iputilsの一部として配布されています。 tracepathとは tracepathと似たプログラムにtracerouteがあり、ほぼ同等の機能を提供しています。わたしを含む年齢層高めの人には、tracerouteの方が馴染みのあるプログラムかもしれません。tracerouteはその実行に管理者権限が必要ですが、tracepathは一般ユーザでも実行できるという違いがあ

    Pure Python Tracepath | IIJ Engineers Blog
    W53SA
    W53SA 2020/07/15
    「あと、単に作ってみたかったという気持ちがあったことも事実です。」よい
  • Immutable Python ~ NamedTuple で書く副作用のないプログラム - JX通信社エンジニアブログ

    この記事はJX通信社 Advent Calendar 2019 の23日めの記事です。 昨日は Yosk さんの 名刺作成をデザイナーの業務から外して、効率化させた話 でした。 こんにちは、サーバーサイドエンジニアの @kimihiro_n です。 今回は Python の Immutable を最大限活用してみる話を書いてみます。 【2019/12/23 訂正 1 】 : NamedTupleを使う際、同値であればオブジェクト自体も同一であると書いてましたがこちらは誤りでした。 個々の id を調べてみると別々のオブジェクトが割り当てられていたため、記事の表現を一部修正しました。 【2019/12/24 訂正 2 】: コメントにて、Java の String オブジェクトも不変であるというご指摘をいただきました。 不変であることとオブジェクトが同一であることの性質を混同してしまっていた

    Immutable Python ~ NamedTuple で書く副作用のないプログラム - JX通信社エンジニアブログ
  • 1日で基本が身につく! Python超入門

    私が技術評論社から出版したPythonの入門書をベースとしたトレーニング資料です。 出版元の承諾をえたうえで400P近いスライドにして公開します。 企業の自社研修や大学/社会人の勉強会などに利用してもらって構いませんが、再販などの営利利用はお控えください。 後半にはおまけ資料としてプログラミングのレベルマップとレベル向上法および、駆け出しエンジニア向けにインフラエンジニアの世界をまとめています。

    1日で基本が身につく! Python超入門
  • Pythonによる黒魔術入門

    7. うまく使えば強い武器になる。 特に、RubyPythonを使うのであれば いずれも必須の知識(だと筆者は考える)。 Web Application FrameWork, ORMapperなどの大規模なライブラリで あれば必ず使われているテクニック。 難解なメタレベルコーディングで厨二心を満たせ! とはいえ 9. 諸注意 黒魔術が比較的易しい and 頻出 and メジャーな言語、などの理由から 今回の説明に使う言語はPythonです(筆者の知識の問題もあります)。 マクロについては、筆者のLisp力や抽象構文木に対する理解度不足などの 事情があるので今回は取り扱いません。 比較的に易しい内容を取り扱う予定ですが、最低限のオブジェクト指向と その言語内実装に対する理解度はあった方が良いかもしれません。 11. Ghost Method サンプルコード(動的な委譲) >>> class

    Pythonによる黒魔術入門
    W53SA
    W53SA 2020/04/28
  • たぶん知らないPythonマイナー文法の世界 - Qiita

    概要 私はPythonが好きで10年ぐらい使っています.QiitaでもPythonの記事を結構読みますが,その中で,あまり見かけないPythonのマイナーな文法.マイナーな記法について紹介したいと思います. 実用性は・・・あるかどうかは知りません.マイナーな文法なんて趣味の世界でしかないですし.それはマイナーじゃねぇ!と言われるかもしれませんが,あくまで筆者が他の人のコードで見たことないものです. リスト以外の内包表現 軽いジャブということで,リスト型以外の内包表現を取り扱いたいと思います. 辞書型 >>> {i:"a%03d"%i for i in range(3)} {0: 'a000', 1: 'a001', 2: 'a002'}

    たぶん知らないPythonマイナー文法の世界 - Qiita
  • ruby でこう書くのは、python ならこう書く、のメモ - Qiita

    ruby に慣れていて python に慣れていないんだけど、python を書く機会が増えてきたので備忘録のような感じで。 python は完全に初心者。 python 3。python 2.x のことは気にしないことにした。 手元の処理系 ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16] Python 3.5.2 :: Anaconda 4.2.0 (x86_64) で確認している 長さ ary_len = [1,2,3].size # [1,2,3].length でもいい hash_len = {a:1}.size # {a:1}.length でもいい string_len = "hoge".size # "hoge".length でもいい range_len = (1..9).size # Range#len

    ruby でこう書くのは、python ならこう書く、のメモ - Qiita
  • チュートリアル — ディープラーニング入門:Chainer チュートリアル

    Chainerの入門に最適なチュートリアルサイト。数学の基礎、プログラミング言語 Python の基礎から、機械学習・ディープラーニングの理論の基礎とコーディングまでを幅広く解説します。Chainerは初学者によるディープラーニングの学習から研究者による最先端のアルゴリズムの実装まで幅広く対応するディープラーニングフレームワークです。

    チュートリアル — ディープラーニング入門:Chainer チュートリアル
  • https://torina.top/detail/278/

    https://torina.top/detail/278/
    W53SA
    W53SA 2018/04/18
  • Pythonのfor文は遅い? - atsuoishimoto's diary

    bicycle1885.hatenablog.com こちらの記事を拝見していて、ちょっと気になったので注釈。 PythonやRを使っている人で、ある程度重い計算をする人達には半ば常識になっていることとして、いわゆる「for文を使ってはいけない。ベクトル化*1しろ。」という助言があります。 これは、PythonやRのようなインタープリター方式の処理系をもつ言語では、極めてfor文が遅いため、C言語やFortranで実装されたベクトル化計算を使うほうが速いという意味です。 昔からよくこういう言い方がよくされるが、当にPythonのfor文は遅いのだろうか。 聞くところによるとRのfor文はガチで遅いそうだが、Pythonの計算が遅いのはインタープリタ方式だからでも、for文が遅いからでもない。もちろん、Pythonはインタープリタなので遅いし、for文だって極めて遅い。しかし、これはPyt

    Pythonのfor文は遅い? - atsuoishimoto's diary
  • pythonによる固有値固有ベクトル計算 - nykergoto’s blog

    pythonで固有値固有ベクトルを計算しようと思うと numpy.linalg (線形代数の便利関数のモジュール)以下にある numpy.linalg.eigs を使うことになります。 numpy.linalg.eig — NumPy v1.11 Manual この挙動が個人的な感覚とちょっとずれていて、そこでかなり消耗してしまったのでメモとして残しておきます。 nump.linalg.eigs でハマる numpy にはnumpy.linalg.eigsという関数が用意されています。 返り値として第一変数に固有値(eigenvalues)、第二変数に正規化された(すなわち \( \|u_i\|=1 \) )固有ベクトル(eigenvector)を返します。 例 X = # 適当な(n,n)のnp.array eig_vals,eig_vec = np.linalg.eigs(X) ここで

    pythonによる固有値固有ベクトル計算 - nykergoto’s blog
  • Google Python スタイルガイド

    概要¶ これは Google Python Style Guide Revision 2.29 を日語に訳したものです。 家ガイドは CC-By 3.0 ライセンス の基で公開されています。また、ガイドも同ライセンスを継承します。 家ガイドの著者は以下の通りです。 Amit Patel Antoine Picard Eugene Jhong Jeremy Hylton Matt Smart Mike Shields また、ガイドの翻訳者は以下の通りです。 Kosei Kitahara ガイドに誤植、誤訳があった場合は issue で教えてください。 その他ガイドに関する問い合わせは、サイト最下部に記載のメールアドレスか @Surgo にお願いします。 はじめに¶ PythonGoogle で使われている主要なスクリプト言語です。 このスタイルガイドは Python によ

  • 闇Pythonista入門(Pythonワンライナーのテクニック集) - cocuh's note

    世界には1行でプログラムを書くワンライナーという技巧的プログラミングの世界があります。 ワンライナーと言われる言語の多くはPerlRubyなのですが、委員長キャラのPythonでもワンライナーができます。 PEP8とZen of Pythonで綺麗になっているPythonicな世界に Pythonでも1行で書いたよ!楽しい!! ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ などと技巧プログラミングをする闇Pythonista(私)がテクニックなどもろもろをまとめたものがこの記事になってます。 まだPython力を鍛えている途中のわたしなのでなにか指摘などありましたらコメントをいただければです。 対象読者 Pythonをある程度かける人 Pythonの細かい挙動に興味のある人 白Pythonに飽きてしまった人 テクニック1:代入文を式にする Pythonでの代入は基改行が必要です。

    闇Pythonista入門(Pythonワンライナーのテクニック集) - cocuh's note
    W53SA
    W53SA 2017/03/22
  • KMC の春合宿で Python の処理系の講座をした - 私が歌川です

    追記: dict の実装で出てくる図が間違っています*1.あとで修正します. スライドを差し替えました.変更点は次の2点です. dictの図を開番地(オープンアドレス)法のものに訂正 バイトコードについて追記(2バイトで1つの命令と引数を表す旨) 先日 KMC で春合宿があり,そこで Python の処理系に関する講座をしました. speakerdeck.com 内容 プログラミング言語を実行体系で分類すると,次の2つに分けられるのではなかろうかと思います*2. コンパイル言語 インタプリタ言語 また,型付けで分類すると,次の2つに分けられます. 静的型付け言語 動的型付け言語 C言語のコンパイラの実装に関する情報は巷に溢れており,また書籍も数多くあります. 一方で Python のインタプリタに関する詳細な情報は,もちろんあるのですが,気にせずに使っている人が大半かと思われます*3. そ

    KMC の春合宿で Python の処理系の講座をした - 私が歌川です
    W53SA
    W53SA 2017/03/21
  • 【xkcd】pythonコードにたった一行で漫画のようなグラフを作る! - プロクラシスト

    xkcdとは 世界一で最も人気のあるウェブ漫画の一つです xkcd: Code Quality 3 ランダル・マンローが2005年9月に開設 皮肉や風刺が得意。理系ネタが結構多い。 現在は週3回更新されている キャラやフォントが特徴的 これとか皮肉が効いてていいですね!好きです A : 寝ないの? B : 寝られないんだ、大事なことがある A : なによ? B : 誰かがインターネットでボロを出してるんだ xkcd: Duty Calls 実はmatplotlibを使えば、グラフをxkcd風に仕立てられます。しかもたった一行で!今回はその紹介をします xkcdとは matplotlibで、xkcd requirement 使い方 MatplotlibのHPもxkcd風に サンプルを見てみる 3D 円グラフ 最後に matplotlibで、xkcd requirement matplotli

    【xkcd】pythonコードにたった一行で漫画のようなグラフを作る! - プロクラシスト
  • C++のコードから簡単にmatplotlibを使ってグラフを作成する方法 - MyEnigma

    Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析機械学習posted with カエレバJake VanderPlas オライリージャパン 2018-05-26 Amazonで探す楽天市場で探すYahooショッピングで探す 目次 目次 はじめに C++からmatplotlibのグラフ描画機能を使うヘッダライブラリ: matplotlib-cpp コンパイル方法 Makefile CMake matplotlib-cppの使い方 標準的なPlot関数の使い方 複数のプロットをする グラフの凡例の表示 グラフの表示範囲を設定する 軸のタイトルやグラフの名前を設定する グラフを保存する アニメーションを表示する方法 最後に 参考資料 MyEnigma Supporters はじめに C++で複

    C++のコードから簡単にmatplotlibを使ってグラフを作成する方法 - MyEnigma
  • さくらVPSセットアップ用のシェルスクリプトを今話題の「Ansible」で書き直してみた - Copy/Cut/Paste/Hatena

    「Chef! Chef!」と叫ばれる昨今、そのChefに挫折した皆様、いかがお過ごしでしょうか? Chefに挫折中のid:k1LoWです。 Ansibleいいよ。Ansible。 Chefに挫折したからといってプロビジョニングツールへの憧れは消えるわけもなく、時間を見つけてはいろいろいじっていた時、 同僚からの「Ansibleというツールが良さげらしい」という情報をそのまま鵜呑みにし、PHP Matsuri 2013を通じて使ってみて今に至っています。 Ansibleいいよ。Ansible。 AnsibleはPython製のプロビジョニングツールです。ChefやPuppetと同じ領域のツールですね。 ちなみに、呼び方は、日英語的に「あんしぼぉ」です。「あんじぼぉ」でも「あんそぉぼぉ」でもありません。PHP Matsuri 2013でVagrantのMitchell Hashimotoさ

    さくらVPSセットアップ用のシェルスクリプトを今話題の「Ansible」で書き直してみた - Copy/Cut/Paste/Hatena