Basic Python
Last updated
Last updated
Lernen Sie & üben Sie AWS-Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen Sie & üben Sie GCP-Hacking: HackTricks Training GCP Red Team Expert (GRTE)
list(xrange()) == range() --> In Python 3 ist range das xrange von Python 2 (es ist kein Liste, sondern ein Generator) Der Unterschied zwischen einem Tupel und einer Liste besteht darin, dass die Position eines Werts in einem Tupel eine Bedeutung hat, während Listen nur geordnete Werte sind. Tupel haben Strukturen, Listen haben eine Reihenfolge.
Um eine Zahl zu potenzieren, verwenden Sie: 3**2 (nicht 3^2) Wenn Sie 2/3 eingeben, gibt es 1 zurück, weil Sie zwei Ganzzahlen (integers) dividieren. Wenn Sie Dezimalzahlen möchten, sollten Sie Floats dividieren (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) = Liste aller verfügbaren Methoden help(str) = Definition der Klasse str "a".upper() = "A" "A".lower() = "a" "abc".capitalize() = "Abc" sum([1,2,3]) = 6 sorted([1,43,5,3,21,4])
Zeichen verbinden 3 * ’a’ = ‘aaa’ ‘a’ + ‘b’ = ‘ab’ ‘a’ + str(3) = ‘a3’ [1,2,3]+[4,5]=[1,2,3,4,5]
Teile einer Liste ‘abc’[0] = ‘a’ 'abc’[-1] = ‘c’ 'abc’[1:3] = ‘bc’ von [1] bis [2] "qwertyuiop"[:-1] = 'qwertyuio'
Kommentare # Einzeiliger Kommentar """ Mehrere Zeilen Kommentar Ein weiterer """
Schleifen
t1 = (1, '2', 'drei') t2 = (5, 6) t3 = t1 + t2 = (1, '2', 'drei', 5, 6) (4,) = Singelton d = () leeres Tupel d += (4,) --> Hinzufügen zu einem Tupel KANN NICHT! --> t1[1] == 'Neuer Wert' list(t2) = [5, 6] --> Vom Tupel zur Liste
d = [] leer 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) --> Von Liste zu Tupel
d = {} leer monthNumbers={1:'Jan', 2: 'feb','feb':2}--> monthNumbers ->{1:'Jan', 2: 'feb','feb':2} monthNumbers[1] = 'Jan' monthNumbers['feb'] = 2 list(monthNumbers) = [1, 2, 'feb'] monthNumbers.values() = ['Jan', 'feb', 2] keys = [k for k in monthNumbers] a={'9':9} monthNumbers.update(a) = {'9':9, 1:'Jan', 2: 'feb','feb':2} mN = monthNumbers.copy() #Unabhängige Kopie monthNumbers.get('key',0) #Überprüfen, ob der Schlüssel existiert, Rückgabe des Werts von monthNumbers["key"] oder 0, wenn er nicht existiert
In Mengen gibt es keine Wiederholungen myset = set(['a', 'b']) = {'a', 'b'} myset.add('c') = {'a', 'b', 'c'} myset.add('a') = {'a', 'b', 'c'} #Keine Wiederholungen myset.update([1, 2, 3]) = set(['a', 1, 2, 'b', 'c', 3]) myset.discard(10) #Wenn vorhanden, entfernen, wenn nicht, nichts myset.remove(10) #Wenn vorhanden, entfernen, wenn nicht, Ausnahme auslösen myset2 = set([1, 2, 3, 4]) myset.union(myset2) #Werte in myset ODER myset2 myset.intersection(myset2) #Werte in myset UND myset2 myset.difference(myset2) #Werte in myset, aber nicht in myset2 myset.symmetric_difference(myset2) #Werte, die weder in myset NOCH in myset2 sind (nicht in beiden) myset.pop() #Das erste Element der Menge erhalten und entfernen myset.intersection_update(myset2) #myset = Elemente sowohl in myset als auch in myset2 myset.difference_update(myset2) #myset = Elemente in myset, aber nicht in myset2 myset.symmetric_difference_update(myset2) #myset = Elemente, die in keinem der beiden sind
Die Methode in __It__ wird von sort verwendet, um zu überprüfen, ob ein Objekt dieser Klasse größer ist als ein anderes
Map funktioniert wie: [f(x) for x in iterable] --> map(tutple,[a,b]) = [(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 stoppt, wenn der kürzere von foo oder bar stoppt:
Lambda wird verwendet, um eine Funktion zu definieren (lambda x,y: x+y)(5,3) = 8 --> Verwenden Sie lambda als einfache Funktion sorted(range(-5,6), key=lambda x: x** 2) = [0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5] --> Verwenden Sie lambda zum Sortieren einer Liste m = filter(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9]) = [3, 6, 9] --> Verwenden Sie lambda zum Filtern reduce (lambda x,y: x*y, [1,2,3,4]) = 24
mult1 = [x für x in [1, 2, 3, 4, 5, 6, 7, 8, 9] wenn x%3 == 0 ]
Wenn die Bedingung falsch ist, wird der String auf dem Bildschirm ausgegeben.
Ein Generator gibt nicht etwas zurück, sondern er "yieldet" etwas. Wenn du darauf zugreifst, wird er den ersten generierten Wert "zurückgeben", dann kannst du erneut darauf zugreifen und er wird den nächsten generierten Wert zurückgeben. Daher werden nicht alle Werte gleichzeitig generiert und es könnte viel Speicher gespart werden, wenn man dies anstelle einer Liste mit allen Werten verwendet.
Wenn Sie es ausführen, sehen Sie etwas Ähnliches wie das Folgende:
Lernen Sie AWS-Hacking und üben Sie:HackTricks Training AWS Red Team Expert (ARTE) Lernen Sie GCP-Hacking und üben Sie: HackTricks Training GCP Red Team Expert (GRTE)