'y'とyの違い

('y')と(y)の違いが良く分からなかったし
[NameError: name 'y' is not defined]とメッセージが出る理由も
ほとんど分かっていませんでした
なのでいろいろ聞いて私なりに考えてみました

>>> y=1
>>> (y,y,y)
(1, 1, 1)
>>> y=1
>>> u=2
>>> k=3
>>> (y,u,k,k,y)
(1, 2, 3, 3, 1)
>>> ('y','u','k','k','y')
('y', 'u', 'k', 'k', 'y')

('y')の場合はそのまま出力されるのに対して
(y)の場合は変数として認識されるので値を返して来るのですね
エラーメッセージもちゃんと読みたいと思います