PyCon JP 2020 の「Python 3.9 時代の型安全な Python の極め方」の発表資料です
まえがき 今年の PyCon JP 2020 にて「Python 3.9 時代の型安全な Python の極め方」というタイトルで登壇させていただきます。本稿は、発表の補足となる「型ヒントを使って Immutable な Python を実現する方法」について紹介したものです。 Python の型ヒント Python には「型ヒント」という機能があり、型をプログラム内に宣言することができます。 age: int = 28 name: str = 'Bruce Wayne' Python は動的型付き言語であるため、この情報はランタイム(実行時)にはあまり意味がないのですが、 mypy などの型チェックツールをつかうと、型の誤りをチェックすることができます。 def check_batman(name: str) -> bool: return name == 'Bruce Wayne' a
本書ではPythonを使い、火星や木星や銀河の最果てを、詩人の魂を、高度な金融の世界を、選挙の不正を、ゲーム・ショーのトリックを、探っていく。マルコフ連鎖解析のような技術を使って俳句を詠み、モンテカルロ・シミュレーションで金融市場をモデル化し、イメージ・スタッキングで天体写真を改善し、遺伝的アルゴリズムで巨大なネズミを育てる。それとともにpygame、Pylint、pydocstyle、tkinter、python-docx、matplotlib、pillowといったモジュールの経験を楽しく積むことができる。 この本は2冊目のPythonの本とみなすことができる。完全な初心者向けの本や入門クラスの後に続く本、あるいは補完する本となることを狙っている。「impractical」(実用的でない)というタイトルに反して、本書の内容はかなり実用的で、文字列やコレクションの操作といった基本的なことか
The Python Extension for VS Code Insiders is excited to announce the new preview for Native Notebooks! Native Notebooks are VS Code’s newest implementation of notebooks and the Python Extension is leveraging the Native Notebooks API to revamp the data science experience! Users can now benefit from the new functionalities below: The same extensions that users rely on when editing source code or mar
JX通信社シニア・エンジニア兼データ基盤担当大臣の@shinyorke(しんよーく)です. 最近やった「ちょっとした贅沢」は「休日, 自宅で🍺片手に野球を見ながらUberEatsで注文したランチを楽しむ」です. ⚾と飲食を提供してくださる皆さまに心から感謝しております🙏 JX通信社では, 機械学習を用いたプロダクト開発・施策 プロダクト・サービスの改善に関する分析 日々のイベントをメトリクス化して可視化(いわゆるBI的なもの) を円滑かつ効率よく行うため, 昨年からデータ基盤を整備・運用しており, 現在では社員のみならず(スーパー優秀な)インターンの皆さまと一緒に活用し, 成果を出し始めています. ainow.ai なぜデータ基盤が必要か?どういった事をしているのか?...は上記のインタビューに譲るとして, このエントリーでは「データ基盤を支える技術 - ETL編」と称しまして, Py
In this post I’ll be investigating compressed sensing (also known as compressive sensing, compressive sampling, and sparse sampling) in Python. Since the idea of compressed sensing can be applied in wide array of subjects, I’ll be focusing mainly on how to apply it in one and two dimensions to things like sounds and images. Specifically, I will show how to take a highly incomplete data set of sign
薔薇をPythonで描けますか? “オブジェクト指向”でデザインする新潮流「Grasshopper」(1/4 ページ) 日本ではソフトウェアエンジニアであったがドイツに渡ってミュージシャンとして生計を立てている著者は、CADソフトウェアを使った業務もこなしている。そこで出会ったソフトウェアはデザインの新しい潮流を感じさせるものだった。このツール、「Grasshopper」(グラスホッパー)をドイツで活用している建築設計事務所へのインタビューを交えながら、その革新的な利用方法をお届けする。 1mmの描画の誤りが、全てを台無しにしてしまうこともある。描く、という仕事は大変な仕事だ。 建築設計におけるパース画、土木設計における橋梁や排水管設計図、機械設計のブループリント、アニメーション制作における高層ビル群などの背景画や、ロボット/戦艦などメカ細部の描画、漫画制作における女性のドレスや下着などへ
Understanding and Decoding a JPEG Image using Python July 14, 2020 Hi everyone! 👋 Today we are going to understand the JPEG compression algorithm. One thing a lot of people don’t know is that JPEG is not a format but rather an algorithm. The JPEG images you see are mostly in the JFIF format (JPEG File Interchange Format) that internally uses the JPEG compression algorithm. By the end of this arti
A few months ago I released cutlet, a Python library and application for converting arbitrary Japanese text to romaji. Katsu curry illustrated by Irasutoya Update: Check out the online demo for cutlet! You can check the results in your browser. Compared to other libraries cutlet has several advantages: it uses fugashi, so you can re-use your existing dictionary words of foreign origin optionally u
Deprecate済みの機能をそろそろ削除していいかどうか悩んだときに、Githubのソースコード検索だとソースコードのコピーが置いてある個人リポジトリがたくさんあったりして役に立ちません。 PyPIのミラーを作って全部のパッケージを確認できればいいのですが面倒なので、とりあえずTOP4000パッケージだけを対象にしてソースパッケージのダウンロードして調査しています。 まずTOP4000パッケージのリストですが、 Top PyPI Packages というサイトから入手できます。BigQueryで自分でリストを作るよりもお手軽です。 hugovk.github.io つぎにパッケージをダウンロードする方法ですが、 pip download だと --no-deps つけてもビルド依存関係を解決しようとしたりしてうまくいかなかったので、PyPIのJSON APIからsdistを見つけてダウン
はじめに この記事はSpeedcubing Advent Calendar 2019の17日目の記事です。 [連載]ルービックキューブを解くプログラムを書いてみよう(前編) の続きをやっていきます。 前編では、ルービックキューブの状態/操作を表現するクラスを作り、状態を操作するメソッドを書きました。 これで、キューブをプログラム的に自由に回せる状態になったので、探索を進めていきましょう。 中編では単純な総当りで探索するので、計算量的な問題でまだ任意の状態のルービックキューブの解を見つけられるようにはなりませんが、ピラミンクスや2x2x2キューブなどの小さいパズルならこの方法でも解くことができます。 追記: 後編を書きました ルービックキューブを解くプログラムを書いてみよう(後編:状態のindex化, Two-Phase-Algorithm) 環境 環境については、前編と同様Python3.
はじめに この記事はルービックキューブ Advent Calendar 2018 の14日目の記事です。 昨日の記事は望月さんの「ラノベで覚えよう!目隠しキューブ。「恋するイヤーマフ」」でした。 本連載では、ルービックキューブを解くプログラムをPythonで実装しながら、その仕組みを勉強します。 ルービックキューブを解くプログラムと言っても、どれくらい頑張って高速化・効率化するかなどあると思うので、今回の記事では、大体1秒位 & 20手強くらいで解くプログラムを書くのを目標に、コードのわかりやすさ重視でやっていきましょう。 ルービックキューブを効率よく解くアルゴリズムとしてTwo-Phase-Algorithmというものが広く使われています。 本連載でも、Two-Phase-Algorithmを実装します。 まだ、前編しか書けていないので、内容は変わるかもしれませんが、 前編と中編では、実
本記事は、2019年インターンとして勤務した服部桃子さんによる寄稿です。 こんにちは、2019年度PFN夏季インターン生の服部桃子と申します。 私は今回のインターンで、Chainerを用いてニューラルネットワークを記述しているPythonスクリプト中の式の型とshapeを “半”静的に推論するというプロジェクトに取り組みました。 なお以下の話のより詳細な内容については、6/15から開催される国際会議 PLDI 2020 (ACM SIGPLAN Programming Language Design and Implementation) 併設のワークショップ MAPL 2020 (the 4th Annual Machine Learning and Programming Languages Workshop) で発表してきます。 PLDIはプログラミング言語の設計と実装に関する最高峰
Read this article on Medium New Year 2020 marks the end of more than a decade of coexistence of Python 2 and 3. The Python landscape has changed considerably over this period: a host of new tools and best practices now improve the Python developer experience. Their adoption, however, lags behind due to the constraints of legacy support. This article series is a guide to modern Python tooling with
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く