Basic Python
Python Temelleri
Faydalı bilgiler
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.
Temel işlemler
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
Demetler
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
Liste (dizi)
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
Sözlük
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üme
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
Sınıflar
__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, zip, filter, lambda, sorted ve tek satırlık ifadeler
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
Assert()
Eğer koşul yanlışsa dize ekranda yazdırılacaktır
Üreteçler, yield
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:
Last updated