Wpis z mikrobloga

hej mirki,
jak jest z przekazywaniem zmiennych do funkcji w pythonie? Tak jak w C - typy podstawowe przez kopię, a obiekty, listy itd przez referencje? Jak najlepiej przekazać kopie listy (tak żebym nie musiał dużo zmieniać w kodzie)

#naukaprogramowania #python
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ly000: @-PPP-: no dobra pomyliło mi się z jakimś innym
w każdym bądź razie jest jakiś prosty sposób, żeby wymusić przekazywanie przez kopie? W stylu dopisania czegoś w liście argumentów? Czy muszę sobie na początku funkcji samemu pokopiować i działać na kopiach?
  • Odpowiedz
@askorek: Nie programowałem nigdy w Pythonie, ale podejrzewam, że jeśli chcesz sklonować listę, to musisz albo zrobić to ręcznie tworząc nową listę i przekazując do niej wszystkie elementy ze starej, albo skorzystać z gotowej funkcji tak jak np. w Javie metoda .clone().
  • Odpowiedz
@askorek: @-PPP-:
Są dwa rodzaje kopii w Pythonie: shallow and deep.
Pierwsza tworzy kopię obiektu, druga również kobie obiektów, do których jest referencja w obiekcie.
copy.copy - shallow
copy.deepcopy - deep
I faktycznie kopię listy można zrobić poprzez [:]
  • Odpowiedz