Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに そもそもPythonの型ヒントとは何か なぜ型チェッカが必要なのか mypy Pyre Pyright Pytype まとめ 参考文献 はじめに こんにちは! 株式会社iimonでエンジニアをしている遠藤です。 以前「ロバストPython 型チェックを効果的に導入するための考え方」という記事を書かせていただきました。この時に知った「Pytype」というツールについて気になっていたので、今回は、型チェッカを自分なりにまとめてみることにしました。 ここでは、以下の型チェッカについて取り上げます。 mypy Pyre Pyright Pytype そもそもPythonの型ヒントとは何か Pythonの型ヒントは、変数、クラス属性、関数のパラメータや返り値がどのデータ型を期待するかを明確にするためのものです。 Pythonは動的型付け言語なので強制はされませんが、オプションで以下のように
門脇(@satoru_kadowaki)です。11月の「Python Monthly Topics」は、Python 3.12の新機能であるsub-interpretersについて紹介します。 2023年10月2日に「 Python 3.12.0 」がリリースされました。今回も気になる新機能が多く、本記事で紹介するsub-interpretersもPythonで並列処理を行うための新機能です。 Python 3.12の新機能については以下のリンクを参照してください。 What’s New In Python 3.12 -Python 3.12.0 Documentation 本記事ではPythonにおける並列実行のこれまでと、sub-interpretersが現状どのように使用できるかについて説明します。 なお、執筆にあたり先日開催されたPyCon APAC 2023において、sub-in
はじめにMypy や Pyright は Python の静的解析ツールとして有名ですが、これら2つに解析情報でどのような違いがあるのかわからなかったので、実験することにしました。Pyright は Mypy に比べて後発のプロジェクトですが、性能面で優れているなどとして徐々に注目を集めています。 https://github.com/python/mypy https://github.com/microsoft/pyright 解析以外での比較はこちらが参考になります。 https://qiita.com/simonritchie/items/7492d1c1a3c13b2f27aa#%E4%BA%8B%E5%89%8D%E3%81%AEpyright%E3%81%AE%E8%BF%BD%E5%8A%A0 実験概要Mypy、Pyright はともに reveal_type(expr)
TL;DR ZOZOSUITで計測したデータを扱うサーバーは、元々Pythonで実装していた それをScalaで実装し直した 結果、レイテンシにおけるパフォーマンスが向上した さらに、リソース面におけるサーバーコストも削減できた 技術選定における背景 ここ数年、機械学習の文脈やサービスの立ち上げ期のプロトタイプ実装のため、Webアプリケーションの分野においてもPythonが選択されることは本当によく聞かれるようになりました。 事実、難しいビジネス要求や急な仕様変更への柔軟な対応においては、比較的実装コストの低い言語やフレームワークを選択するメリットはとても大きいと言えます。 利用できるすべての変数やメソッドの型をプログラムの実行中に決めなければならない場合、ランタイムのオーバーヘッドは甚大になります。静的型付け言語では、そのオーバーヘッドが不要になります。Python、Perl、Rubyと
MagicMock は mock.Mock のサブクラスで、薄いラッパーです。 >>> from mock import Mock, MagicMock >>> issubclass(MagicMock, Mock) True >>> list(set(dir(MagicMock)) - set(dir(Mock))) ['_mock_set_magics'] MagicMock を使えば、クラスだろうがオブジェクトだろうがメソッドだろうが関数だろうが、何でもモックオブジェクトで置き換えて、その振る舞いを自由にシュミレートすることができます。 まず、一番シンプルにモックを使う方法は、直接 MagicMock オブジェクトを代入するやり方です。 models.py(置換対象クラス) import random class User(object): def __init__(self, na
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く