Python学習チャンネル by PyQ

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

Pythonお悩み解決 - Python文法

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

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

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

こんにちは、id:hirokikyです。 今日は、「Pythonでリストのスライスに .append してもリストが変更されないぞ?」という問題の解決法を説明します。 直接この記事がお役に立てるかはわかりませんが、Pythonにおけるリストやスライス、 .append について知る…

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

こんにちはPyQサポートです。 今回は、Python初心者の方に「print() 関数内でカンマを使っても、スペースができない方法」を紹介します。 質問 書いたコード 実行結果 回答 区切り文字を指定しましょう 解説 書いたコード 実行結果 print('これは', 'テスト'…

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

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

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

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

スライスで文字を抽出する意味を教えてください

こんにちはPyQサポートです。今回はスライスの利用シーンを紹介します。 質問 文字列から一部抽出できることは便利だと思いますが、実務で使うイメージが湧きません。 以下の問題で「火・水・木曜日」を抜き出せた時はうれしかったのですが、何の目的で中途…

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

こんにちはPyQサポートです。 今回はプログラムの変数名のつけ方を紹介します。 質問 # 利用状況 used = ['ボールペン', 'ノート', 'のり', 'のり', 'ノート'] # 集計用辞書 items = {} # 各文房具の利用回数の計算 for item in used: if item in items: ite…

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について解説します

こんにちはPyQサポートです。 今回は、「コメント(#)とdocstring(""")の違い」を解説します。 質問 回答 # から始まる行はコメントです """ で文字列を囲んだものの説明 docstringとは何? コメントに「何をしているか」をなるべく書かない まとめ 質問 この…

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

こんにちはPyQサポートです。 今回は、「スライスを使い、先頭文字列を取り出したいのですが、なぜ実行されないのでしょうか?」という質問の解決法を紹介します。 質問 回答 動かない箇所から遡って原因を特定する考え方 出力結果 まとめ 質問 文字列の先頭…

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

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

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

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

辞書.getはどのような処理をするものなのでしょうか?という質問に回答しながら辞書.getについて解説します

こんにちは、PyQサポートです。 今日は、辞書の get メソッドを紹介します。 質問 回答 指定したキーがない場合 質問 「name = employees.get(employee_id)」の「employees.get」について、この.getはどのような処理をするものなのでしょうか? 回答 辞書.ge…

enumerateのオプションの紹介

こんにちは、PyQサポートです。 今日は、for文などで利用される enumerate のオプションを紹介します。 質問 回答 具体例 質問 for index, work_time in enumerate(work_time_list, start=1) このコードの start=1 とはなんですか? 回答 for文で enumerate …

文字列を扱う時の or について。「『if name == 'うな重' or 'ビビンバ丼':』 がうまく動作しません」

ブール演算子 `or` の使い方について紹介します。 質問:「if name == 'うな重' or 'ビビンバ丼':」を実行してもすべてのnameに当てはまってしまいました。なぜでしょうか?

行の最後の「 \ 」とはなんですか?

こんにちは、kamekoです。 行末に書かれた \ について解説します。 質問 回答 公式ドキュメント:字句解析 - 明示的な行継続 公式ドキュメント:字句解析 - 非明示的な行継続 質問 矢印箇所のバックスラッシュの意味を教えてほしいです。 for name in os.lis…

with open()などのカッコ中の「=」の前後に、スペースは不要なのですか?

PyQサポートのkamekoです。今日は、関数呼び出し時のキーワード引数の書き方について解説します。 質問 回答 引用: PEP 8 -- Style Guide for Python Code 質問 PEP8のクエストを消化した際に 「=の前後にスペースを入れる」とあったと思うのですが、以下の…

「文法が覚えられない!」プログラミング初心者に伝えたい、丸暗記しないプロのコードの書き方

こんにちは。PyQチームのnao_yです。 プログラミング初学者の方は「プロはどうやってコードを書いているんだろうと気になったことが一度はあるかと思います。今回はそんな疑問を解決していきます。 Pythonだけに限らず、プログラミングの全般に言える話だと…

Pythonのクラスメソッド(@classmethod)とは?使いどころとメソッドとの違いを解説

id:hirokiky です。 Pythonお悩み解決は、PyQスタンダードプラン(https://pyq.jp/pricing/)の質問からピックアップしてPythonの疑問を紹介します。この記事では、質問が複数あった「 Pythonで `クラス.メソッド()` のように呼び出せるものがあるのですが、…

ifとtry...exceptはどう使い分けるんですか?違いは何ですか?

質問 「 ifとtry...exceptはどう使い分けるんですか?違いは何ですか?」 質問 回答 例外についてのおさらい 例外のサンプルコード 例外をif で避けるのかexceptするのかの使い分け 例外の処理にifを使う場合 例外の処理にexceptを使う場合 具体例 例外を例…

Noneの判定に==ではなくisを使う理由。同値性と同一性を解説します

質問 回答 同値性と同一性 同値性を検査する== 同一性を検査するis 具体的なif name is Noneとif name == Noneの違い if name is Noneと書いてあった場合 if name == Noneと書いてあった場合 参考コード 質問 PyQの問題に、「値がNoneかを判定するには==演算…

Copyright ©2017-2020 BeProud Inc. All rights reserved.