Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

Pythonお悩み解決

Pythonのデコレーターにfunctools.wrapsを使ってみましょう

Pythonお悩み解決です。今回は、`functools.wraps`を設定するメリットを紹介します。

「Pythonで使われる()や[]は同じように見えるのですが、どのような違いがあるのでしょうか?」()と[] を解説します。

Python初学者向けに「関数の呼び出しで使う` ( ) `と要素へのアクセスに使う` [ ]` 」を解説します。

「returnの代わりにprint()を書くと判定がFalseになります」クラス内のメソッドでreturnが必要な理由を解説します。

こんにちは。PyQサポートです。 今回は、「クラス内のメソッドでreturnが必要な理由」を解説します。 質問 クラスを使ってアドレス帳を作ろうとしています。姓、名のデータをつなげてフルネームを表示したり検索したりさせたいです。 そこでフルネームを作る…

正規表現の問題で「IndexError: no such group」というエラーが出てきます。このエラーの意味を教えてください。

正規表現でダブルクォーテーションの間だけ取得しようとした時に出てきた`IndexError: no such group`というエラーの意味と考えられる原因を紹介します。

Pythonの実装で、辞書のキーをタイポ(typo)していました。タイポに気づきやすくする方法はありますか?

画面表示では、`res["computer"]`を参照しているので初期値(空文字列)のため何も表示されていませんでした。このように辞書は任意のキーを使ってもエラーになりません。このためキーをタイポしても気づきにくくなります。今回はこんな問題の解決方法を考え…

正規表現でダブルクォーテーションの間だけ取得するには?

こんにちは。PyQチームのtsutomuです。 正規表現の基礎に関連する話題を紹介します。 質問 書いたコード 実行結果 回答(正規表現のマッチの仕方) 解説 このお悩み解決に関連するクエスト 関連記事 正規表現「[^、]、([^、])、(\d+)円$」の意味と、メソッド…

「TypeError: can only concatenate tuple (not "int") to tupleとは何ですか?」

「TypeError: can only concatenate tuple (not "int") to tuple`というエラーが出てきました。なぜ実行されないのでしょうか?」 今回はタプルのTypeErrorの意味とこのエラーが出る原因について解説します。

「演算子の切り捨て除算(//)と剰余(%)が表す意味がわかりません」

「演算子の切り捨て除算(//)と剰余(%)が表す意味がわかりません」という質問が届きましたので、切り捨て除算(//)と剰余(%)の演算子について1つずつ詳しく解説します。

プログラミングを学ぶ上で気になる、復習のタイミングについての疑問に答えます

Pythonを学んでいて理解できない箇所があった時、どのタイミングで復習するべきでしょうか?小まめに復習を行って、理解した上で次に進むべきでしょうか?そんな「復習のタイミング」についての疑問に答えます。

「(dct, /, **kwargs)の/が表すものとは?」仮引数**kwargsの前に/をつける意味について解説します

こんにちは。PyQサポートです。 今回は「**kwargsの前の/」の記述に関する質問です。 質問 プログラムの該当箇所 TypeErrorになるコード 模範解答のコード 回答 **kwargsの前の/が表すもの 1回目のupdateで行われる処理 2回目のupdateで行われる処理 まとめ …

Pythonでリストのスライスに`.append`しても変更されない?への回答

「`リスト.append` として要素を追加しようとしましたが、なぜ何も追加されないのでしょうか?」という疑問に答えます。Pythonにおけるリストやスライス、 `.append` について知ることで解決の一助になれると嬉しいです。

「PythonのTypeError: 'int' object is not iterableとは何ですか?」繰り返しで使えないオブジェクトを紹介します。

今回のお悩み解決は、「TypeError: 'int' object is not iterable`」というエラーを詳しく解説します。

「Pythonの辞書の改行に関する規約はありますか」PEP8 コーディング規約、自動整形ツールblackを紹介します

質問 回答 PEP8コーディング規約 読みやすい書き方を意識しましょう 規約で定められていないコーディングの差異を統一する手法 black 質問 辞書の{} 内の改行については、規約はあるのでしょうか。 ネットで調べてみたところ、とある記事に『Pythonでは、()…

Python print関数のオプションsepを解説します。カンマ(コンマ) に空白(スペース)を入れたくない時はどうする?

「print() 関数でカンマを使うと必ず半角スペースができるという仕組みなのでしょうか?」Python初心者の方に「print() 関数内でカンマを使っても、スペースができない方法」を紹介します。

「PythonのKeyErrorとはなんですか?」エラーの出やすい処理と合わせて解説します

「`KeyError: 'birthday'`というエラーが出ました。このエラーの意味を教えてください。」今回はKeyErrorというエラーの意味と考えられる原因を紹介します。

pandasのデータフレームから特定行を抜き出す処理の意味がわかりません、への回答

