Thread View: pl.comp.lang.python
9 messages
9 total messages
Started by max
Tue, 24 Aug 2010 11:15
"print" do zmiennej string
Author: max
Date: Tue, 24 Aug 2010 11:15
Date: Tue, 24 Aug 2010 11:15
15 lines
1049 bytes
1049 bytes
# poczatek str1 = "test str" print(str1) str2 = print(str1) print(str2) # koniec Dlaczego funkcja print nie zwraca wartości ? Dlaczego zmienna str2 jest "None" ? Czy jest możliwe zapisanie tego co wypisuje print/pprint do zmiennej ? Pozdrawiam M
Re: "print" do zmiennej string
Author: Jacek Czerwinski
Date: Tue, 24 Aug 2010 11:41
Date: Tue, 24 Aug 2010 11:41
20 lines
1427 bytes
1427 bytes
W dniu 2010-08-24 13:15, max pisze: > # poczatek > str1 = "test str" > print(str1) > str2 = print(str1) > print(str2) > # koniec > > > Dlaczego funkcja print nie zwraca wartości ? > Dlaczego zmienna str2 jest "None" ? > Czy jest możliwe zapisanie tego co wypisuje print/pprint do zmiennej ? > Ja kojarze w Pythonie drukowanie do "czegokolwiek co ma metode write" uzywa sie to print output zmiennna (bez przecinka pomiedzy) (ew metoda print, pamiec ulomna). Nie musi dziedziczyc z jakiejs klasy, PrintWritera itd co jest nieco zaskakujace jak sie ma nawyki.
Re: "print" do zmiennej string
Author: Mariusz Kruk
Date: Tue, 24 Aug 2010 11:49
Date: Tue, 24 Aug 2010 11:49
28 lines
1413 bytes
1413 bytes
epsilon$ while read LINE; do echo \>"$LINE"; done < "max" ># poczatek >str1 = "test str" >print(str1) >str2 = print(str1) >print(str2) ># koniec > > >Dlaczego funkcja print nie zwraca wartości ? Bo tak ma. >Dlaczego zmienna str2 jest "None" ? A dlaczego ma być czymś innym? >Czy jest możliwe zapisanie tego co wypisuje print/pprint do zmiennej ? Owszem. Reprezentacja tekstowa obiektu jest zwracana przez metodę __str__() (z tego zresztą korzysta print). PS: Nie zostawiaj odstępu przed pytajnikiem. -- [------------------------] [ Kruk@epsilon.eu.org ] [ http://epsilon.eu.org/ ] [------------------------]
Re: "print" do zmiennej string
Author: Jacek Czerwinski
Date: Tue, 24 Aug 2010 12:19
Date: Tue, 24 Aug 2010 12:19
16 lines
1271 bytes
1271 bytes
W dniu 2010-08-24 13:49, Mariusz Kruk pisze: > epsilon$ while read LINE; do echo \>"$LINE"; done< "max" >> # poczatek >> str1 = "test str" >> print(str1) >> str2 = print(str1) >> print(str2) >> # koniec >> >> >> Dlaczego funkcja print nie zwraca wartości ? > > Bo tak ma. Sporo juz nie obcowalem z formalizmem Pythona, czy 'print' to na pewno funkcja?
Re: "print" do zmiennej string
Author: Mariusz Kruk
Date: Tue, 24 Aug 2010 12:41
Date: Tue, 24 Aug 2010 12:41
23 lines
1469 bytes
1469 bytes
epsilon$ while read LINE; do echo \>"$LINE"; done < "Jacek Czerwinski" >>> # poczatek >>> str1 = "test str" >>> print(str1) >>> str2 = print(str1) >>> print(str2) >>> # koniec >>> >>> Dlaczego funkcja print nie zwraca wartości ? >> Bo tak ma. >Sporo juz nie obcowalem z formalizmem Pythona, czy 'print' to na pewno >funkcja? Nie do końca http://docs.python.org/reference/simple_stmts.html#print Dlategom zdziwion, że w ogóle przypisanie do print() zadziałało. U mnie wyrzuca invalid syntax. -- \------------------------/ | Kruk@epsilon.eu.org | | http://epsilon.eu.org/ | /------------------------\
Re: "print" do zmiennej string
Author: Rob Wolfe
Date: Tue, 24 Aug 2010 14:13
Date: Tue, 24 Aug 2010 14:13
32 lines
2084 bytes
2084 bytes
On 24 Sie, 13:15, max <m...@max.pl> wrote: > # poczatek > str1 = "test str" > print(str1) > str2 = print(str1) > print(str2) > # koniec > > Dlaczego funkcja print nie zwraca wartości ? > Dlaczego zmienna str2 jest "None" ? Z tego kodu wynika, ze chcialbys, aby print zwracala string, ktory wyswietla. Nie robi tego z powodu celowej decyzji projektowej. `print` ma sluzyc do wrzucania stringa do danego strumienia (domyslnie sys.stdout) koniec i kropka. Gdyby zwracala string, to zaraz zaczeto by jej (nad)uzywac do formatowania stringa w pamieci. > Czy jest możliwe zapisanie tego co wypisuje print/pprint do zmiennej ? Mozna, a rozwiazanie zalezy od wersji Pythona, ktorej uzywasz. # 2.5 http://docs.python.org/library/stringio.html#module-cStringIO # 2.6+ >>> a = "aaa".format() >>> a 'aaa' RW
Re: "print" do zmiennej string
Author: Daniel Mróz
Date: Tue, 24 Aug 2010 14:22
Date: Tue, 24 Aug 2010 14:22
14 lines
1373 bytes
1373 bytes
On 24.08.2010, Jacek Czerwinski <x@y.z.pl> wrote: > Sporo juz nie obcowalem z formalizmem Pythona, czy 'print' to na pewno > funkcja? W 3.0 tak. Pozdrawiam Beorn -- Daniel 'Beorn' Mróz <beorn@alpha.pl> http://127.0.0.1/beorn [GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---] [O- M- V! PS+ PE++ Y+ PGP++ t- 5 X R !tv b+ DI D++ G++ e h*] [ r++ y+ ]
Re: "print" do zmiennej string
Author: Bart Ogryczak
Date: Thu, 26 Aug 2010 11:24
Date: Thu, 26 Aug 2010 11:24
20 lines
1896 bytes
1896 bytes
On Aug 24, 2:19 pm, Jacek Czerwinski <x...@y.z.pl> wrote: > W dniu 2010-08-24 13:49, Mariusz Kruk pisze: > > > epsilon$ while read LINE; do echo \>"$LINE"; done< "max" > >> # poczatek > >> str1 = "test str" > >> print(str1) > >> str2 = print(str1) > >> print(str2) > >> # koniec > > >> Dlaczego funkcja print nie zwraca wartości ? > > > Bo tak ma. > > Sporo juz nie obcowalem z formalizmem Pythona, czy 'print' to na pewno > funkcja? Od 3.0 funkcja, wcześniej statement. http://www.python.org/dev/peps/pep-3105/
Re: "print" do zmiennej string
Author: Łukasz Rekucki
Date: Thu, 26 Aug 2010 12:08
Date: Thu, 26 Aug 2010 12:08
35 lines
2212 bytes
2212 bytes
On Aug 26, 1:24 pm, Bart Ogryczak <b.ogryc...@gmail.com> wrote: > On Aug 24, 2:19 pm, Jacek Czerwinski <x...@y.z.pl> wrote: > > > > > > > W dniu 2010-08-24 13:49, Mariusz Kruk pisze: > > > > epsilon$ while read LINE; do echo \>"$LINE"; done< "max" > > >> # poczatek > > >> str1 = "test str" > > >> print(str1) > > >> str2 = print(str1) > > >> print(str2) > > >> # koniec > > > >> Dlaczego funkcja print nie zwraca wartości ? > > > > Bo tak ma. > > > Sporo juz nie obcowalem z formalizmem Pythona, czy 'print' to na pewno > > funkcja? > > Od 3.0 funkcja, wcześniej statement.http://www.python.org/dev/peps/pep-3105/ W 2.6+ też jest ta funkcja jako builtin: >>> mprint = getattr(__builtins__, "print") >>> mprint(1, 2, 3) 1 2 3 Oczywiście nie da się jej używać bezpośrednio jako "print", bo "print" jest słowem kluczowym, ale można to zmienić: from __future__ import print_function
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads