Mike314 wrote:
Hello,

   I have following code:

def test_func(val):
    print type(val)

test_func(val=('val1'))
test_func(val=('val1', 'val2'))

The output is quite different:

<type 'str'>
<type 'tuple'>

Why I have string in the first case?

It's the comma that makes the tuple, except for one special case: the
empty tuple "()". The parentheses are there just for clarity and
operator precedence.

('val1') is not a 1-tuple, but just parentheses for grouping. The
1-tuple is ('val1', ). Notice that a trailing comma is allowed in tuples
as well as list and dict literals, eg (1, 2, ), [1, 2, ], {1: 2, 3: 4,
}.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to