On 04/06/2015 03:20 PM, Emile van Sebille wrote:
On 4/6/2015 7:54 AM, boB Stepp wrote:
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit
(Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
d = {'n': 'Print me!'}
d
{'n': 'Print me!'}
d['n']
'Print me!'
def func(d['n']):
SyntaxError: invalid syntax
def func(d):
         print d['n']

func(d)
Print me!

The plain text does not show it, but in the invalid syntax the "[" is
highlighted red.

Why is it invalid syntax to pass a particular dictionary value in a
function? Or does it require a different form to do so?

Maybe this form helps:

Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 >>> d = {'a':'123'}
 >>> def func(s=d['a']):
...   print s
...
 >>> func()
123


Only if you know that nobody is going to be changing d.

>>> d = {"a":"123"}
>>> def func(s=d["a"]):
...     print s
...
>>> d["a"] = "new value"
>>> func()
123
>>>


--
DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to