こんにちはid:hirokikyです。 今回はpandasのデータフレームから特定行を抜き出す処理に関する質問を紹介します。 質問 pandasのデータフレーム df について、 df[df["y"]==1]["x"] としたとき1個目と2個目の、 df の違いが分かりません。 また、なぜ df …

for文とリスト内包表記のどちらを使うのが良いですか?

こんにちはPyQサポートです。今回は、「for文と内包表記のどちらを使うべきか」を紹介します。 内包表記とは イテラブル 変数itrがイテラブルのときの特徴 いただいた質問 内包表記を使わないプログラム 内包表記を使ったプログラム 回答 内包表記とは [要素…

Pythonの `NameError: name 'xxx' is not defined` とは何ですか?

今回のお悩み解決はPythonの「NameError: name 'xxx' is not defined」という未定義の変数を参照しているエラーについて解説します。

「Pythonのargs、kwargsとは?」可変長引数に関する質問への回答

今回のお悩み解決はPyQの学習サポートプランでよくいただく`*args`、`**kwargs`に関する質問です。この機能は必ず知っていないといけないというものではありませんが、デコレーターを定義する際やクラスの継承をする際に必要となってきます。 ぜひ基本をここ…

「実務ではどのように使われているの?」Pythonのスライスの利用シーンを教えてください

質問 文字列から一部抽出できることは便利だと思いますが、実務で使うイメージが湧きません。 以下の問題で「火・水・木曜日」を抜き出せた時はうれしかったのですが、何の目的で中途半端に抜き出すのか分かりませんでした。 解説では「スライスはよく使いま…

SyntaxError: invalid syntaxとは何ですか?

今回の「Pythonお悩み解決」は『SyntaxError: invalid syntax』というエラーの意味と考えられる原因を紹介します。SyntaxErrorというエラーはプログラムがPythonの文法として正しくないときに発生するエラーで、日本語にすると構文エラーです。

SQLiteと他のデータベースの違いを紹介します。「SQLiteの特徴を教えてください」

今回のお悩み解決は、ファイルベースのデータベースエンジン「SQLite(エスキューライト)」の「同時接続を並列に処理する」という特徴を詳しく紹介します。

変数名の付け方を紹介します。「プログラムの変数には自分がわかりやすい名前をつけても良いでしょうか」

「変数は自分で設定できるので、自分がわかりやすいと思う名前を設定しても良いでしょうか」今回のお悩み解決はプログラムの変数名のつけ方の話をします。

RandomForestRegressorとRandomForestClassifierの違いを解説します

質問 RandomForestRegressorとRandomForestClassifierは、いずれもsklearn.ensembleからインポートし、名前もRandomForestまで共通しています。これらは機能や使い分け場面において、どう異なるのでしょうか。 回答 RandomForestRegressorは、回帰(数値とし…

Pythonお悩み解決【Pythonで正規表現を定数に分離する意味は?】

こんにちはPyQサポートです。 今回はPythonで定数に分離する意味を紹介します。 質問 SALES_FILE_REGEX = re.compile(r"sales_raw_(\d{4})(\d{2})(\d{2}).csv") def main(): sales = [] for name in os.listdir("input/"): m = SALES_FILE_REGEX.search(name…

なぜPythonで「辞書のリスト」が使われる? への回答

id:hirokikyです。 今日はお客様からよくいただく、Pythonのデータ構造に関する質問を解説します。 質問: なぜPythonで「辞書のリスト」が使われる? 回答 Pythonで辞書のリストを活用する ここでのポイント なぜPythonの「リストのリスト」ではダメなのか?…

「コメント(#)とdocstring(""")の違いは?」コメントとdocstringについて解説します

「このコードの中で `"""〜"""` をメモのように使用していますが、 `#` の場合とは何が違うんでしょうか?」という質問が届きました。今回はコメント(#)とdocstring(""")について詳しく解説します。

「文字列の先頭文字列がスライスで取り出せません」スライスでありがちなミスの解決法を紹介します

「スライスを使い、先頭文字列を取り出したいのですが、なぜ実行されないのでしょうか?」という質問が届いたので、解決法を紹介します。

「どちらを使っても良い?」Pythonの「==」と「in」の使い分けについて紹介します

こんにちはPyQサポートです。 今回は ==とin の使い分けについて紹介します。 質問 回答・解説 ==とinの違い 「in」演算子 サンプルコード Python公式ドキュメント:in演算 部分シーケンス判定のサンプルコード 包含判定のサンプルコード 質問 PyQクエスト19…

「Pythonで、 `a, b = 100, 200` などの、カンマ区切りの複数の値や変数は何ですか?」タプルのアンパックについて解説します

こんにちは。PyQサポートです。 質問 回答 タプルのアンパック サンプルコード1 アンパックではないタプルの代入の例 サンプルコード2 質問 タプルの解説の中で、「複数の変数に要素を代入する際 a, b = 100, 200 のように()を付けないこともできる」とあり…

Copyright ©2017- BeProud Inc. All rights reserved.