[python] Používání proměnných

Jirka Vejrazka jirka.vejrazka na gmail.com
Pondělí Duben 3 10:48:35 CEST 2017


Zavolalo 2007 a chce odpoved na svoji otazku ;-)

2017-04-03 10:43 GMT+02:00 starenka . <starenka0 na gmail.com>:

> Sorka, chtel sem napsat '%(foo)s %(bar)s %(baz)d' % dict(foo='foo',
> bar='bar', baz=1)
>
> ---
> In Perl you shoot yourself in the foot, but nobody can understand how you
> did it. Six months later, neither can you. | print 'aknerats'[::-1]
>
> 2017-04-03 10:41 GMT+02:00 starenka . <starenka0 na gmail.com>:
>
>> >> U format se mi líbí zejména používání názvů:
>>
>>         '{var}/{log}'.format(**{'log': 'mujlog', 'var': '/var/log'})
>>
>> Co ale jde i takhle 'foo %(bar)s %(baz)s %(baz)d' % dict(foo='foo',
>> bar='bar', baz=1)
>> ---
>> In Perl you shoot yourself in the foot, but nobody can understand how you
>> did it. Six months later, neither can you. | print 'aknerats'[::-1]
>>
>> 2017-04-03 10:36 GMT+02:00 Ondrej Tuma <konference na webjet.cz>:
>>
>>> Ahoj,
>>>
>>> ještě doplním, kolega kdysi testoval různé rychlosti spojování stringů
>>> s tím, že v každé verzi (i jednotlivé verze Python 2.x) se rychlosti
>>> lišily, takže to asi nemá moc cenu řešit.
>>>
>>> Sám používám + buď na spojování 2 max tří stringů. Ale spíš jen jako
>>> jeho další rozšiřování:
>>>
>>>         log_file += '/mujlog'
>>>
>>> Zejména pokud jde o vkládání někam do středu tak pak už %s nebo format,
>>> který má opravdu mnoho krásných možností:
>>>
>>>         log_file = '/var/%s/mujlog' % 'log'
>>>
>>> U format se mi líbí zejména používání názvů:
>>>
>>>         '{var}/{log}'.format(**{'log': 'mujlog', 'var': '/var/log'})
>>>
>>> Ondra
>>>
>>> V Fri, 31 Mar 2017 14:00:08 +0200
>>> Dan Pressl <nu.frix na gmail.com> napsáno:
>>>
>>> > Ahoj,
>>> >
>>> > odpověď je trochu složitější. Pokud máš řetězec, který chceš
>>> > vytisknout klasickým způsobem (print) tak je doporučovaná cesta:
>>> >
>>> > >>> x = 'Martin'
>>> > >>> print 'Ahoj {}'.format(x)
>>> > Ahoj Martin
>>> >
>>> > s tím, že format je nástroj, který umí hodně věcí (pokročilé
>>> > formátování, kontrola datovým typů apod.):
>>> >
>>> > >>> print '{:>3s}% {:.1f}\n{:>3s}% {:d}'.format('5', 3.14, '95', 42)
>>> >   5% 3.1
>>> >  95% 42
>>> >
>>> > a v Python 3 už by se jinak formátovat nemělo. Více informací najdeš
>>> > tady: https://pyformat.info/
>>> >
>>> > Pokud ale používáš Pythoní modul logging, tak by jsi měl používat:
>>> >
>>> > >>> import logging
>>> > >>> logging.info('Ahoj %s', 'Martine')
>>> >
>>> > protože pak můžeš přistupovat k jednotlivým parametrům u logů. Více
>>> > info najdeš na:
>>> >
>>> > https://docs.python.org/3/library/logging.html#logging.LogRecord
>>> >
>>> > 2007-02-25 12:29 GMT+01:00 <martin.stiborsky na gmail.com>:
>>> >
>>> > > Zdravím. Mám dotaz na to, jak pracujete s proměnnými. Jestli
>>> > > používáte přímo název proměnné:
>>> > >
>>> > > test = 'svete'
>>> > >
>>> > > print 'ahoj ' + test
>>> > >
>>> > > Nebo zápis přes % :
>>> > >
>>> > > print 'ahoj %s' % test
>>> > >
>>> > > % se mi líbí, je fajn v tom, že můžu použít %i , %d, .., formátování
>>> > > výstupu, atd. Je tam nějaké zásadní 'ale' ?
>>> > >
>>> > > _______________________________________________
>>> > > Python mailing list
>>> > > python na py.cz
>>> > > http://www.py.cz/mailman/listinfo/python
>>> > >
>>> > > Visit: http://www.py.cz
>>> > >
>>> >
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Ondřej Tůma <mcbig na zeropage.cz>
>>> www: http://ipv6.mcbig.cz   jabber: mcbig na jabber.cz   twitter: mcbig_cz
>>>
>>> _______________________________________________
>>> Python mailing list
>>> python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>> Visit: http://www.py.cz
>>>
>>
>>
>
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20170403/07fc3b0a/attachment-0002.html>


Další informace o konferenci Python