Basic Python
Last updated
Last updated
AWS Hacking'i öğrenin ve uygulayın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve uygulayın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
list(xrange()) == range() --> Python3'te range, Python2'nin xrange'ine denk gelir (bir liste değil, bir üreteçtir) Bir Tuple ve Bir Liste arasındaki fark, bir değerin bir tuple içindeki konumunun anlam taşımasıdır ancak listeler sadece sıralı değerlerdir. Tuples yapıya sahiptir ancak listeler sıralıdır.
Bir sayıyı üssü almak için kullanılır: 3**2 (3^2 değil) Eğer 2/3 yaparsanız 1 döner çünkü iki tamsayıyı (integer) bölersiniz. Ondalıklı sonuçlar istiyorsanız float'ları bölmelisiniz (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) = Tüm mevcut metodların listesi help(str) = class str'in tanımı "a".upper() = "A" "A".lower() = "a" "abc".capitalize() = "Abc" sum([1,2,3]) = 6 sorted([1,43,5,3,21,4])
Karakterleri birleştirme 3 * ’a’ = ‘aaa’ ‘a’ + ‘b’ = ‘ab’ ‘a’ + str(3) = ‘a3’ [1,2,3]+[4,5]=[1,2,3,4,5]
Liste parçaları ‘abc’[0] = ‘a’ 'abc’[-1] = ‘c’ 'abc’[1:3] = ‘bc’ [1]'den [2]'ye "qwertyuiop"[:-1] = 'qwertyuio'
Yorumlar # Tek satırlık yorum """ Birkaç satırlık yorum Başka bir tane """
Döngüler
t1 = (1, '2', 'üç') t2 = (5, 6) t3 = t1 + t2 = (1, '2', 'üç', 5, 6) (4,) = Tek elemanlı d = () boş demet d += (4,) --> Demete ekleme YAPAMAZSIN! --> t1[1] == 'Yeni değer' list(t2) = [5, 6] --> Demetten listeye
d = [] boş 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) --> Listeden demete
d = {} boş monthNumbers={1:'Oca', 2: 'şub','şub':2}—> monthNumbers ->{1:'Oca', 2: 'şub','şub':2} monthNumbers[1] = 'Oca' monthNumbers['şub'] = 2 list(monthNumbers) = [1, 2, 'şub'] monthNumbers.values() = ['Oca', 'şub', 2] keys = [k for k in monthNumbers] a={'9':9} monthNumbers.update(a) = {'9':9, 1:'Oca', 2: 'şub','şub':2} mN = monthNumbers.copy() #Bağımsız kopya monthNumbers.get('anahtar',0) #Anahtar var mı kontrol et, monthNumbers["anahtar"]'ın değerini döndür veya yoksa 0 döndür
Kümelerde tekrarlar yoktur myset = set(['a', 'b']) = {'a', 'b'} myset.add('c') = {'a', 'b', 'c'} myset.add('a') = {'a', 'b', 'c'} #Tekrar yok myset.update([1, 2, 3]) = set(['a', 1, 2, 'b', 'c', 3]) myset.discard(10) #Varsa kaldır, yoksa değişiklik yapma myset.remove(10) #Var ise kaldır, yoksa hata ver myset2 = set([1, 2, 3, 4]) myset.union(myset2) #myset VEYA myset2 değerleri myset.intersection(myset2) #myset VE myset2'deki değerler myset.difference(myset2) #myset'teki ama myset2'de olmayan değerler myset.symmetric_difference(myset2) #myset VE myset2'de olmayan değerler (ikisinde de olmayan) myset.pop() #Kümenin ilk elemanını al ve kaldır myset.intersection_update(myset2) #myset = myset ve myset2'deki elemanlar myset.difference_update(myset2) #myset = myset'teki ama myset2'de olmayan elemanlar myset.symmetric_difference_update(myset2) #myset = ikisinde de olmayan elemanlar
__It__ içindeki metod, bu sınıfın bir nesnesinin diğerinden büyük olup olmadığını karşılaştırmak için kullanılacaktır.
Map şuna benzer: [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, foo veya bar'ın daha kısa olanı durduğunda durur:
Lambda, bir fonksiyon tanımlamak için kullanılır (lambda x,y: x+y)(5,3) = 8 --> Lambda'yı basit bir fonksiyon olarak kullanın sorted(range(-5,6), key=lambda x: x** 2) = [0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5] --> Bir liste sıralamak için lambda kullanın m = filter(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9]) = [3, 6, 9] --> Filtreleme yapmak için lambda kullanın reduce (lambda x,y: x*y, [1,2,3,4]) = 24
Eğer koşul yanlışsa dize ekranda yazdırılacaktır
Bir üreteç, bir şeyi döndürmek yerine bir şeyi "yield" eder. Ona eriştiğinizde, üretilen ilk değeri "döndürecektir", sonra tekrar erişebilir ve üretilen bir sonraki değeri döndürecektir. Bu nedenle, tüm değerler aynı anda üretilmez ve tüm değerleri içeren bir listeden daha az bellek kullanarak bunu kullanmak daha avantajlı olabilir.
Eğer çalıştırırsanız, aşağıdakine benzer bir şey göreceksiniz:
AWS Hacking'i öğrenin ve uygulayın: HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve uygulayın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)