質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

402閲覧

pythonで、内部に1つしか要素がなく、,カンマでおわっていない()要素は、どういう扱いと考えればいいのでしょうか?

teratera_f1

総合スコア15

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/09/28 02:54

pythonで、以下のnon_tp のように変数の代入の時に()を使ったときに、1つしか要素がなくて、要素の終わりに,がなかったときに、この()を入れた場合と、入れなかった場合で、どのような意味上の違いがあるのでしょうか? もしくは、入れてはいけないとき、入れなければいけないときはどのような時でしょうか?

python

1non_tp = (1) 2tp = (1,) 3 4type(non_tp) 5#->int 6 7type(tp) 8#->tuple

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

どちらの()も式の結合順序を指定する記号として解釈されていますが、外側になにも置かれていないので機能してなく意味がありません

(2 + 3) # => 5 この () に意味はない (2) #=> 2 この () に意味はない

この2行の ()に意味がないのと一緒です


本来はこんな感じで使うものです。

3 + 2 * 5 # => 13 3 + (2 * 5) # => 13 もともとこの結合順序なので () に意味はない (3 + 2) * 5 # => 25

python

1tp = (1,)

と書いた時に意味があるのは,の方です

python

1tp = 1,

と書くことでひとつの要素を持つタプルを生成します。(()に意味がないと先に書いた通り、()の必要はありません)

公式ドキュメントだとここに書いてあります。
https://docs.python.org/ja/3/tutorial/datastructures.html#tuples-and-sequences

一つの要素を持つタプルは、値の後ろにコンマを続ける (単一の値を丸括弧で囲むだけでは不十分です) ことで構築できます。

https://docs.python.org/ja/3/reference/datamodel.html#index-20

単一の要素からなるタプル (単集合 'singleton') を作るには、要素を表現する式の直後にカンマをつけます (単一の式だけではタプルを形成しません。これは、式をグループ化するのに丸括弧を使えるようにしなければならないからです)。

投稿2022/09/28 03:07

編集2022/09/28 03:13
quickquip

総合スコア11038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teratera_f1

2022/09/30 09:22

ありがとうございました。よく理解できました。感謝いたします。
guest

0

カンマの無い括弧は、演算の優先度を指定するときの括弧です。(a+b)*cの括弧。
(1)だと1と同じです。

投稿2022/09/28 02:58

otn

総合スコア84533

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問