Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

[Python 2] *args przed argumentami nazwanymi



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Python
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Luke



Dołączył: 17 Cze 2007
Posty: 1893
Skąd: Szczecin

PostWysłany: Czw Lut 26, 2015 9:19 pm  OP    Temat postu: [Python 2] *args przed argumentami nazwanymi Odpowiedz z cytatem Pisownia

Python 2 (w przeciwieństwie do Pythona 3) ma problem z poniższą deklaracją funkcji:
Kod:
def y_range(cls, *args, spacing=1):
        [...]
Traceback (most recent call last):
File "/home/luke/[...]/main.py", line 8, in <module>
from mysignalslib import Wave
File "/home/luke/[...]/mysignalslib.py", line 41
def y_range(cls, *args, spacing=1):
^

Idzie jakoś ułaskawić Pythona 2, żeby dopuszczał taką deklarację zagregowania nienazwanych argumentów?
Wydaje mi się, że inaczej nie mogę osiągnąć wystarczającej elastyczności wywołań funkcji, ale może się mylę?
W założeniach mogę przekazać dowolną ilość obiektów reprezentujących wartości sygnału w czasie, a funkcja wyznacza wartości największą i najmniejszą wraz z zadanym marginesem.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
samolot



Dołączył: 26 Sty 2006
Posty: 8314
Skąd: Toruń

PostWysłany: Czw Lut 26, 2015 10:33 pm      Temat postu: Odpowiedz z cytatem Pisownia

Nie żebym się znał na tym języku, ale czy tu szukałeś: https://docs.python.org/2/genindex.html
Trafiłem tu wpisując hasło 'Python 2'

_________________
Nie zadawaj bezcelowych pytań / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Luke



Dołączył: 17 Cze 2007
Posty: 1893
Skąd: Szczecin

PostWysłany: Sob Lut 28, 2015 12:18 am  OP    Temat postu: Odpowiedz z cytatem Pisownia

To oficjalna dokumentacja. Nawet nie wiem, jak miałbym tam znaleźć odpowiedź na taki niuans.
Na Stack Overflow ktoś pisał, że Python 3 złagodził te kwestie. Mi chodzi o to, czy jest może jakiś hack dla Pythona 2.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
biernik



Dołączył: 06 Wrz 2008
Posty: 1148
Skąd: 63°59'39''N 22°38'11''W

PostWysłany: Pią Mar 27, 2015 3:16 pm      Temat postu: Odpowiedz z cytatem Pisownia

Takie coś np.:
Kod:
def y_range(cls, *args, **kwargs):
    spacing = kwargs.get('spacing', 1)
    ...


Jak potrzebujesz dopuścić tylko "spacing" to możesz ręcznie porobić testy na kwargs i rzucić czymś w razie potrzeby.

_________________
I like cheese.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Python Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.16835 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |