【問題】 以下はFooクラスを定義して、そのインスタンスを作成し、foo_methodメソッドを呼び出すコードである。選択肢1から選択肢4の中で例外を発生させることなく呼び出しが成功するのはどれだろう(複数選択可能)。 class Foo: def foo_method(self, msg): print(f'{msg} from Foo') f = Foo() # 選択肢1 f.foo_method('hello') # 選択肢2 Foo.foo_method('hello') # 選択肢3 getattr(Foo, 'foo_method')('hello') # 選択肢4 Foo.__dict__['foo_method'](f, 'hello')
![[Pythonクイズ]メソッドの呼び出し方、あれこれ そんな呼び出し方もできるのかな?](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2fbf86489545d33c761fc8f8bc2c5d510be4a94814%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fimage.itmedia.co.jp%252Fait%252Farticles%252F2512%252F16%252Fcover_news017.jpg&f=jpg&w=240)
「Pythonで単体テストを書くとき、実装ファイルの中にテストコードを書いてはいけないのですか?」RustやGoといったモダンなコンパイル言語の経験があるエンジニアが、Pythonのプロジェクト構成を見たときに抱く素朴な疑問です。Rustでは src/lib.rs の中に mod tests を書くのが当たり前ですし、Goでも main.go の隣に main_test.go を置くのが一般的です。 しかし、Pythonのデファクトスタンダードは 「src/ とは別に tests/ ディレクトリを切る」 というスタイルです。 なぜ言語によってテストコードの配置場所(文化)がこれほど異なるのでしょうか? その背景には、単なる「好み」の違いではなく、「コンパイルの仕組み」 と 「配布(デプロイ)の仕組み」 という技術的な必然性が隠されています。本記事では、Rust,C++, Pytho

Welcome to LWN.net The following subscription-only content has been made available to you by an LWN subscriber. Thousands of subscribers depend on LWN for the best news from theLinux and free software communities. If you enjoy this article, please consider subscribing to LWN. Thank you for visiting LWN.net! Dictionaries are ubiquitous inPython code; they are the data structure of choice for a wi
コードレビューや初めて触れるコードをみた際、そのコードを読み解くのがしんどいと感じることがしばしばあります。複雑にif文入り組んでいたり、何重にもネストされたループ、一見しただけでは理解できないビジネスロジック。こうしたギョッとする瞬間は、チーム開発においてよく遭遇する問題かと思われます。 こういった問題を未然に防ぐために、循環的複雑度(Cyclomatic Complexity)という指標を使ってコードの複雑さを数値化して、一定の基準を超えないように制限をかける手法があります。今回は、PythonとReact/TypeScriptの両方に循環的複雑度の制限を導入する方法について開設します。本記事では、循環的複雑度とは何か、なぜ制限を設けるべきなのか、そしてPython(Ruff)とReact/TypeScript(ESLint)での具体的な設定方法について、実際のプロジェクトでの経験を
FastAPI + htmxが最強説 -Pythonエンジニアがモック作るならReactは不要、Streamlitも捨てよう この記事はLivetoonTech Advent Calendar 2025の12日目の記事です。 宣伝 今回のアドベントカレンダーでは、LivetoonのAIキャラクターアプリのkaiwaに関わるエンジニアが、アプリの話からLLM・合成音声・インフラ監視・GPU・OSSまで、幅広くアドベントカレンダーとして書いて行く予定です。 是非、publicationをフォローして、記事を追ってみてください。本題 どうも、LivetoonCTOのだいちです。 今回はスタートアップでプロトタイプ開発する時の技術選定について書きます。結論から言うと、FastAPI + htmxという組み合わせがモック開発において最も効率的で効果があると思います。 モックごときでReactを

この記事はLivetoonTech Advent Calendar 2025の11日目の記事です。本日はCTOの私がよく使ってるSQLModelについてお話します。 宣伝 今回のアドベントカレンダーでは、LivetoonのAIキャラクターアプリのkaiwaに関わるエンジニアが、アプリの話からLLM・合成音声・インフラ監視・GPU・OSSまで、幅広くアドベントカレンダーとして書いて行く予定です。 是非、publicationをフォローして、記事を追ってみてください。SQLModelとはSQLModelは、 Pydantic とSQLAlchemy のいいとこ取りをしたPythonORMライブラリです。FastAPIの作者(tiangolo)が開発しており、以下の特徴があります: Pydanticの書き心地: バリデーション・型安全性をそのまま活用SQLAlchemyの互換性:

