[過去ログ] Pythonのお勉強 Part74 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
658
(2): デフォルトの名無しさん (ワッチョイ 0601-Wuzd) [sage] 2025/02/15(土) 23:12:46.33 ID:DkQLiBFd0(2/2) AAS
ASTで見るとこうなる

import ast
expr = ast.parse("a, b = 1, 2")
print(ast.dump(expr, indent=4))

Module(
 body=[
  Assign(
   targets=[
    Tuple(
     elts=[
      Name(id='a', ctx=Store()),
      Name(id='b', ctx=Store())],
     ctx=Store())],
   value=Tuple(
    elts=[
     Constant(value=1),
     Constant(value=2)],
    ctx=Load()))])
660
(1): デフォルトの名無しさん (ワッチョイ cb10-+v22) [sage] 2025/02/16(日) 00:53:20.10 ID:wh5aR4tC0(1) AAS
>>657-658
ASTでタプルとされているからタプルなのだ、それが言語上の定義なのだと言われればそうですかと言うしかないのだけれど、メモリレイアウトがどうなっているかは気になるな。a, bはメモリ上隣接した位置に配置されるのか、それとも、離れた位置に配置されるけれども代入文の左辺である限りはタプルと呼んでいいということなのか。
668: デフォルトの名無しさん (ワッチョイ e318-+v22) [sage] 2025/02/16(日) 16:31:54.22 ID:dLfK62nh0(3/4) AAS
自分は、一括代入の左辺については(通常の意味での)リストやタプルとは区別した方がわかりやすいのではないかという立場だけど、これらもリストやタプルであると考える立場に立つ場合、その中で、丸括弧で囲むか否かによってタプルになったりならなかったりするという考え方はないんじゃない? ASTでは丸括弧がなくてもタプル扱いみたいだし(>>658
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.042s