タグ

関連タグで絞り込む (228)

タグの絞り込みを解除

pythonとPythonに関するigrepのブックマーク (257)

  • Python では super() は スーパークラスとは限らない

    これは何? タイトルに書いた Python では super() は スーパークラスとは限らない という事実を知ってびっくりしたので、どういうときにそうなるか、困りそうなポイント、なんかを考えたのでそのことを記した記事。 先にちょっと書いておくと。 super() が書かれているクラスをいくら見てもわからないクラスを指すことがあるよ、という話。 親の親のこともあるよ、とかではない。だったらびっくりしない。 super() って 親クラスのメソッドを呼ぶための関数だとかよく書いてあるけど、公式には違うことが書いてある(強調引用者)。 super([type[, object-or-type]]) メソッドの呼び出しを type の親または兄弟クラスに委譲するプロキシオブジェクトを返します。 ここを見るだけで、親じゃないことがあるということがわかる。そしてその先には 2 つ目の用途は、動的な実

    Python では super() は スーパークラスとは限らない
    igrep
    igrep 2025/12/05
  • Pytestで行うPythonのテストでtimeout設定をする | DevelopersIO

    はじめに データ事業部のkobayashiです。 Pythonでテストを書いていると、外部APIの呼び出しやデータベースへの接続、複雑な処理などで、想定以上に時間がかかってしまうテストケースに遭遇することがあります。特にCIパイプラインでテストが無限にハングしてしまうと、全体の開発フローがストップしてしまい、大きな問題となります。 今回は、pytestでテストにタイムアウトを設定できるpytest-timeoutというプラグインを試してみました。 pytest-timeoutとは pytest-timeoutは、個々のテストやテストセッション全体にタイムアウトを設定できるpytestプラグインです。テストが無限ループやデッドロックなどで永遠に終わらない問題を防ぎ、CI/CD環境でのテスト実行を安定させることができます。 主な特徴としては以下になります。 テスト関数ごと、またはテストセッシ

    Pytestで行うPythonのテストでtimeout設定をする | DevelopersIO
  • Python 3.14 で追加された t-strings って何? - Qiita

    はじめに 僕は普段 Ruby を書いており、趣味でたまに Python を嗜む程度のプログラマです。今回、知らない間に t-strings という聞き慣れない機能が追加されていたので調べてみました。 Python 3.14 で導入された t-strings 2025/10/07 (火) (現地時間) に Python 3.14 がリリースされました 🚀 リリースの内容を見ると t-strings (PEP 750: Template Strings) という機能が追加されたようです。 Template strings are a new mechanism for custom string processing. They share the familiar syntax of f-strings but, unlike f-strings, return an object rep

    Python 3.14 で追加された t-strings って何? - Qiita
    igrep
    igrep 2025/10/15
    デバッグログの文字列と相性良さそう
  • Pythonのログメッセージにf-stringはいけません。そこのClaude、私はあなたに言っているんですよ - nikkie-ftnextの日記

    はじめに 七尾百合子さん、お誕生日 96日目 おめでとうございます! nikkieです。 LLM、特にClaudeでPythonを書いていて気になる点を書きます。 目次 はじめに 目次 ログメッセージに限っては、f-stringはいけません Ruff PylintPython実践レシピ』 根拠 ログメッセージ以外では、f-stringを使いましょう 終わりに ログメッセージに限っては、f-stringはいけません 各種リンタが指摘します。 なので、LLM(特にClaude)のこの傾向への対処としては、LLMにリンタの使い方も伝えて、自身に気付かせる1ことになるかなと思います Ruff 元はflake8のプラグイン(flake8-logging-format)からです logging.info(f"{user} - Something happened") ではなく logging.in

    Pythonのログメッセージにf-stringはいけません。そこのClaude、私はあなたに言っているんですよ - nikkie-ftnextの日記
    igrep
    igrep 2025/09/22
  • PythonオブジェクトをRustで効率的に処理する - pyo3-arrowによるゼロコピー実装

    FFI(Foreign Function Interface)の型変換のオーバーヘッド RustPythonを連携させるとき、悩ましい問題がデータの受け渡しです。 # ユーザは様々な形式でデータを渡してくる import numpy as np import pandas as pd # 素数判定をRustで高速化したい primes = rust_lib.is_prime_batch(np.array([2, 3, 4, 5, 6])) # NumPy primes = rust_lib.is_prime_batch([2, 3, 4, 5, 6]) # Python list primes = rust_lib.is_prime_batch(pd.Series([2, 3, 4, 5, 6])) # Pandas // 従来のPyO3での実装: 型変換地獄 #[pyfunction]

    PythonオブジェクトをRustで効率的に処理する - pyo3-arrowによるゼロコピー実装
  • Swapping Variables in Python: Behind the scenes of a,b = b,a

    igrep
    igrep 2025/06/11
  • Runno

    A passion project by Ben Taylor (@taybenlor@aus.social). The source is available on GitHub. Shoot me an email if you want to chat about Runno (runno@taybenlor.com).

  • PythonでもJavascriptでも動く???不思議なコード - Qiita

    皆さん、Python3とJavascript、使ってますよね! ただ、こう思ったことはないですか? 「言語にかかわらずコードがコードが動けばいいのに」って。       ないです そこでPythonJavascriptどっちでも動くコードを作ろうと思い立ちました。 (第3回FizzBuzz回です) 今のところFizzBuzzの記事はJavascriptPythonでしかやってないけど書きかけの記事にマルコフアルゴリズムあるんだよね() どうせならやってる人いなさそうなやつがいいなってなった結果こうなった 問題点と解決策 まあ最初からわかりきっていた問題点ですが ・あまりにも記法が違いすぎる 完全にコードを共有できる場所が限りなく少ないんですよね〜、、、 そこで、「同じ記法で別の意味を持つ演算子や構文を探す」 ということをしました。 すると1つ、あったんですよ。 ↓ ↓ ↓ ↓ ↓ ↓

    PythonでもJavascriptでも動く???不思議なコード - Qiita
    igrep
    igrep 2025/03/12
    久々にこう言うの見るなあ。すばらしい。
  • Python 3.13で更新された機能の紹介 | gihyo.jp

    門脇(@satoru_kadowaki)です。2025年2月の「Python Monthly Topics」は、Python 3.13でアップデートされた機能について紹介します。 ご存知のように、Python 3.13は2024年10月にリリースされ、多くの改善と新機能が追加されています。 What’s New In Python 3.13 (公式ドキュメント) 記事では、具体的にどのような点がアップデートされているのか、主な機能をピックアップして紹介していきます。 新しい対話型インタプリタとエラーメッセージ 今回のリリースにおける最も大きな変更点の1つとして、新しい対話型インタプリタがあります。また、エラーメッセージはPython 3.10以降継続的に改善されており、バージョンが上がるごとにエラー内容が理解しやすくなり、プログラム修正が効率的に行えるよう進化してきました。 最初にこの2

    Python 3.13で更新された機能の紹介 | gihyo.jp
    igrep
    igrep 2025/03/05
  • Pythonのコンパイラを作りたい #1 - 開発の背景と概要

    こんにちは。これから続ける(かもしれない)「Pythonのコンパイラを作りたい」では私が取り組んでいる「PythonコードをLLVM IRへ変換し、ネイティブバイナリを生成する」プロジェクト pyc のあれこれをご紹介します。 初回のこの記事では、開発の背景・モチベーションや全体像など、「なぜわざわざPythonのコンパイラを作るのか?」という部分をざっくりとお話ししようと思います。 1. Pythonコンパイラを作る理由 1-1. なぜPythonをコンパイルする必要があるのか? Pythonはとても書きやすく、多くのライブラリが揃っており、数値計算・機械学習・Web開発・スクリプト処理など、幅広い分野で利用されています。しかし、インタプリタ言語としての宿命もあり、やや速度面で不利な場合があります。特に、大規模データの処理やリアルタイム性が重要な場面では、パフォーマンスがボトルネックにな

    Pythonのコンパイラを作りたい #1 - 開発の背景と概要
  • [Browser Use] 触ってみた結果と感想

    # 必要なライブラリをインポート from langchain_openai import ChatOpenAI # OpenAIのチャットモデルを利用するためのライブラリ from browser_use import Agent # エージェント機能を提供するライブラリ import asyncio # 非同期処理を使うためのライブラリ # 非同期関数mainを定義 async def main(): # Agentのインスタンスを作成 agent = Agent( task="Zennで小倉さんというユーザーの最新記事を教えて", # エージェントに対するタスク(質問) llm=ChatOpenAI(model="gpt-4o", api_key="xxxxxxxxxxxxxx"), # GPT-4oモデルを使う(APIキーは仮の値) ) # エージェントにタスクを実行させ、その結果

    [Browser Use] 触ってみた結果と感想
  • Pydantic入門 – Pythonでシンプルかつ強力なバリデーションを始めよう - Qiita

    はじめに この記事では、PythonのデータバリデーションライブラリであるPydanticを使って、簡単にかつ強力にデータのバリデーションを行う方法を解説します。 今回はGoogle Colab上でハンズオン形式で進めていきますので、ブラウザさえあれば実行環境を整えるのも簡単です。 1. Pydanticとは? データのバリデーションや型の宣言を簡単に行えるPythonライブラリ Pythonの型ヒント(type hints)を活用して、データ構造の定義と検証を同時に実現 FastAPIなどの人気フレームワークでも広く採用されており、API開発・プロジェクト構成などで非常に便利 Pydanticを使うと、辞書やJSONで受け取ったデータが正しい形式になっているかどうかをPythonicに検証できるようになります。データの整合性を保つために煩雑なチェックを書かなくてよくなるので、とてもおすす

    Pydantic入門 – Pythonでシンプルかつ強力なバリデーションを始めよう - Qiita
    igrep
    igrep 2025/01/22
  • ポータブルゲームデバイス実機でPyxelアプリを動かす方法

    Pyxelアプリを実機で動かしたい 以下あたりを読んでPyxelでアプリ開発して自作Pyxelアプリを実機上で動かしたいなーと猛烈に思うようになってしまいました。 というわけで、早速やってみました。上記記事などを参考にできたので、とりたてて目新しいことはないのですが、個人のメモ+少し補足情報を記載しておきます。 実機について 対応機種は、使用するplumOS-RNのREADMEにあるリストから選びます。今回は、情報が多く比較的新機種でかっこいい(重要)「Powkiddy RGB30」を選びました。 購入はAmazonでも買えますが、AliExpressが安かったです。 購入したら、数日でちゃんと届きました。 そして、購入してから気づいたのですが、無線機能があるので日でそのまま動かすと違法になります。 今回は、AIを用いたアプリ開発の研究および実機での実験という目的があったので、技適未取得

    ポータブルゲームデバイス実機でPyxelアプリを動かす方法
  • browser-use やばいです - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

  • Pythonチョットデキルになるためのテクニック集

    Pythonは比較的自由な文法で記述できる言語で、様々な分野で利用されています。 一方で、その自由さ故、どうやって書くのが良いか分かりにくい側面もあります。そこで、記事では、Python使いに布教したいテクニックをまとめてみました。 TLDR; Pydantic ClassをModelとしてImmutableに運用しつつ、Controller, Service, etc にTyping.Protocol使うとだいぶ体験が良い。 開発環境は、uvとTaskfileの組み合わせがおすすめ。 リポジトリ 参照しやすいように、GitHubで動くfizzbuzzのコードを用意しました。必要に応じて、ご利用ください。 環境構築 Pythonでは、メジャーな環境構築方法がいくつかあります。 virtual env Docker (この後に登場するツールとの併用を含む) PyEnv + Poetry u

    Pythonチョットデキルになるためのテクニック集
    igrep
    igrep 2024/12/12
    Protocol、戻り値を仮のものにして実装しないといけないのかな、と思ったらellipsisリテラルなんてのがあってそれを使えばいい、と。なるほどなぁ。
  • Python 3.13 から「兆」が 10 の 6 乗になっている - マグマグ (起動音)

    この記事は 2024 TSG Advent Calendar 3日目の記事です。昨日の記事は @__dAi00 さんの記事 AivisSpeechを使ったDiscordボットの作成 ①AivisSpeechをGoogle Cloud Runにデプロイする でした。12/5 公開予定の続編も楽しみです。 今回は、初日に公開した以下の記事の副産物です。 import unicodedata # Python 3.12 まで 1000000000000.0 # Python 3.13 から 1000000.0 print(unicodedata.numeric("兆")) 大変だ。Python 3.13 から「5000 兆円」が 50 億円になってしまう(?) unicodedata.numeric メソッドと Unicode 例によって Unicode が関係してきます。前編でも触れたとおり、

    Python 3.13 から「兆」が 10 の 6 乗になっている - マグマグ (起動音)
  • GitHub - newren/git-filter-repo: Quickly rewrite git repository history (filter-branch replacement)

    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

    GitHub - newren/git-filter-repo: Quickly rewrite git repository history (filter-branch replacement)
    igrep
    igrep 2024/12/02
    better git filter-branchらしい
  • Pythonでのデバッグ、print()からic()に置き換えよう! - Qiita

    みなさん、こんにちは!私は株式会社ulusageで技術ブログを担当しているエンジニアです。最新の情報や、日々の開発で役立つTipsを皆さんと共有していきたいと思います。どうぞよろしくお願いします。(もしこのブログの仕組みやシステムフローに興味があれば、ぜひお知らせください。皆さんのご要望に応じて、詳細な記事を作成します!) Pythonでのデバッグ:print()からic()へ、革新の手法 はじめに Pythonで開発を進める中で、皆さんも一度は「なぜこのコードは期待通りに動かないのだろう?」と頭を抱えたことがあるのではないでしょうか。そのようなとき、print()関数を使って変数の値を出力し、デバッグを行うのは一般的な手法です。しかし、複雑なコードや大規模なプロジェクトでは、print()だけでは限界があります。今回は、そのデバッグ手法を一歩進めるためのライブラリ「IceCream」とそ

    Pythonでのデバッグ、print()からic()に置き換えよう! - Qiita
    igrep
    igrep 2024/11/27
    どういう仕組みなんだろう
  • プログラミング言語Pythonのバージョン3.13.0が公開、JITコンパイラを実験的に導入

    新版では、「実験的」という位置付けではあるが、JITコンパイラが使えるようになった。この機能はバージョン3.11.0公開時に予告されていたものだ。利用するには「--enable-experimental-jit」というオプションを付けてCPythonをビルドする必要がある。 JITコンパイラというと、プログラム実行時に機械語に変換してから実行する仕組みが一般的だが、Pythonが導入したJITコンパイラはやや込み入った仕組みを採用している。頻繁に実行する部分だけをJITコンパイルすることで、コンパイルにかかる時間を短縮しながら、JITコンパイルの効果を得るためだ。 Pythonでは、プログラムを「バイトコード」に変換して実行していくが、今回導入したJITコンパイラでも、最初はバイトコードを実行していく。そして、コード内の繰り返し実行する部分を検出したら、より機械語に近い中間表現に変換する。

    プログラミング言語Pythonのバージョン3.13.0が公開、JITコンパイラを実験的に導入
  • Python : Heliumを使用したブラウザ操作

    はじめに Pythonでブラウザ操作を行う際にSeleniumを使用することも多いかと思います。その際、もっと簡単に書けないかなぁと思ったことはありませんでしょうか? HeliumというSeleniumのラッパーライブラリを使用することでそれが実現できます。 実際にはここで細かい話をせずとも、公式にてチートシートが用意されていてすぐに使い始めることができるようになっています。ただ、記事ではチートシートで解説していない機能、関数についてもある程度説明しています。 以下、バージョン3.0.7のHeliumをベースに記載しています。 Heliumの特徴 Seleniumのラッパーとして動作し、Selenium利用時より30~50%のコード量でコーディングが可能(コーディング削減量は公式の説明を流用) ChromeとFirefoxに対応 chromedriverとgeckodriverを同梱して

    Python : Heliumを使用したブラウザ操作