2025年8月時点のOctoverseでは、GitHub上で最も使われる言語は「TypeScript」がPythonを抜いて首位になったが(参考)、Python自体も2025年に前年比49%成長し、AI(人工知能)や科学、教育分野の標準言語の地位を維持している。 この結果について、同氏は「非常に驚いた」としつつ「TIOBE Index」など他の人気指標と異なるデータが出たことを指摘。下記の見解が挙がったという。 同氏は「TypeScriptはPythonによく似た型システムを取り入れた。今JavaScriptを書くなら、TypeScriptを使うのが論理的に正しい。これらの言語は人間に人気がある。今後も人気は続くだろう」と述べている。 ここから、同氏が述べる「人間(開発者)に人気がある」ことの詳細、Pythonの成り立ち、型システムを含む言語の発展へと話がつながっていく。 C言語とシェルス

はじめに この記事はサイバーエージェント26卒内定者 Advent Calendar 3日目の記事です。 昨今の生成AIブームも相まって、Pythonの需要はますます高まっています[1]。 幸いなことに、uv・Ruff・ty といった高速で便利なRust製ツールが充実してきたおかげで、Pythonの開発環境構築は以前よりも格段に容易になりました。 ここ数年はツールの進化が激しく、自分自身も試行錯誤を繰り返してきましたが、最近ようやく構成が安定してきました。 この記事では、自分が現在使っているPython開発環境の概要 や、その他のTipsをご紹介します。 詳細な使い方については、各ツールの公式ドキュメントを参照してください。 ディレクトリ構成 以下のようなsrc-layoutで作成したPythonプロジェクトを想定しています。 uvのコミュニティでsrc-layoutが推奨されている・開

