Strona główna Polish Python Coders Group
   Strona główna   Pomoc Zaloguj się Rejestracja  
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji

Aktualności: PyStok #37 - PyTorch i BioPython, czyli moc DataScience - 16 stycznia, 18:00, Białystok
Szukaj Szukaj
Strony: [1]   Do dołu
Drukuj
Wątek: Użycie atrybutu z importowanej klasy w nowej funkcji  (Przeczytany 1197 razy)
« : 16:37 09/10/18 »
Yukai Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 2


Witam.
Chcę odwołać się do atrybutu, który występuje w importowanej z zewnątrz klasie.
Gdy odwołuję się do funkcji z tamtej klasy, to wszystko działa, niestety w przypadku odwołania się do atrybutu name, wyskakuje następujący błąd:
'list' object has no attribute 'name'

Kod
def graphem2phonem(slowo):
   phonem = main(slowo)
   try: phonem[-1].ubezdzwiecznij()
   except: pass
   phonem = (forward(phonem) if not slowo.endswith('że') else (forward(phonem[:-2]) + phonem[-2:]) if len(phonem[:-2])>2 else phonem)
   phonem = backward(phonem)
   phonem = unosowienie(phonem)
   if phonem[-1:].name('en'):
       phonem[-1:] = Gloski.Gloski('e')
   return phonem

Jak mogę to naprawić?
Zapisane
« Odpowiedz #1 : 17:09 09/10/18 »
DJangoL Offline
Professional Python User

Zobacz profil
***

Reputacja: 28
Wiadomości: 383


Jak wygląda ta struktura, do której chcesz się odwołać? Jak importujesz moduł?

Może spróbuj tak:

   NazwaModulu.phonem[-1].name

??

phonem[-1:] ?? Wiem, ze to działa, ale zapisuje się phonem [-1]
Zapisane
« Odpowiedz #2 : 17:14 09/10/18 »
Yukai Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 2


Dzięki za odpowiedź Uśmiech
Importuję go tak:

import Gloski
from Gloski import*

Co do phonem[-1], to tak zapisałam na początku, ale wtedy wywala mi błąd, że list out of range Smutny
Zapisane
« Odpowiedz #3 : 17:27 09/10/18 »
DJangoL Offline
Professional Python User

Zobacz profil
***

Reputacja: 28
Wiadomości: 383


Źle importujesz, poza tym import w Python 2 i 3 różni się: https://www.blog.pythonlibrary.org/2016/03/01/python-101-all-about-imports/

A z tym [-1] i [-1:] to tak jest (i nie wiem dlaczego), jak lista jest pusta (zero elementów).

Edit:

To dla mnie coś zupełnie nowego.

moja_lista[-1] zwraca ostatni element listy, a
moja_lista[-1:] zwraca listę 1-elementową z ostatnim elementem listy.

Czad. Jestem zaskoczony.
Zapisane
Strony: [1]   Do góry
Drukuj
Skocz do:  

© 2007 - 2019 Polish Python Coders Group
Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | Theme by PixelSlot