Παιδιά Καλησπέρα!
Πολύ καλό το site και μπράβο για το εγχείρημα!
Θα επιθυμούσα μία διευκρίνηση αν είναι δυνατό.
Επειδή είμαι αρχάριος στην python (και η βασική επαφή μου είναι από τα μαθήματα που γίναν από το forum του ubuntu-gr ) .....
...Μήπως μπορώ να ρωτάω εδώ κάποιες γενικές απορίες ( ή και ειδικές ) ;
Το λέω γιατί δεν έχω καταλάβει αν συζητάτε μόνο θέματα ανάπτυξης των ήδη προχωρημένων θεμάτων - προγραμμάτων κλπ.
Στην περίπτωση που μου επιτρέπεται να ρωτάω
προχωρώ στο εξής :
Σχετικά με τις κλάσεις και τα αντικείμενα :
Είναι δυνατό μία μεταβλητή ( δυναμική ! να κυμαίνεται ας πούμε στο εύρος μιας λίστας ),
να αντιστοιχείται σε αντικείμενα που αυτή η ίδια μεταβλητή τα ορίζει ; ( τα δημιουργεί ας πούμε ! ).
Πειραματίστηκα με κάτι δικό μου ( για άσκηση )
και προσπάθησα να φτιάξω μία αντζέτα.
Φαντάζομαι ότι θα είναι πανεύκολο με τα τα λεξικά ως δομές δεδομένων. Δεν έχω παίξει όμως καθόλου με λεξικά. Θα ασχοληθώ τώρα βέβαια και νιώθω πως θα το καταφέρω αυτό που θέλω.
Μέχρι τότε όμως .. έχω την απορία ... μπορώ να κάνω κάτι με τον παρακάτω κώδικα ;
#!/usr/bin/python3
class egrafes:
def __init__(self, onoma, tel, mail, odos):
self.onoma = onoma
self.tel = tel
self.mail = mail
self.odos = odos
def exodos(self):
print('{0} : {1} -- {2} -- {3}'.format(self.onoma, self.tel, self.mail, self.odos))
synolo = [0]
onomata = []
tilefona = []
taxydromeia = []
dromoi = []
i = 0
def run():
while True:
global i
global onomata
global tilefona
global taxydromeia
global dromoi
global synolo
name = input('Ονοματεπώνυμο : ')
onomata.append(name)
print(onomata)
tilefono = input('Τηλέφωνο : ')
tilefona.append(tilefono)
email = input('mail : ')
taxydromeia.append(email)
dromos = input('Διεύθυνση : ')
dromoi.append(dromos)
i = i + 1
print(i)
synolo.append(i)
print('το σύνολο είναι : ', synolo)
zz = input('Συνέχεια ; "ν" ή "ο" ')
if zz == 'ο' or zz == 'o':
break
run()
aaa = egrafes(onomata[0], tilefona[0], taxydromeia[0], dromoi[0])
aaa.exodos()
aab = egrafes(onomata[1], tilefona[1], taxydromeia[1], dromoi[1])
aab.exodos ()
######### Προσπάθησα και κάτι τέτοια !!! #############
for seira in synolo:
aaa = egrafes(onomata[seira], tilefona[seira], taxydromeia[seira], dromoi[seira])
########## Ή ακόμα κι αυτό .... προσπαθώντας η μεταβλητή aaa να αντιστοιχείται σε πολλά αντικείμενα #####
for ccc in synolo:
aaa = ('antikeimeno{0}'.format(ccc))
### και μετά κάτι σαν ###
aaa = egrafes(onomata[seira], tilefona[seira], taxydromeia[seira], dromoi[seira])
Δηλαδή μπορώ χωρίς λεξικά αλλά μόνο με λίστες ;
Το
aaa = egrafes(onomata[seira], tilefona[seira], taxydromeia[seira], dromoi[seira])
ως αντικείμενο της κλάσης ... το δημιουργεί αποκλειστικά ο χρήστης ; Υπάρχει δημιουργία αυτόματη των αντικειμένων ; Έτσι ώστε με κάποιον μετρητή εγγραφών να υπάρχουν αυτόματα και τόσα αντικείμενα. Είχα σκοπό να τα γράφω σε εξωτερικό αρχείο και να το ενημερώνω κάοε φορά.
Σας ευχαριστώ πολύ και πάλι συγχαρητήρια !