【問題】 以下のmake_greeting関数はlangに受け取った言語コードに合わせて、f文字列にnameの値を埋め込んだものを返す。これは問題なく動作するが、対応する言語コードが増えるとif文がどんどん長くなっていく(出力を見ると言語コードに'fr'を渡したときにはelse節が実行されている)。文字列のformatメソッドを使って、よりシンプルに書き直してみよう。 def make_greeting(lang, name): if lang == 'ja': return f'こんにちは {name}さん' elif lang == 'es': return f'Hola {name}' ... # 他にもelif節がたくさん else: return f'Hello {name}'greeting = make_greeting('ja', 'kawasaki') print
![[Pythonクイズ]f文字列最強なんですが、そうじゃない場合もありますよ どんなときか分かりますか?](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2fa59087f481faf43a294d609c13e43db7ce028e62%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fimage.itmedia.co.jp%252Fait%252Farticles%252F2512%252F09%252Fcover_news013.jpg&f=jpg&w=240)
筒井(@ryu22e)です。今月の「Python MonthlyTopics」は、型チェッカー「Pyrefly」を紹介します。 Pyreflyの概要と特徴 PyreflyはMeta社が開発した型チェッカーです。ロゴがホタル(firefly)をイメージしたデザインで、「パイアフライ」と発音します[1]。Pythonの型チェッカーといえばMypy、Pyrightなどの既存ツールがありますが、Pyreflyにはそれらにはない以下の特徴があります。Rustで実装されているため、高速に動作WASM版もあるため、ブラウザ上で利用可能 コードに自動で型ヒントを付ける機能 Meta社製の型チェッカーといえばPyreがありますが、PyreflyはPyreの後継ツールです。Pyreflyが誕生した経緯については、以下のMeta社のブログに詳細が書かれています。 Introducing Pyrefly
初めに忠告するが、私は国語が苦手だ。なのでもし読むときはchatgpt使って、要約をかけさせることをお勧めする。 ーこの記事の要約ー ・テクニカル分析が嘘であることを検証した話 ・一番結果を出した戦略について ー次回書くことー ・AIによる取り組み①~強化学習編~ ・AIによる取り組み②~教師あり学習編~ まず、テクニカル分析は嘘であるこれは、ウォール街のランダムウォーカーという本を読んでいればある程度知っている話であろう。それにこの話は何十年も前から言われていることである。しかし、SNSではチャートを見ては”俺はこの形しか信じない”、だの、”結局これ(ぎざぎざと直線ががいっぱい書いてある画像)”みたいな投稿がバズっている。それを見るたびに、嘘つけよ、とか思っていたが、自分で検証してみないと信じれない性格なので検証してみた。 テクニカル分析を駆使して売買した時の勝率(60個の指標の内、上位

Transformers' version v4.0.0rc-1, the initial release candidate for version 4, was released on November 19th, 2020. Five years later, we now release v5.0.0rc-0. Today, as we launch v5, Transformers is installed more than 3 million times each day via pip - up from 20,000/day in v4 🤯. Altogether,it has now surpassed 1.2 billion installs! The ecosystem has expanded from 40 model architectures in v4
AnthropicがClaude(モデル)APIの新機能として「Programmatic Tool Calling」(以下PTC)を パブリックベータとして公開しました。 Introducing advanced tool use on the Claude Developer PlatformClaude can now discover, learn, and execute tools dynamically to enable agents that take action in the real world. Here’s how.一言で言うと、これは「ClaudeがToolを呼び出す処理をPythonコードとして生成し、 Anthropicが提供するサンドボックス内で実行する」機能です。 従来のTool Useでは、Toolを1つ呼ぶたびにClaudeが次のアクションを判断し
This is a guest post from Dido Grigorov, a deep learning engineer andPython programmer with 17 years of experience in the field. In the rapidly evolvingdomain of software development,Python has establisheditself as a premier language, renowned foritssimplicity, readability, and versatility.It underpins a vast range of applications, from web development to artificial intelligence and data en

【問題】 以下は2つのリストnamesとranksから辞書を作成するコードだ。各リストの同じインデックス位置にある要素がキーとその値となる(namesの要素がキーに、ranksの要素が値になる)。以下のコードではfor文を使って辞書を作成しているが、もっとシンプルに書ける。どうすればよいだろう。 names = ['hp_kawasaki', 'isshiki', 'endo'] ranks = ['C', 'B', 'A'] result = {} for name, rank inzip(names, ranks): result[name] = rank print(result) # 出力結果: # {'hp_kawasaki': 'C', 'isshiki': 'B', 'endo': 'A'}
![[Pythonクイズ]2つのリストから辞書を作成する方法 あの方法とその方法、どっちなんだい?](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2fa38809bda979ec434fb9e79f41b3d85caa229208%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fimage.itmedia.co.jp%252Fait%252Farticles%252F2511%252F25%252Fl_di-pyq004501.gif&f=jpg&w=240)
みんなのPython 第5版発売中です!最近、Pythonの開発環境「marimo」のことをよく聞くようになりました。ノートブックの一種で、変数を変更すると即座に反映される「リアクティブ」な実行環境です。Jupyterとは異なった開発体験を与えてくれて、利用者の多くは「なんか使いやすい」と感じていると思います。私もちょっと触ってみたら、JupyterやColabのようにセルの実行順序に左右されないので「たしかに手になじむわ」という感想を持ちました。ファイルが.ipynbではなく.pyになるのもいいですね。 今回は、一体誰がmarimoを開発していて、なにを目指しているのかをについて、調べてみたことをまとめて見たいと思います。 作者のAkshay 氏がすごすぎるmarimoはAkshay氏、Dylan氏の二人で開発をしています。このうち、よく表に出てくるAkshay氏の経歴がなかなかにすごい

Polarsは表形式のデータ構造であるDataFrameの処理を行うためのライブラリで、その高速性と優れたAPI設計から、現在広く用いられているpandasの後継として注目を集めています。高速性の源は、遅延実行を導入することで最適化を可能にしたこと、バックエンドにRustを用いることでマルチコアやSIMD命令を可能にしたことにあります。APIも「エクスプレッション」という概念を導入することで、シンプルかつ高機能にまとまっており、理解しやすく使いやすいものになっています。本書はPolars開発者Ritchie Vink氏の所属するXomnia社の開発者二人により執筆され、Polarsの基本的な使い方からより高度な最適化、並列化の方法をカバーしています。さらには内部構造やRustプラグインによる拡張方法にまで踏み込んでおり、Polars解説書の決定版と言える内容です。 序 はじめに 第Ⅰ部 始

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く