On 4/12/21 3:06 PM, Jaime wrote:
> Hi all. Line 102 of https://github.com/python/peps/blob/master/pep2html.py 
says:
>
> print(__doc__ % globals(), file=out)
>
> I realise that globals() is a standard-library
> built-in function that returns a dictionary representing the current
> global symbol table, and that the result of this expression is the
> value of the dictionary where the key is "__doc__"

This is not correct.

There are a couple ways to use %-interpolation:

    some_name = 'Jaime'

    # simple
    `hello, %s` % (some_name, )  # hello, Jaime

    # keyed
    `hello, %(a_name)s` % {'a_name': 'Ethan'}  # hello, Ethan

What you are seeing is the keyed version.  So, if the module had, for example:

    version = 1.3
    author = 'GvR'
    date = '2021-04-12'

and the doc string was

    __doc__ = "version %(version)s was initially created by %(author)s"

then

    __doc__ % globals()

would substitute the `author` and `version` keys into __doc__, and printing 
that would yield

    version 1.3 was initially created by GvR

Note that extra keys are ignored.

--
~Ethan~
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to