Basic Python
Last updated
Last updated
Μάθε & εξάσκησε στο Hacking του AWS:Εκπαίδευση HackTricks AWS Red Team Expert (ARTE) Μάθε & εξάσκησε στο Hacking του GCP: Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)
list(xrange()) == range() --> Στο python3 το range είναι το xrange του python2 (δεν είναι μια λίστα αλλά ένας γεννήτορας) Η διαφορά μεταξύ ενός Tuple και μιας Λίστας είναι ότι η θέση μιας τιμής σε ένα tuple της δίνει νόημα, ενώ οι λίστες είναι απλά ταξινομημένες τιμές. Τα Tuples έχουν δομές, ενώ οι λίστες έχουν μια σειρά.
Για να υψώσετε έναν αριθμό χρησιμοποιείτε: 3**2 (όχι 3^2) Αν κάνετε 2/3 επιστρέφει 1 επειδή διαιρείτε δύο ακέραιους (integers). Αν θέλετε δεκαδικούς αριθμούς θα πρέπει να διαιρέσετε δεκαδικούς (2.0/3.0). i >= j i <= j i == j i != j a and b a or b not a float(a) int(a) str(d) ord("A") = 65 chr(65) = 'A' hex(100) = '0x64' hex(100)[2:] = '64' isinstance(1, int) = True "a b".split(" ") = ['a', 'b'] " ".join(['a', 'b']) = "a b" "abcdef".startswith("ab") = True "abcdef".contains("abc") = True "abc\n".strip() = "abc" "apbc".replace("p","") = "abc" dir(str) = Λίστα με όλες τις διαθέσιμες μεθόδους help(str) = Ορισμός της κλάσης str "a".upper() = "A" "A".lower() = "a" "abc".capitalize() = "Abc" sum([1,2,3]) = 6 sorted([1,43,5,3,21,4])
Ένωση χαρακτήρων 3 * ’a’ = ‘aaa’ ‘a’ + ‘b’ = ‘ab’ ‘a’ + str(3) = ‘a3’ [1,2,3]+[4,5]=[1,2,3,4,5]
Μέρη μιας λίστας ‘abc’[0] = ‘a’ 'abc’[-1] = ‘c’ 'abc’[1:3] = ‘bc’ από [1] έως [2] "qwertyuiop"[:-1] = 'qwertyuio'
Σχόλια # Σχόλιο μιας γραμμής """ Πολλαπλές γραμμές σχολίων Άλλο ένα """
Βρόχοι
t1 = (1, '2', 'τρία') t2 = (5, 6) t3 = t1 + t2 = (1, '2', 'τρία', 5, 6) (4,) = Singelton d = () κενή πλειάδα d += (4,) --> Προσθήκη σε μια πλειάδα CANT! --> t1[1] == 'Νέα τιμή' list(t2) = [5, 6] --> Από πλειάδα σε λίστα
d = [] κενή a = [1, 2, 3] b = [4, 5] a + b = [1, 2, 3, 4, 5] b.append(6) = [4, 5, 6] tuple(a) = (1, 2, 3) --> Από λίστα σε πλειάδα
d = {} κενό monthNumbers={1: 'Ιαν', 2: 'φεβ', 'φεβ': 2} --> monthNumbers -> {1: 'Ιαν', 2: 'φεβ', 'φεβ': 2} monthNumbers[1] = 'Ιαν' monthNumbers['φεβ'] = 2 list(monthNumbers) = [1, 2, 'φεβ'] monthNumbers.values() = ['Ιαν', 'φεβ', 2] keys = [k for k in monthNumbers] a={'9': 9} monthNumbers.update(a) = {'9': 9, 1: 'Ιαν', 2: 'φεβ', 'φεβ': 2} mN = monthNumbers.copy() #Ανεξάρτητο αντίγραφο monthNumbers.get('key', 0) #Έλεγχος αν υπάρχει το κλειδί, Επιστροφή τιμής του monthNumbers["key"] ή 0 αν δεν υπάρχει
Στα σύνολα δεν υπάρχουν επαναλήψεις myset = set(['α', 'β']) = {'α', 'β'} myset.add('γ') = {'α', 'β', 'γ'} myset.add('α') = {'α', 'β', 'γ'} #Χωρίς επαναλήψεις myset.update([1, 2, 3]) = set(['α', 1, 2, 'β', 'γ', 3]) myset.discard(10) #Αν υπάρχει, αφαίρεσέ το, αλλιώς τίποτα myset.remove(10) #Αν υπάρχει, αφαίρεσέ το, αλλιώς εμφάνισε εξαίρεση myset2 = set([1, 2, 3, 4]) myset.union(myset2) #Τιμές στο myset Ή myset2 myset.intersection(myset2) #Τιμές στο myset ΚΑΙ myset2 myset.difference(myset2) #Τιμές στο myset αλλά όχι στο myset2 myset.symmetric_difference(myset2) #Τιμές που δεν είναι ούτε στο myset ΟΥΤΕ στο myset2 (όχι σε κανένα) myset.pop() #Πάρε το πρώτο στοιχείο του συνόλου και αφαίρεσέ το myset.intersection_update(myset2) #myset = Στοιχεία και στα δύο myset και myset2 myset.difference_update(myset2) #myset = Στοιχεία στο myset αλλά όχι στο myset2 myset.symmetric_difference_update(myset2) #myset = Στοιχεία που δεν είναι σε κανένα από τα δύο
Η μέθοδος στο __It__ θα είναι αυτή που θα χρησιμοποιηθεί από τη συνάρτηση sort για να συγκρίνει αν ένα αντικείμενο αυτής της κλάσης είναι μεγαλύτερο από ένα άλλο
Map είναι σαν: [f(x) για x σε iterable] --> map(tutple,[α,β]) = [(1,2,3),(4,5)] m = map(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9]) --> [False, False, True, False, False, True, False, False, True]
Zip σταματά όταν το μικρότερο από το foo ή το bar σταματήσει:
Lambda χρησιμοποιείται για να ορίσετε μια συνάρτηση (lambda x,y: x+y)(5,3) = 8 --> Χρησιμοποιήστε το lambda ως απλή συνάρτηση sorted(range(-5,6), key=lambda x: x** 2) = [0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5] --> Χρησιμοποιήστε το lambda για να ταξινομήσετε μια λίστα m = filter(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9]) = [3, 6, 9] --> Χρησιμοποιήστε το lambda για φιλτράρισμα reduce (lambda x,y: x*y, [1,2,3,4]) = 24
Αν η συνθήκη είναι ψευδής, το string θα εκτυπωθεί στην οθόνη
Ένας γεννήτορας, αντί να επιστρέφει κάτι, "αποδίδει" κάτι. Όταν τον προσπελάσετε, θα "επιστρέψει" την πρώτη τιμή που δημιουργήθηκε, στη συνέχεια, μπορείτε να τον προσπελάσετε ξανά και θα επιστρέψει την επόμενη τιμή που δημιουργήθηκε. Έτσι, όλες οι τιμές δεν δημιουργούνται ταυτόχρονα και μπορεί να εξοικονομηθεί πολύς χώρος μνήμης χρησιμοποιώντας αυτό αντί για μια λίστα με όλες τις τιμές.
Εάν το εκτελέσετε, θα δείτε κάτι παρόμοιο με το παρακάτω:
Μάθετε & εξασκηθείτε στο Hacking του AWS:Εκπαίδευση HackTricks AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο Hacking του GCP: Εκπαίδευση HackTricks GCP Red Team Expert (GRTE)