文字列と末尾のカンマ、カップルを取得してタプル (): エラーと概念へのコピー & ペーストの間違い

WBOY
リリース: 2024-07-21 22:43:21
オリジナル
655 人が閲覧しました

String and Trailing comma, get couple and become, Tuple (): A copy & paste mistake to Error and concept

今日は、私のコピー&ペーストの間違いと、Python プログラムで末尾にカンマのある文字列が結合されて Tuple() になった経緯についてお話します。不思議なことに、私はこの間違いを犯すまで、この概念を知りませんでした。
それでは、Python の文字列とタプルについて簡単に学ぶことから始めましょう。

定義: テキストの保存と操作に使用される文字のシーケンス。
構文: 一重引用符 ' '、二重引用符 ' "、または三重引用符 ''' ''/""" """ で囲みます。
不変性: 文字列は作成後に変更できません。

リーリー

タプル

定義: 不変の値のシーケンス。

構文: カンマで区切って括弧 ( ) で定義します。

不変性: 一度作成された要素は変更できません。

リーリー

これで、文字列とタプルについて、また、直接代入またはコンストラクターを使用したクラス アプローチを使用して、文字列型またはタプル型の変数を取得する方法を理解しました。しかし、私の話は違います:)。

Python ステートメントにはセミコロン (;) やコンマ (,)、その他の終了記号 (ブロックを処理するためにスペースが使用されます) は必要ありません。では、「Ajit Kumar」のような文字列で末尾のコンマをどのようにすればよいでしょうか。辞書のリストから文字列要素をコピーすると、多くの場合、末尾にカンマが付きます。これが私に起こったことで、その後話が面白くなりました。

末尾にカンマがある文字列

それでは、まず私のストーリーの例を見てみましょう。

リーリー

ここで、次の 2 つの点に注意してください:
1) Python インタープリターは、文字列「mymistake」の末尾のコンマが原因でエラーをスローしません。そうでない場合、エラーはそれ以上進みません。

2) 文字列変数 mymistake を作成する当初の意図よりも、変数の型が「タプル」になってしまいました。

ここに書きましたが、非常に簡単でシンプルに見えますが、このエラーをデバッグするのに1時間かかりました。文字列を引数としてメソッドに渡していたため、エラーが奇妙で、メソッドの作業を続けてエラーメッセージを理解しようとしました。たとえば、メッセージは次のようなものでした。「name」変数にはメソッド lower() がありません。

問題

括弧なしでカンマを使用すると、Python はそれをタプルとして扱います。

例: mymistake = "Ajit Kumar"、タプル ("Ajit Kumar",) を作成します。

したがって、項目/要素のみを持つタプルを作成したい場合は、非常に注意する必要があります。次の例では、最初の例では項目が括弧 (1) のペア内にある場合でも、Python はそれをタプルではなく整数として扱うことを示します。
リーリー

そのため、単一の項目を含むタプルを作成するには、次のように末尾のカンマを使用する必要があります:


リーリー

そして、これが、文字列の末尾にカンマがある場合、Pythonがそれをタプルとして受け取り、変数を文字列としてではなくタプルとして作成した理由だと思います。

ただし、Python のドキュメントには明確に記載されており、それに気付かず、トレーニング カンマ付きの単一項目であってもタプルを作成するために常に () を使用していたのは私の間違いまたは過失でした。ソース

とにかく、これにより、いくつかの新しい学習と、() を使用せずに単一の項目または複数の項目を含むタプルを作成するショートカットが得られました。はい、さらに多くの項目で「末尾のカンマ」を使用してタプルを作成してみましたが、うまくいきました。例:


リーリー

週末はとても勉強になりました。お役に立てば幸いです。議論や提案をコメントに記入してください。 Python のショートカットやすぐに使える機能について聞くのが大好きです

以上が文字列と末尾のカンマ、カップルを取得してタプル (): エラーと概念へのコピー & ペーストの間違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!