Bir Bakışta Python Temelleri. Python Programlama Dili: Temel Bilgiler, Özellikler ve Örnekler

  • 21.09.2019

Bir zamanlar kapalı bir forumda Python öğretmeye çalıştım. Genel olarak, işler orada durdu. Yazılı dersler için üzüldüm ve onları genel halk için yayınlamaya karar verdim. İlk olmasına rağmen, en basiti. Daha ilginç hale geliyor, ama belki de ilginç olmayacak. Genel olarak bu gönderi bir deneme balonu olacak, beğenirseniz daha da yayacağım.

Yeni başlayanlar için Python. Bölüm ilk. "biz neyiz"

Her ihtimale karşı, biraz sıkıcı "evanjelizm". Kim sıkılırsa birkaç paragraf atlayabilirsiniz.
Python ("python" değil "Python" olarak telaffuz edilir), yeni başlayanlar için öğrenmesi kolay, basit bir dil olarak Guido van Rossum tarafından geliştirilen bir betik dilidir.
Günümüzde Python, birçok alanda kullanılan yaygın olarak kullanılan bir dildir:
- Uygulama yazılımının geliştirilmesi (örneğin, linux yardımcı programları yum, pirut, system-config-*, Gajim IM istemcisi ve diğerleri)
- Web uygulamalarının geliştirilmesi (örneğin, CIA web sitesinin çalıştığı temelinde geliştirilen en güçlü Zope Uygulama sunucusu ve CMS Plone ve Plones, Django uygulamalarının hızlı bir şekilde geliştirilmesi için birçok çerçeve, TurboGears ve diğerleri)
- Sadece birçok oyunda değil (OpenOffice.org ofis paketinde, Blender 3d düzenleyicide, Postgre DBMS'de) gömülü bir betik dili olarak kullanın
- Bilimsel hesaplamalarda kullanım (hesaplamalar için SciPy ve numPy paketleri ve çizim için PyPlot ile Python, MatLab gibi paketlerle neredeyse karşılaştırılabilir hale gelir)

Ve bu kesinlikle bu harika dili kullanan projelerin tam listesi değil.

1. Tercümanın kendisi, buradan edinebilirsiniz (http://python.org/download/).
2. Geliştirme ortamı. Başlangıç ​​için gerekli değildir ve dağıtıma dahil olan IDLE yeni başlayanlar için uygundur, ancak ciddi projeler için daha ciddi bir şeye ihtiyacınız vardır.
Windows için harika hafif PyScripter (http://tinyurl.com/5jc63t) kullanıyorum, Linux için Komodo IDE kullanıyorum.

İlk ders için Python'un etkileşimli kabuğunun kendisi yeterli olacaktır.

Sadece python.exe'yi çalıştırın. Giriş istemi uzun sürmez, şöyle görünür:

Ayrıca, işaretleme karakterlerini metne eklemeyen favori metin düzenleyicinizde py uzantılı dosyalara programlar da yazabilirsiniz (hiçbir Word yapmaz). Bu düzenleyicinin "akıllı sekmeler" yapabilmesi ve boşlukları bir sekme karakteriyle değiştirmemesi de istenir.
Yürütme için dosyaları çalıştırmak için üzerlerine 2 kez tıklayabilirsiniz. Konsol penceresi çok hızlı kapanırsa, programın sonuna aşağıdaki satırı ekleyin:

Ardından tercüman programın sonunda enter tuşuna basılmasını bekleyecektir.

Veya Far'daki py dosyalarını Python ile ilişkilendirin ve enter tuşuna basarak açın.

Son olarak, hem hata ayıklama yetenekleri hem de sözdizimi vurgulama ve diğer birçok "kolaylık" sağlayan birçok kullanışlı Python IDE'sinden birini kullanabilirsiniz.

Biraz teori.

Yeni başlayanlar için Python, güçlü bir şekilde dinamik olarak yazılmış bir dildir. Ne anlama geliyor?

Bir değişkenin tipinin önceden belirlendiği ve değiştirilemediği güçlü tipleme (pascal, java, c vb.) ), burada bir değişkenin türü, atanan değere bağlı olarak yorumlanır.
Dinamik olarak yazılan diller ayrıca 2 türe ayrılabilir. Kesin tür dönüşümlerine izin vermeyen (Pyton) ve katı olmayan, örtük tür dönüşümleri gerçekleştiren katı (örneğin, "123" dizesini ve 456 sayısını kolayca ekleyebileceğiniz VB).
Python'un sınıflandırmasını ele aldıktan sonra, yorumlayıcı ile biraz "oynamaya" çalışalım.

>>> a = b = 1 >>> a, b (1, 1) >>> b = 2 >>> a, b (1, 2) >>> a, b = b, a >>> a , b (2, 1)

Böylece atamanın = işareti kullanılarak yapıldığını görüyoruz. Birden çok değişkene aynı anda bir değer atayabilirsiniz. Yorumlayıcıya etkileşimli olarak bir değişkenin adını söylediğinizde, değerini verir.

Bilmeniz gereken bir sonraki şey, temel algoritmik birimlerin nasıl oluşturulduğudur - dallar ve döngüler. Başlamak için biraz yardıma ihtiyacımız var. Python'da özel bir kod bloğu sınırlayıcı yoktur, rolleri girinti ile oynanır. Yani aynı girinti ile yazılanlar bir komut bloğudur. İlk başta garip gelebilir, ancak biraz alıştıktan sonra, bu "zorunlu" önlemin çok okunabilir kod almanızı sağladığını anlıyorsunuz.
Yani koşullar.

Koşul, ":" ile biten bir if ifadesi kullanılarak belirtilir. İlk testin "başarısız" olması durumunda sağlanacak alternatif koşullar elif deyimi ile verilmektedir. Son olarak, else, koşullardan hiçbiri eşleşmediğinde yürütülecek dalı belirtir.
if yazdıktan sonra, yorumlayıcının "..." istemiyle girişin devam etmesini beklediğini belirttiğine dikkat edin. Ona işimizin bittiğini söylemek için boş bir dize girmelisiniz.

(Bir nedenden dolayı, dalları olan örnek, ön ve kod etiketleriyle yapılan danslara rağmen Habré'deki işaretlemeyi bozuyor. Rahatsızlık için özür dilerim, buraya attım pastebin.com/f66af97ba, biri bana neyin yanlış olduğunu söylerse, çok minnettar ol)

döngüler.

Döngünün en basit hali while döngüsüdür. Parametre olarak bir koşul alır ve doğru olduğu sürece yürütülür.
İşte küçük bir örnek.

>>> x = 0 >>> x iken<=10: ... print x ... x += 1 ... 0 1 2 ........... 10

Hem print x hem de x+=1 aynı girinti ile yazıldığından, bunların döngünün gövdesi olarak kabul edildiğini unutmayın (bloklar hakkında ne dediğimi hatırlıyor musunuz? ;-)).

Python'daki ikinci döngü türü for döngüsüdür. Diğer dillerdeki foreach döngüsüne benzer. Sözdizimi geleneksel olarak aşağıdaki gibidir.

Listedeki değişken için:
komutlar

Değişkene sırayla listedeki tüm değerler atanacaktır (aslında, sadece bir liste değil, başka herhangi bir yineleyici de olabilir, ancak şimdilik bununla uğraşmayacağız).

İşte basit bir örnek. Liste, bir karakter listesinden başka bir şey olmayan bir dize olacaktır.

>>> x = "Merhaba Python!" >>> x'deki karakter için: ... karakter yazdır ... H e l ........... !

Böylece dizeyi karakterlere ayırabiliriz.
Belirli sayıda tekrar eden bir döngüye ihtiyacımız olursa ne yapmalıyız? Çok basit, menzil işlevi kurtarmaya gelecek.

Girişte bir ila üç parametre alır, çıkışta for deyimiyle "üzerinden geçebileceğimiz" bir sayı listesi döndürür.

Burada, parametrelerinin rolünü açıklayan aralık işlevini kullanmanın bazı örnekleri verilmiştir.

>>> menzil(10) >>> menzil(2, 12) >>> menzil(2, 12, 3) >>> menzil(12, 2, -2)

Ve bir döngü ile küçük bir örnek.

>>> (10) aralığında x için: ... yazdır x ... 0 1 2 ..... 9

Giriş çıkış

Python'u tam olarak kullanmaya başlamadan önce bilmeniz gereken son şey, I/O'yu nasıl ele aldığıdır.

Çıktı için, tüm argümanlarını insan tarafından okunabilir biçimde yazdıran print komutu kullanılır.

Konsol girişi için, bir bilgi istemi görüntüleyen ve kullanıcı girişini bekleyen ve kullanıcının girdiği değeri değer olarak döndüren raw_input(prompt) işlevi kullanılır.

X = int(raw_input ("Bir sayı girin:")) print "Bu sayının karesi ", x * x

Dikkat! Giriş () işlevi benzer bir eylemin varlığına rağmen, programda ciddi bir güvenlik açığı olan yorumlayıcı kullanılarak girilen sözdizimsel ifadeleri yürütmeye çalıştığı için programlarda kullanılması önerilmez.

İlk ders için bu kadar.

Ev ödevi.

1. Bir dik üçgenin hipotenüsünü hesaplayan bir program yazınız. Bacakların uzunluğu kullanıcıdan talep edilir.
2. İkinci dereceden bir denklemin köklerini genel terimlerle bulan bir program yazın. Katsayılar kullanıcıdan istenir.
3. Çarpım tablosunu M sayısına göre görüntüleyen bir program yazın. Tablo M * a'dan M * b'ye derlenir, burada M, a, b kullanıcıdan istenir. Çıktı bir sütunda olmalıdır, her satıra bir örnek aşağıdaki biçimde olmalıdır (örneğin):
5 x 4 = 20
5 x 5 = 25
Ve benzeri.

Python, istediğiniz her şeyi yapabileceğiniz popüler ve güçlü bir betik dilidir. Örneğin, web sitelerini tarayabilir ve onlardan veri toplayabilir, ağlar ve araçlar oluşturabilir, hesaplamalar yapabilir, Raspberry Pi için programlayabilir, grafik programları ve hatta video oyunları geliştirebilirsiniz. Python, platformdan bağımsız sistem programları \\ yazabilir.

Bu yazımızda Python programlamanın temellerini ele alacağız, dili kullanmaya başlamak için ihtiyaç duyacağınız tüm temel özellikleri ele almaya çalışacağız. Çeşitli problemleri çözmek için sınıfların ve yöntemlerin kullanımını ele alacağız. Dilin temellerini ve sözdizimini zaten bildiğiniz varsayılmaktadır.

Python nedir?

Dilin yaratılış ve gelişim tarihine girmeyeceğim, bunu aşağıda eklenecek olan videodan kolayca öğrenebilirsiniz. Python'un bir betik dili olduğuna dikkat etmek önemlidir. Bu, kodunuzun hatalara karşı kontrol edildiği ve herhangi bir ek derleme veya yeniden işleme gerekmeden hemen yürütüldüğü anlamına gelir. Bu yaklaşıma yorumlayıcı da denir.

Bu, performansı düşürür, ancak çok uygundur. Komutları girebileceğiniz ve sonuçlarını hemen görebileceğiniz bir yorumlayıcı var. Bu tür etkileşimli çalışma, öğrenmede çok yardımcı olur.

tercümanda çalışmak

Herhangi bir işletim sisteminde Python yorumlayıcısını başlatmak çok kolaydır. Örneğin, Linux'ta terminalde python komutunu yazmanız yeterlidir:

Açılan yorumlayıcı isteminde Python'un şu anda kullanımda olan sürümünü görüyoruz. Günümüzde Python 2 ve Python 3'ün iki versiyonu çok yaygın.Her ikisi de popüler çünkü ilki çok sayıda program ve kütüphane geliştirdi ve ikincisi daha fazla özelliğe sahip. Bu nedenle, dağıtımlar her iki sürümü de içerir. Varsayılan olarak, ikinci sürüm başlatılır. Ancak sürüm 3'e ihtiyacınız varsa, çalıştırmanız gerekir:

Bu makalede ele alınacak üçüncü versiyondur. Şimdi bu dilin temel özelliklerine bakalım.

Dizi İşlemleri

Python'daki dizeler değişmezdir, bir dizedeki karakterlerden birini değiştiremezsiniz. İçerikte yapılacak herhangi bir değişiklik, yeni bir kopyanın yapılmasını gerektirir. Yazılan her şeyi daha iyi anlamak için yorumlayıcıyı açın ve aşağıdaki örnekleri izleyin:

1. Dizelerin birleştirilmesi

str = "hoş geldiniz" + "python'a"
yazdır(str)

2. Dize çarpma

str = "kayıp" * 2
yazdır(str)

3. Dönüşümle birleştirmek

Bir dizeyi bir sayı veya bir boole ile birleştirebilirsiniz. Ancak bunun için bir dönüşüm kullanmanız gerekir. Bunun için bir str() işlevi vardır:

str = "Bu bir test numarasıdır" + str(15)
yazdır(str)

4. Bir alt dizi arayın

find yöntemini kullanarak bir karakter veya alt dize bulabilirsiniz:

str = "Siteye hoş geldiniz"
print(str.find("site"))

Bu yöntem, bulunursa alt dize sitesinin ilk oluşumunun konumunu yazdırır, bulunamazsa -1 döndürülür. İşlev ilk karakterden başlar, ancak 26 gibi n'inci karakterden başlayabilirsiniz:

str = "Site sitesine hoş geldiniz"
print(str.find("kayıp",26))

Bu durumda, dize bulunamadığından işlev -1 değerini döndürür.

5. Bir alt dize alma

Aradığımız alt dizginin konumunu bulduk ve şimdi alt dizginin kendisini nasıl alacağız ve ondan sonra ne var? Bunu yapmak için bu sözdizimini kullanın [başlangıç:bitiş], sadece iki sayı veya yalnızca ilkini belirtin:

str = "Bir iki üç"
yazdır(str[:2])
yazdır(str)
yazdır(str)
yazdır(str[-1])

İlk satır, birinciden ikinci karaktere, ikincisi - ikinciden sonuna kadar bir alt dize çıkaracaktır. Geri sayımın sıfırdan başladığını lütfen unutmayın. Geriye doğru saymak için negatif bir sayı kullanın.

6. Alt dize değişimi

Bir dizenin bir kısmını replace yöntemiyle değiştirebilirsiniz:

str = "Bu site Linux hakkındadır"
str2 = str.replace("Linux", "Windows")
yazdır(str2)

Çok sayıda olay varsa, yalnızca ilki değiştirilebilir:

str = "Bu bir Linux sitesi ve ben bu siteye aboneyim"
str2 = str.replace("web sitesi", "sayfa",1)
yazdır(str2)

7. Hatların temizlenmesi

Strip işleviyle fazladan boşlukları kaldırabilirsiniz:

str = "Bu bir Linux web sitesidir"
yazdır(str.şerit())

Ayrıca, rstrip'in yalnızca sağındaki veya yalnızca soldaki - lstrip'teki fazladan boşlukları kaldırmak da mümkündür.

8. Vaka değişikliği

Karakterlerin büyük/küçük harf durumunu değiştirmek için özel işlevler vardır:

str="Lost'a Hoş Geldiniz"
print(str.üst())
print(str.low())

9. Dize dönüştürme

Bir dizeyi çeşitli sayısal türlere dönüştürmek için çeşitli işlevler vardır, bunlar int() , float() , long() ve diğerleridir. int() işlevi bir tamsayıya ve float() işlevi bir kayan noktalı sayıya dönüştürür:

str="10"
str2="20"
yazdır(str+str2)
print(int(str)+int(str2))

10. Çizgi uzunluğu

Bir dizedeki karakter sayısını hesaplamak için min(), max(), len() işlevlerini kullanabilirsiniz:

str="Lost'a Hoş Geldiniz"
yazdır(dak(str))
yazdır(maks(str))
yazdır(len(str))

İlki minimum karakter boyutunu, ikincisi maksimumu ve üçüncüsü de dizinin toplam uzunluğunu gösterir.

11. Bir satır üzerinde yineleme yapın

Bir for döngüsü ile bir dizgenin her karakterine ayrı ayrı erişebilirsiniz:

str="Siteye hoş geldiniz"
aralıktaki i için(len(str)):
print(str[i])

Döngüyü sınırlamak için len() işlevini kullandık. Girintiye dikkat edin. Python programlama bunun üzerine kuruludur, blokları organize etmek için parantez yoktur, sadece girinti vardır.

Sayılarla yapılan işlemler

Python'daki sayılar, yöntemlerde bildirmek veya kullanmak için yeterince basittir. Tam sayılar veya kayan değerler oluşturabilirsiniz:

sayı1 = 15
sayı2 = 3.14

1. Yuvarlama sayıları

Bir sayıyı yuvarlama işleviyle yuvarlayabilirsiniz, yalnızca kaç basamak bırakılacağını belirtin:

a=15.5652645
yazdır(yuvarlak(a,2))

2. Rastgele sayı üretimi

Rastgele modülü kullanarak rastgele sayılar alabilirsiniz:

rastgele içe aktar
yazdır(rastgele.rastgele())

Varsayılan olarak, sayı 0.0 ila 1.0 aralığında oluşturulur. Ancak kendi aralığınızı belirleyebilirsiniz:

rastgele içe aktar
sayılar=
print(random.choice(sayılar))

Tarih ve saat ile işlemler

Python programlama dili, tarihler ve saatler üzerinde çeşitli işlemleri gerçekleştirmenize izin veren bir DateTime modülüne sahiptir:

tarih saatini içe aktar
cur_date = tarihsaat.tarihsaat.now()
yazdır(kur_tarihi)
print(cur_date.year)
print(gün_tarihi.gün)
print(cur_date.weekday())
print(cur_date.ay)
print(cur_date.time())

Örnek, bir nesneden istenen değerin nasıl çıkarılacağını gösterir. İki nesne arasındaki farkı alabilirsiniz:

tarih saatini içe aktar
time1 = datetime.datetime.now()
time2 = datetime.datetime.now()
zaman farkı = zaman2 - zaman1
print(timediff.mikrosaniye)

Kendiniz keyfi bir değere sahip tarih nesneleri oluşturabilirsiniz:

time1 = datetime.datetime.now()
time2 = tarihsaat.timedelta(gün=3)
zaman3=zaman1+zaman2
yazdır(zaman3.tarih())

1. Tarih ve saat biçimlendirme

strftime yöntemi, seçilen standart veya belirtilen biçime bağlı olarak tarih ve saat biçimini değiştirmenize olanak tanır. İşte temel biçimlendirme karakterleri:

  • %a- haftanın günü, kısaltılmış adı;
  • %A- haftanın günü, tam adı;
  • %w- 0'dan 6'ya kadar haftanın gün sayısı;
  • %d- ayın günü;
  • %b- ayın kısaltılmış adı;
  • %B- ayın tam adı;
  • %m- ay numarası;
  • %Y- yıl numarası;
  • %H- 24 saat formatında günün saati;
  • %l- 12 saatlik formatta günün saati;
  • %p- AM veya PM;
  • %M- dakika;
  • %S- ikinci.

tarih saatini içe aktar
tarih1 = tarihsaat.tarihsaat.now()
print(date1.strftime("%d. %B %Y %I:%M%p"))

2. Dizeden tarih oluşturun

Bir dizeden bir tarih nesnesi oluşturmak için strptime() işlevini kullanabilirsiniz:

tarih saatini içe aktar
date1=datetime.datetime.strptime("2016-11-21", "%Y-%m-%d")
tarih2=tarihsaat.tarihsaat(yıl=2015, ay=11, gün=21)
yazdır(tarih1);
yazdır(tarih2);

Dosya sistemi işlemleri

Python programlama dilinde dosya yönetimi çok kolaydır, dosyalarla çalışmak için en iyi dildir. Ve genel olarak Python'un en kolay dil olduğunu söyleyebiliriz.

1. Dosyaları kopyalayın

Dosyaları kopyalamak için subutil modülündeki işlevleri kullanmanız gerekir:

şutil ithal etmek
new_path = Shutil.copy("dosya1.txt", "dosya2.txt")

new_path = Shutil.copy("dosya1.txt", "dosya2.txt", follow_symlinks=Yanlış)

2. Dosyaları taşıma

Dosyaları taşımak, taşıma işlevi kullanılarak yapılır:

Shutil.move("dosya1.txt", "dosya3.txt")

İşletim sistemi modülündeki yeniden adlandırma işlevi, dosyaları yeniden adlandırmanıza olanak tanır:

işletim sistemini içe aktar
os.rename("dosya1.txt", "dosya3.txt")

3. Metin dosyalarını okuma ve yazma

Dosyaları açmak, bunlara veri okumak veya yazmak için yerleşik işlevleri kullanabilirsiniz:

fd = open("dosya1.txt")
içerik = fd.read()
yazdır(içerik)

İlk önce açma işleviyle çalışmak için dosyayı açmanız gerekir. Bir dosyadan veri okumak için okuma işlevi kullanılır, okunan metin bir değişkene kaydedilir. Okunacak bayt sayısını belirtebilirsiniz:

fd = open("dosya1.txt")
içerik = fd.read(20)
yazdır(içerik)

Dosya çok büyükse, onu satırlara bölebilir ve şu şekilde işleyebilirsiniz:

içerik = fd.readlines()
yazdır(içerik)

Bir dosyaya veri yazmak için önce dosyanın yazılmak üzere açılması gerekir. İki çalışma modu vardır - üzerine yazma ve dosyanın sonuna ekleme. Kayıt modu:

fd = open("dosya1.txt","w")

Ve dosyanın sonuna ekleyerek:

fd = open("dosya1.txt","a")
içerik = fd.write("Yeni içerik")

4. Dizinler oluşturun

Bir dizin oluşturmak için os modülündeki mkdir işlevini kullanın:

işletim sistemini içe aktar
os.mkdir("./yeni klasör")

5. Oluşturma zamanını alın

En son değiştirilen, en son erişilen ve oluşturulan zamanı almak için getmtime(), getatime() ve getctime() işlevlerini kullanabilirsiniz. Sonuç, Unix formatında çıkacak, bu yüzden okunabilir forma dönüştürülmesi gerekiyor:

işletim sistemini içe aktar
tarih saatini içe aktar
tim=os.path.getctime("./file1.txt")
print(datetime.datetime.fromtimestamp(tim))

6. Dosyaların listesi

listdir() işleviyle, bir klasördeki dosyaların bir listesini alabilirsiniz:

işletim sistemini içe aktar
dosyalar=os.listdir(".")
yazdır(dosyalar)

Aynı sorunu çözmek için glob modülünü kullanabilirsiniz:

ithalat küresi
dosyalar=glob.glob("*")
yazdır(dosyalar)

7. Python Nesnelerini Serileştirme

ithal turşu
fd = open("dosyam.pk", "wb")
pickle.dump(verilerim,fd)

Ardından nesneyi geri yüklemek için şunu kullanın:

ithal turşu
fd = open("dosyam.pk", "rb")
verilerim = pickle.load(fd)

8. Dosya Sıkıştırma

Python standart kitaplığı, zip, tar, gzip, bzip2 gibi çeşitli arşiv formatlarıyla çalışmanıza izin verir. Bir dosyanın içeriğini görüntülemek için şunu kullanın:

zip dosyasını içe aktar
my_zip = zipfile.ZipFile("my_file.zip", mode="r")
yazdır(dosya adı listesi())

Ve bir zip arşivi oluşturmak için:

zip dosyasını içe aktar
dosya=zipfile.ZipFile("files.zip","w")
file.write("dosya1.txt")
dosya.kapat()

Arşivi de açabilirsiniz:

zip dosyasını içe aktar
dosya=zipfile.ZipFile("files.zip","r")
dosya.extractall()
dosya.kapat()

Bir arşive şu şekilde dosya ekleyebilirsiniz:

zip dosyasını içe aktar
dosya=zipfile.ZipFile("files.zip","a")
file.write("dosya2.txt")
dosya.kapat()

9. CSV ve Excel dosyalarını ayrıştırma

Pandas modülünü kullanarak CSV ve Excel tablolarının içeriğini görüntüleyebilir ve ayrıştırabilirsiniz. İlk önce modülü pip ile kurmanız gerekir:

sudo pip yükleme pandaları

Ardından ayrıştırmak için şunu yazın:

ithal pandalar
data=pandas.read_csv("file.csv)

Pandalar varsayılan olarak her satırın başlığı için ilk sütunu kullanır. index_col parametresini kullanarak dizin için bir sütun belirtebilir veya gerekli değilse False belirtebilirsiniz. Değişiklikleri bir dosyaya yazmak için to_csv işlevini kullanın:

data.to_csv("dosya.csv)

Aynı şekilde Excel dosyasını da ayrıştırabilirsiniz:

veri = pd.read_excel("dosya.xls", sayfa adı="Sayfa1")

Tüm tabloları açmanız gerekirse, şunu kullanın:

veri = pd.ExcelFile("dosya.xls")

Ardından tüm verileri geri yazabilirsiniz:

data.to_excel("dosya.xls", sayfa="Sayfa1")

Python'da Ağ Oluşturma

Python 3 programlaması genellikle ağ oluşturmayı içerir. Python standart kitaplığı, düşük seviyeli ağ erişimi için soket yetenekleri içerir. Bu, birçok ağ protokolünü desteklemek için gereklidir.

ithalat soketi
ana bilgisayar = "192.168.1.5"
bağlantı noktası=4040
my_sock = socket.create_connection((ana bilgisayar, bağlantı noktası))

Bu kod, 192.168.1.5 makinesindeki 4040 numaralı bağlantı noktasına bağlanır. Soket açıkken veri gönderip alabilirsiniz:

my_sock.sendall(b"Merhaba Dünya")

Verileri ikili modda aktarmamız gerektiğinden, dizgeden önce b karakterini yazmamız gerekiyor. Mesaj çok büyükse, yineleyebilirsiniz:

msg = b"Daha Uzun Mesaj Buraya Gidiyor"
mesaj = len(mesaj)
toplam = 0
toplam iken< msglen:
gönderildi = my_sock.send(msg)
toplam = toplam + gönderilen

Veri almak için ayrıca bir soket açmanız gerekir, yalnızca my_sock_recv yöntemi kullanılır:

data_in = my_sock.recv(2000)

Burada ne kadar veri alınacağını belirtiyoruz - 20000, veriler 20000 bayt veri alınana kadar değişkene aktarılmayacaktır. Mesaj daha büyükse, almak için bir döngü oluşturmanız gerekir:

arabellek = bytearray(b" " * 2000)
my_sock.recv_into(tampon)

Arabellek boşsa, alınan mesaj oraya yazılacaktır.

Posta işi

Python standart kitaplığı, e-posta mesajları almanızı ve göndermenizi sağlar.

1. Bir POP3 sunucusundan posta alma

Mesajları almak için POP sunucusunu kullanıyoruz:

getpass, poplib'i içe aktar
pop_serv = poplib.POP3("192.168.1.5")
pop_serv.user("kullanıcım")
pop_serv.pass_(getpass.getpass())

Getpass modülü, kullanıcının şifresini ekranda görüntülenmeyecek şekilde güvenli bir şekilde almanızı sağlar. POP sunucusu güvenli bir bağlantı kullanıyorsa, POP3_SSL sınıfını kullanmanız gerekir. Bağlantı başarılı olduysa, sunucuyla etkileşime girebilirsiniz:

msg_list = pop_serv.list() # mesajları listelemek için
msg_count = pop_serv.msg_count()

Çalışmanızı tamamlamak için şunları kullanın:

2. Bir IMAP sunucusundan posta alma

imaplib modülü, IMAP sunucusuna bağlanmak ve onunla çalışmak için kullanılır:

imaplib'i içe aktar, getpass
my_imap = imaplib.IMAP4("imap.server.com")
my_imap.login("kullanıcım", getpass.getpass())

IMAP sunucunuz güvenli bir bağlantı kullanıyorsa IMAP4_SSL sınıfını kullanmanız gerekir. Mesajların bir listesini almak için şunu kullanın:

data = my_imap.search(Yok, "TÜMÜ")

Ardından seçilen listede dolaşabilir ve her mesajı okuyabilirsiniz:

msg = my_imap.fetch(email_id, "(RFC822)")

Ancak bağlantıyı kapatmayı unutmayın:

my_imap.close()
my_imap.logout()

3. Posta gönder

Posta göndermek için SMTP protokolü ve smtplib modülü kullanılır:

smtplib'i içe aktar, getpass
my_smtp = smtplib.SMTP(smtp.server.com")
my_smtp.login("kullanıcım", getpass.getpass())

Daha önce olduğu gibi, güvenli bir bağlantı için SMTP_SSL kullanın. Bağlantı kurulduğunda bir mesaj gönderebilirsiniz:

from_addr=" [e-posta korumalı]"
to_addr=" [e-posta korumalı]"
msg = "Kimden: [e-posta korumalı]\r\nKime: [e-posta korumalı]\r\n\r\nMerhaba, bu bir deneme mesajıdır"
my_smtp.sendmail(from_addr, to_addr, msg)

Web sayfalarıyla çalışma

Python programlama genellikle web ile çalışmak için çeşitli komut dosyaları yazmak için kullanılır.

1. Web taraması

urllib modülü, web sayfalarını çeşitli şekillerde sorgulamanıza olanak tanır. Normal bir istek göndermek için request sınıfı kullanılır. Örneğin, normal bir sayfa isteği yürütelim:

urllib.request'i içe aktar
my_web = urllib.request.urlopen("https://www.google.com")
yazdır(my_web.read())

2. POST Yöntemini Kullanma

Bir web formu göndermeniz gerekiyorsa, GET isteği yerine POST kullanmanız gerekir:

urllib.request'i içe aktar
mydata = b"Verileriniz Buraya Gidiyor"
my_req = urllib.request.Request("http://localhost", data=mydata,method="POST")
my_form = urllib.request.urlopen(my_req)
print(my_form.status)

3. Bir web sunucusu oluşturun

Socket sınıfı ile gelen bağlantıları kabul edebilirsiniz, bu da minimum özelliklere sahip bir web sunucusu oluşturabileceğiniz anlamına gelir:

ithalat soketi
ana bilgisayar=""
bağlantı noktası=4242
my_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_server.bind((host, port))
benim_sunucum.dinle(1)

Sunucu oluşturulduğunda. bağlantıları kabul etmeye başlayabilirsiniz:

addr = my_server.accept()
print("Ana bilgisayardan bağlanıldı", adres)
veri = bağlantı.recv(1024)

Ve bağlantıyı kapatmayı unutmayın:

çoklu kullanım

Çoğu modern dilde olduğu gibi Python, karmaşık hesaplamalar yapmanız gerektiğinde yararlı olabilecek birden çok paralel iş parçacığı çalıştırmanıza izin verir. Standart kitaplık, Therad sınıfını içeren bir iş parçacığı modülüne sahiptir:

içe aktarma iş parçacığı
def print_message():
print("Mesaj farklı bir başlıktan yazdırıldı")
my_thread = threading.Thread(target=print_message)
my_thread.start()

İşlev çok uzun süredir çalışıyorsa, is_alive() işleviyle her şeyin yolunda olup olmadığını kontrol edebilirsiniz. Bazen konularınızın küresel kaynaklara erişmesi gerekir. Bunun için kilitler kullanılır:

içe aktarma iş parçacığı
sayı = 1
my_lock = threading.Lock()
tanım my_func():
genel sayı, my_lock
my_lock.acquire()
toplam = sayı + 1
yazdır(toplam)
my_lock.release()
my_thread = threading.Thread(target=my_func)
my_thread.start()

sonuçlar

Bu yazıda python programlamanın temellerini ele aldık. Artık sık kullanılan işlevlerin çoğunu biliyorsunuz ve bunları küçük programlarınızda kullanabilirsiniz. Python 3 programlamayı seveceksiniz, çok kolay! Herhangi bir sorunuz varsa, yorumlarda sorun!

Makalenin sonunda Python hakkında harika bir ders:

Bu koleksiyonda hem yeni başlayanlar hem de deneyimli programcıların öğrenmesine yardımcı olacak Python programlama dili hakkında en faydalı kitapları topladık.
Burada, araçlar, ana veritabanları hakkında bilgi sahibi olmanıza ve profesyonel becerilerinizi geliştirmenize yardımcı olacak eğitimlerin yanı sıra uygulama oluşturmaya yönelik materyaller bulacaksınız.

Bölümler:

Yeni başlayanlar için

Kılavuz, Python diline mükemmel ve uluslararası kabul görmüş bir giriş niteliğindedir. Size verimli, yüksek kaliteli kodun nasıl yazılacağını hızlı bir şekilde öğretecektir. Hem acemi programcılar hem de diğer dilleri kullanma konusunda deneyimi olanlar için uygundur. Teoriye ek olarak, kitapta testler, alıştırmalar ve faydalı çizimler var - Python 2 ve 3'ü öğrenmek için ihtiyacınız olan her şey. Buna ek olarak, dilin pek çok uzmanın henüz hakim olmadığı bazı gelişmiş özellikleri hakkında bilgi sahibi olacaksınız.

Python, son zamanlarda özellikle Batı'da ve Google, Apple ve Microsoft gibi büyük şirketlerde popüler hale gelen çok paradigmalı bir çapraz platform programlama dilidir. Minimalist söz dizimi ve güçlü çekirdeği ile dünyanın en performanslı ve okunabilir programlama dillerinden biridir.

Bu kitabı okuduktan sonra, dilin temellerini hızlı ve eğlenceli bir şekilde öğrenecek, ardından istisna işleme, web geliştirme, SQL ile çalışma, veri işleme ve Google App Engine'e geçeceksiniz. Ayrıca Android uygulamaları yazmayı ve Python'un size sağladığı güç hakkında çok daha fazlasını öğreneceksiniz.

52 küratörlüğünde alıştırma içeren bir başka beğenilen Python kitabı dil öğrenimi için. Bunları demonte ettikten sonra, dilin nasıl çalıştığını, programların nasıl doğru yazılacağını ve kendi hatalarınızı nasıl düzelteceğinizi anlayacaksınız. Aşağıdaki konular ele alınmaktadır:

  • Ortamın ayarlanması;
  • Kod organizasyonu;
  • Temel matematik;
  • değişkenler;
  • Çizgiler ve metin;
  • Kullanıcılarla etkileşim;
  • Dosyalarla çalışmak;
  • Döngüler ve mantık;
  • Veri yapıları;
  • Yazılım geliştirme;
  • Kalıtım ve kompozisyon;
  • Modüller, sınıflar ve nesneler;
  • paketler;
  • hata ayıklama;
  • Test otomasyonu;
  • Oyun geliştirme;
  • Web Geliştirme.

Bu kitap, programlama öğrenmeye yeni başlayanlar için hazırlanmıştır. Öğrenmek için çok standart bir yaklaşım kullanır, ancak standart olmayan bir dil kullanır 🙂 Bunun Python'dan çok programlamanın temelleri hakkında bir kitap olduğunu belirtmekte fayda var.

Yeni Başlayanlar için Python Programlama, başlamak için harika bir kitaptır. Bu dilde ustalaşmak isteyen yeni başlayanlar için özel olarak yazılmış ayrıntılı bir rehberdir. Temel bilgileri öğrendikten sonra, web formu verilerini işlemek için nesne yönelimli programlamaya ve CGI komut dosyası oluşturmaya geçecek, grafik pencereli uygulamalar oluşturmayı ve bunları diğer cihazlara dağıtmayı öğreneceksiniz.

Bu öğreticinin yardımıyla, bir tercüman kurmaktan tam teşekküllü uygulamaları çalıştırmaya ve hata ayıklamaya kadar tüm adımlardan geçebileceksiniz.

"Python Crash Course", Python diline kapsamlı bir giriş niteliğindedir. Kitabın ilk yarısında listeler, sözlükler, sınıflar ve döngüler gibi dilin temel kavramlarıyla tanışacak, temiz ve okunabilir kod yazmayı öğreneceksiniz. Ayrıca, programlarınızı nasıl test edeceğinizi öğreneceksiniz. Kitabın ikinci yarısında, Space Invaders gibi bir arcade oyunu, bir veri görselleştirme uygulaması ve basit bir web uygulaması olmak üzere 3 proje yazarak bilginizi pratiğe dökmeniz istenecek.

Bu, Python 3.4 ve 2.7 için yapılmış çok kullanışlı bir cep hile sayfasıdır. İçinde dilin çeşitli yönleri hakkında en gerekli bilgileri bulacaksınız. İşlenmiş konular:

  • Yerleşik nesne türleri;
  • Nesneleri oluşturmak ve işlemek için ifadeler ve sözdizimi;
  • Fonksiyonlar ve modüller;
  • OOP (bizde ayrı bir );
  • Yerleşik işlevler, istisnalar ve nitelikler;
  • Operatör aşırı yükleme yöntemleri;
  • Popüler modüller ve uzantılar;
  • Komut satırı seçenekleri ve geliştirme araçları;
  • İpuçları;
  • Python SQL Veritabanı API'sı.

Python öğrenmek için tonlarca pratik örnek içeren bir kitap.

Pratik örnekler bölümümüzde bulunabilir. Örneğin, zip işlevinin kendi uygulamamızı okuyun.

Bu kitabın amacı, okuyucuya kod yazmak için açık kaynak topluluğundaki popüler araçları ve çeşitli en iyi uygulamaları tanıtmaktır. Python dilinin temelleri bu kitapta ele alınmamıştır, çünkü konu hiç bununla ilgili değildir.

Kitabın ilk bölümü, Python programlarını yazmak için kullanılabilecek çeşitli metin editörlerinin ve geliştirme ortamlarının yanı sıra çeşitli sistemler için birçok yorumlayıcı türünün açıklamasını içerir. Kitabın ikinci kısmı, açık kaynak topluluğunda kabul edilen kodlama stilinden bahsediyor. Kitabın üçüncü bölümü, çoğu açık kaynak projesinde kullanılan birçok Python kitaplığına kısa bir genel bakış içerir.

Bu kitabın Python öğrenmeye yeni başlayanlar için diğer tüm kılavuzlardan temel farkı, teorik materyal çalışmasına paralel olarak okuyucunun çeşitli oyun projelerinin uygulanmasıyla tanışmasıdır. Böylece geleceğin programcısı, dilin belirli özelliklerinin gerçek projelerde nasıl kullanıldığını daha iyi anlayabilecektir.

Kitap, hem Python dilinin hem de genel olarak programlamanın temellerini kapsar. Bu dille ilk tanışma için mükemmel bir kitap.

Gelişmiş için

Python 3'e geçmek veya eski Python 2 kodunu düzgün bir şekilde güncellemek istiyorsanız bu kitap tam size göre. Ve ayrıca sizin için - bir projeyi Python 2'den Python 3'e sorunsuz bir şekilde aktarma konusunda.

Kitapta Python 3.3'te her biri ayrıntılı olarak analiz edilen birçok pratik örnek bulacaksınız. Aşağıdaki konular ele alınmaktadır:

    • Veri yapıları ve algoritmalar;
    • Çizgiler ve metin;
    • Sayılar, tarihler ve saatler;
    • Yineleyiciler ve oluşturucular;
    • Dosyalar ve okuma/yazma işlemleri;
    • Veri kodlama ve işleme;
    • Fonksiyonlar;
    • Sınıflar ve nesneler;
    • Metaprogramlama;
    • Modüller ve paketler;
    • Web programlama;
    • rekabet gücü;
    • Sistem Yönetimi;
    • Test etme ve hata ayıklama;
    • C uzantıları.

Bu kitabı okurken, test odaklı geliştirmenin pratik faydalarını öğrenirken bir web uygulaması geliştireceksiniz. Veritabanı entegrasyonu, JS otomasyon araçları, NoSQL, web soketleri ve asenkron programlama gibi konuları ele alacaksınız.

Kitap Python 3'ü ayrıntılı olarak ele alıyor: veri türleri, operatörler, koşullar, döngüler, düzenli ifadeler, işlevler, nesne yönelimli programlama araçları, dosya ve dizinlerle çalışma, yaygın olarak kullanılan standart kitaplık modülleri. Ayrıca kitap ayrıca SQLite veritabanı, veritabanı erişim arayüzü ve internetten nasıl veri alınacağı konularına da odaklanıyor.

Kitabın ikinci bölümü tamamen Python'da grafik arayüzlü uygulamalar oluşturmanıza izin veren PyQt 5 kitaplığına ayrılmıştır. Burada sinyalleri ve olayları işlemek, pencere özelliklerini yönetmek, çok iş parçacıklı uygulamalar geliştirmek, ana bileşenleri (düğmeler, metin alanları, listeler, tablolar, menüler, araç çubukları vb.) veritabanları verileri, multimedya ile çalışmak, belgeleri yazdırmak ve bunları Adobe PDF formatında dışa aktarmak için araçlar.

Python programlarınız çalışabilir, ancak daha hızlı çalışabilirler. Bu pratik kılavuz, dilin yapısını daha iyi anlamanıza yardımcı olacak ve koddaki darboğazları nasıl bulacağınızı ve büyük miktarda veriyle çalışan programların hızını nasıl artıracağınızı öğreneceksiniz.

Adından da anlaşılacağı gibi, bu kitabın amacı, Django web uygulaması geliştirme çerçevesinin en eksiksiz şekilde anlaşılmasını sağlamaktır. Kitabın Rusça olarak 2010 yılında piyasaya sürülmesi nedeniyle, çerçevenin eski bir sürümü olan Django 1.1 ile ilgilidir. Ama yine de kitap okumak için tavsiye edilir çünkü Django'nun temellerini öğrenebilir. Ve bunun dışında, Rusça'da bu çerçeve hakkında pratikte hiçbir iyi kitap yok.

Yazarlar Adrian Holovaty ve Jacob Kaplan-Moss, çerçevenin bileşenlerine ayrıntılı bir bakış atıyor. Kitap, temel bilgilerden PDF ve RSS oluşturma, güvenlik, önbelleğe alma ve uluslararasılaştırma gibi özel konulara kadar, Django ile web kaynakları geliştirme konusunda birçok materyal içeriyor. Kitabı okumadan önce, web geliştirmenin temel kavramlarına hakim olmanız önerilir.

Oyun geliştirme

"Python & Pygame ile Oyun Yapma", Pygame oyun geliştirme kitaplığına odaklanan bir kitaptır. Her bölüm, yeni oyunun tam kaynak kodunu ve kullanılan geliştirme ilkelerinin ayrıntılı açıklamalarını sağlar.

Python ile Kendi Bilgisayar Oyunlarınızı Keşfedin, örnek olarak oyun geliştirmeyi kullanarak Python'da nasıl programlama yapacağınızı öğretir. Daha sonraki oyunlarda, Pygame kütüphanesini kullanarak iki boyutlu oyunların oluşturulması düşünülür. Öğreneceksiniz:

  • döngüler, değişkenler ve mantıksal ifadeler kullanın;
  • listeler, sözlükler ve demetler gibi veri yapılarını kullanmak;
  • programlarda hata ayıklayın ve hataları arayın;
  • oyunlar için basit yapay zeka yazın;
  • oyunlarınız için basit grafikler ve animasyonlar oluşturun.

Veri analizi ve makine öğrenimi

Veri yapıları ve algoritmalarla yeni bir şekilde - bilimsel olarak çalışarak becerilerinizi yükseltin. Açık açıklamalarla karmaşık sistem örneklerini keşfedin. Kitap şunları sunar:

  • NumPy dizileri, SciPy yöntemleri, sinyal işleme, hızlı Fourier dönüşümleri ve karma tablolar gibi kavramları öğrenir;
  • karmaşık fiziksel sistemlerin soyut modelleri, fraktallar ve Turing makineleri hakkında bilgi sahibi olmak;
  • bilimsel yasaları ve teorileri keşfetmek;
  • Karmaşık problemlerin örneklerini analiz eder.

Bu kitapta Python dili, büyük miktarda verinin işlenmesi ile hesaplama gerektiren problemlerin çözümü için bir araç olarak ele alınmaktadır. Bu kitabın amacı, okuyucuya verileri etkin bir şekilde depolamak, işlemek ve anlamak için Python veri madenciliği yığınını nasıl kullanacağını öğretmektir.

Kitabın her bölümü, büyük verilerle çalışmak için belirli bir kütüphaneye ayrılmıştır. İlk bölüm IPython ve Jupyter, ikincisi NumPy ve üçüncüsü Pandalar ile ilgilidir. 4. Bölüm Matplotlib ile ilgili, 5. bölüm Scikit-Learn ile ilgili.

"Veri Analizi için Python", verileri işlemenin her türlü yolunu anlatır. Kitap, bilimsel hesaplamaya mükemmel bir giriş niteliğindedir. İşte öğrenecekleriniz:

  • etkileşimli IPython kabuğu;
  • sayısal hesaplamalar için kitaplık NumPy:
  • pandalar veri analiz kütüphanesi;
  • matplotlib çizim kitaplığı.

Ayrıca zaman içinde verileri nasıl ölçeceğinizi ve bilimin birçok alanında analitik problemleri nasıl çözeceğinizi öğreneceksiniz.

Bu kitap, Python kullanarak çeşitli veri analizi yöntemlerini keşfetmeyi önermektedir. İşte okuduktan sonra öğrenecekleriniz:

  • verileri yönetmek;
  • veri bilimi problemlerini çözmek;
  • yüksek kaliteli görselleştirmeler oluşturun;
  • değişkenler arasındaki ilişkileri değerlendirmek için doğrusal regresyonlar uygular;
  • öneri sistemleri oluşturmak;
  • büyük verileri işleyin.

Bu kılavuz, doğal dil işleme ilkelerini anlaşılması kolay bir şekilde açıklar. Büyük yapılandırılmamış metin kümelerini işleyebilen, geniş veri kümelerine erişebilen ve temel algoritmalara aşina hale gelen programların nasıl yazılacağını öğreneceksiniz.

Başka

Dosyaları yeniden adlandırmak veya yüzlerce elektronik tablo hücresini güncellemek için saatler harcadıysanız, bunun ne kadar yorucu olabileceğini bilirsiniz. Bu tür süreçleri nasıl otomatikleştireceğinizi öğrenmek ister misiniz? "Python ile Sıkıcı Şeyleri Otomatikleştirin" kitabı, çeşitli rutin görevleri dakikalar içinde çözecek programların nasıl oluşturulacağını anlatıyor. Okuduktan sonra, aşağıdaki işlemleri nasıl otomatikleştireceğinizi öğreneceksiniz:

  • dosyalarda belirtilen metni arayın;
  • dosya ve klasörleri oluşturmak, güncellemek, taşımak ve yeniden adlandırmak;
  • Web'de veri arama ve indirme;
  • Excel tablolarındaki verileri güncelleme ve biçimlendirme;
  • PDF dosyalarını bölme, birleştirme ve şifreleme;
  • mektup ve bildirim gönderme;
  • çevrimiçi formları doldurmak.

Minimum giriş eşiği olan mükemmel bir kitap. Dilden çok biyoloji hakkında bilgi verir, ancak bu alanda çalışan herkes için kesinlikle kullanışlı olacaktır. Değişken karmaşıklığa sahip çok sayıda demonte örnekle donatılmıştır.

Bu kitap, Raspberry Pi sistemini programlamanın temellerini kapsar. Yazar zaten sizin için birçok senaryo derledi ve kendi senaryonuzu oluşturmanız için anlaşılır ve ayrıntılı bir rehber de sağladı. Her zamanki alıştırmalara ek olarak, üç projeyi uygulamaya davetlisiniz: Adam Asmaca oyunu, bir LED saat ve program kontrollü bir robot.

"Python ile Gizli Şifreleri Hacklemek" sadece mevcut şifrelerin tarihini anlatmakla kalmaz, aynı zamanda şifreleri şifrelemek ve kırmak için kendi programlarınızı nasıl oluşturacağınızı da öğretir. Kriptografinin temellerini öğrenmek için harika bir kitap.

Yararlı Python kitaplarını yorumlarda paylaşın!

Birkaç on yıl önce, programcılar başkaları için neyin mevcut olmadığını bilen bir tür şaman gibi görünüyordu. Bazen insanlar programlamayı dizlerinin üzerinde, bir parça kağıda kod yazmayı öğrendiler, çünkü "kişi başına düşen bilgisayar cihazlarının konsantrasyonu" son derece düşüktü. Artık evinde masaüstü veya dizüstü bilgisayarı olmayan birini bulmak zor. Eğitim teknolojileri de yerinde durmuyor.

biraz tarih

Python programlama dili seksenlerin sonlarında Guido van Rossum tarafından geliştirildi. Guido o sırada Hollanda CWI Enstitüsü'nün bir çalışanıydı. Bu dili boş zamanlarında yazdı ve katkıda bulunduğu ABC dili hakkında bazı fikirler koydu.

Dil, sürüngen onuruna adlandırılmadı. Aslında, isim fikri yetmişli yıllarda "Monty Python's Flying Circus" adlı popüler bir İngiliz komedi şovuydu, ancak Python hala bir yılana kıyasla çok daha fazla, hatta resmi web sitesinde amblemi bile (iki yılanı gösteriyor) kafalar) gösterir.

Python programlama dilinin bu kadar popüler olmasının nedeni olarak kabul edilen sadece van Rossum'un tasarım sezgisi değildir. Dost bir kullanıcı topluluğunun varlığı göz önüne alındığında, sıfırdan öğrenmek hoş ve kolay bir deneyim haline gelir.

Çok uzun zaman önce, 2008 yılında, birçok mimari kusurun ortadan kaldırıldığı Python 3000'in (3.0) uzun süredir test edilen ilk versiyonu piyasaya sürüldü. Aynı zamanda, geliştiriciler, dilin önceki sürümleriyle uyumluluğu korumaya çalıştı. Daha yeni bir sürüm olmasına rağmen, her iki dal (2.x ve 3.x) desteklenmektedir.

Özlü programlama dili

Python'un diğer dillere göre bir takım avantajları vardır. Neredeyse sezgisel olarak anlaşılabilir, "şeffaf" bir sözdizimine sahiptir. Bu, bu dildeki program kodunun okunmasının çok daha kolay olduğu anlamına gelir, bu da sadece yazma süresini değil, aynı zamanda çeşitli iyileştirme ve kontrolleri de azaltır.

Elbette, "eski okul" programcısı kesinlikle birkaç dil bilmeniz gerektiğini, hatta makine kodunu öğrenerek bile başlayabileceğinizi söyleyecektir. Ancak, Python dilinde bir programlama kursunu tamamladıktan sonra, bir kişi yalnızca belirli bilgileri değil, aynı zamanda kendileri için yararlı olan uygulamalar ve programlar oluşturarak yaratıcı doğasını gerçekleştirme fırsatı da alacaktır. Belki yakında programlama bir yabancı dil bilgisi kadar gerekli olacaktır.

Özgüven eksikliği

Programlamanın zor olduğu yanılgısını atmaya değer. Hayır, programlama göründüğünden çok daha ilginçtir; diğer faaliyetler ve sözde "zaman eksikliği" veya tembellik müdahale edebilir.

Temel literatür, Python dilinde programlamayı hızlı bir şekilde öğrenmenize yardımcı olacaktır. Eğitim kursu, temel bilgileri öğrenebileceğiniz iki kitap okuyarak başlamalıdır. Birincisi Mark Lutz'un "Python Programming", ikincisi Mark Summerfield'ın "Python 3 Programming". Lutz'un kitabı, dilin üzerine inşa edildiği tüm temel ilkeleri ayrıntılı olarak, hatta bazen çok fazla açıklar. Bazıları Mark Lutz'u ustalaşmak için değil, temel bilgileri derinleştirmek için okumayı tavsiye ediyor. Summerfield'ın kitabı her şeyi daha kısa ve öz anlatıyor, yazar okuyucuyu hiçbir zorlukla korkutmuyor. Başka literatür var, ancak bu ders kitapları en faydalı ve bilgilendirici.

Giriş dersi

İlkokul yıllarını düşünelim. Kural olarak, bir çocuk bile minimum bilgi ile birinci sınıfa gelir: ebeveynler biriyle çalıştı, biri "sıfıra" gitti. Aynı şey Python programlama dilini öğrenmek için de geçerlidir. Gerçekten uygun ve "şeffaf", ancak programların temel ilkeleri hakkında minimum bilgi olmadan eğitim zor olacaktır. Müziği duymadan müzik öğrenmek gibi. Bu nedenle, programlamayla hiç karşılaşmamış olanlar, kendilerini "minimum giriş" ile tanıştırmalıdır.

CS50 dersleri faydalı bir yardımcı olacaktır. Bu, Java Script programlama üzerine bir Harvard Üniversitesi dersidir, ancak ilk dersler bir bilgisayar ve genel olarak programlar arasındaki etkileşimi erişilebilir ve anlaşılır bir şekilde açıklar. Rusça konuşan bir kullanıcı, çeviri, ek materyaller, derslerin metin versiyonları ve pratik görevler ile bu kursun video kayıtlarına erişebilir. Videolar YouTube gibi hemen hemen her yerde bulunabilir, ancak içeriğin tamamı Java Script sitesindedir.

İnternette

Python programlama dili popülerlik kazanıyor, bu nedenle uzun zamandır birçok kendi kendine öğrenme materyali içeren birkaç portal var. Örneğin, "Yeni Başlayanlar için Python 3". Bu site yeni başlayanlar için birçok materyale sahiptir, bir hile sayfası olarak kullanılabilir. Ayrıca Codecademy web sitesinde bu konuyla ilgili ücretsiz erişime sahip büyük miktarda bilgi bulunmaktadır.

Forum iletişimi önemlidir. Tek başına öğrenmek her zaman daha zordur, bu yüzden farklı toplulukları ihmal etmeyin.

Ücretli kurslar

Her zaman ücretli kursları kullanabilirsiniz, ancak bazen çok paraya mal olur ve sonuç tatmin edici olmayabilir. Bu nedenle, elbette, ücretsiz bir giriş görevi sunan kursların seçilmesi tavsiye edilir. Örneğin GeekBrains'de "Python Programlamanın Temelleri" konulu bir yoğun çalışma var. Kurs ücretsizdir ve her 10 günde bir gerçekleşir. Kayıt olmak için siteye giriş yapmalısınız.

İpucu: Hangi kursu seçerseniz seçin, önce dilin temellerini öğrenin, böylece kendi başınıza kolayca öğrenebileceğiniz bir şeyle zaman kaybetmeyin. Yukarıdaki kitapları okumanız yeterli olacaktır.

Elbette teoride ustalaşınca pratik yapmak istiyorum. Nick Parlante'nin derslerinden burada söz edilmelidir. Genel olarak İngilizce'de çok sayıda iyi eğitim literatürü olmasına rağmen, bunlar İngilizce'dir ve bu şaşırtıcı olmamalıdır. Nick derslerde sadece Python programlama dilini öğretmekle kalmaz, aynı zamanda mükemmel pratik görevler de verir.

kullanım

Python programlama dili, birçok kişinin günlük olarak kullandığı birçok uygulamayı oluşturmak için kullanılmıştır. Örneğin, bu BitTorrent torrent istemcisinin altıncı sürümüdür. Ayrıca bitmap grafik editörü Gimp'te "Python" ("Pyton") kullanılır. Bununla birlikte, örneğin ek modüller, filtreler oluşturulur. Civilization IV ve Batterfield 2'nin çoğu bu dilde yazılmıştır.

Python, Google, Facebook, Instagram, Dropbox, Pinterest gibi şirketler tarafından kullanılmaktadır. Ayrıca Yandex Disk uygulamasının çekirdeğinde çalışır. Şirket çalışanlarının yaklaşık %10'u Python'da yazıyor ve birçok programcı onu en sevdikleri dil olarak adlandırıyor.

nasıl başlanır

Hiçbir kod "havada" çalışamaz, Python programlama dili de bu kurala uyar. Sıfırdan öğrenmek, teori ile başlasa da, aslında diyebiliriz ki, kişisel bir bilgisayarda bir çalışma ortamının kurulmasıyla başlar. Nasıl yapılır? Çok basit: Resmi Python web sitesinin bağlantısını izlemeniz, yükleyiciyi indirip çalıştırmanız ve ardından önerilen adımları dikkatlice izlemeniz gerekir.

Bilgisayarınızda kurulu işletim sistemine uygun bir dosya indirmeniz gerektiğini lütfen unutmayın!

Kurulum başarılı olduysa, konsolu açın (genellikle bu, "ctrl + alt + T" klavye kısayoluyla yapılabilir). Şimdi ilk programınızı yazabilirsiniz. Örneğin, "python3" girin. Konsol, programın sürümünün belirtildiği bir "tebrik" gösteriyorsa (örneğin, 3.4.0), o zaman her şey yolundadır, değilse, "Python" un üçüncü sürümünü şu komutla yüklemeniz gerekir: "sudo apt-get install python3".
Ancak bu gerekli değildir. Herhangi bir uygun metin düzenleyicide kod yazabilir ve ardından konsol üzerinden çalıştırabilir veya dağıtımla birlikte gelen IDLE geliştirme ortamını kullanabilirsiniz.

IDLE'ı başlatın. Küçük bir program oluşturmak için yalnızca bir satır kod gerekir.

print("Merhaba dünya!")

Bu kodu IDLE penceresine yazın ve enter tuşuna basın. Ortam anında bir eylemle yanıt verir - gerekli metni ekranda görüntüler. İlk program hazır.

2011 yılında Python öğretmeye başladığımdan beri düzenli olarak kullandığım birkaç kaynak buldum. Dili öğrenmeye ilk başladığımda Python topluluğunun ne kadar arkadaş canlısı olduğunu görünce şaşırdım. Bunun kanıtı, büyük miktarda ücretsiz yüksek kaliteli malzemedir. Aşağıda, topluluğun desteği olmadan var olmayacak olan bu kaynaklardan örnekler vereceğim.

1. Python ile Kendi Bilgisayar Oyunlarınızı Buluşun

En sevdiğiniz Python kitabına zaten sahip olabilirsiniz, ancak bunu okumanızı tavsiye ederim. Satın alabilir, çevrimiçi okuyabilir veya PDF olarak ücretsiz olarak indirebilirsiniz. Bölümlerin aynı yapısını seviyorum: önce problem belirlenir ve daha sonra ayrıntılı açıklamalarla problem çözümü örnekleri vardır. Aynı yazar 3 harika kitap daha yazdı.

2. Heykel

Python'un şu ya da bu nedenle (genellikle güvenlik nedeniyle) bulunmadığı okullarda çalıştım. Skulpt, tarayıcıda Python komut dosyalarını çalıştırır ve birkaç örnek içerir. Birincisi, geometrik şekilleri görüntülemek için Kaplumbağa modülünü kullanır. Genellikle öğrencilerin bilgilerini test etmek için kullanırım.

3. Sayıyı tahmin edin

8. Rastgele

Python, print ve input gibi bazı kullanışlı yerleşik işlevlere sahiptir. Rastgele modülün ise kullanılmadan önce içe aktarılması gerekir. Öğrencilerin projelerine biraz öngörülemezlik eklemelerini sağlar.

Rastgele madeni parayı içe aktar = ['yazı','kuyruk'] çevirme = random.choice(madeni para) print(flip)

9 Anti Yerçekimi

Anti yerçekimi modülünü nadiren kullanırım. Ama bunu yapmak zorunda kaldığımda öğrencilere bunu ithal ettiklerinde ne olduğunu soruyorum. Genellikle çok farklı cevaplar alıyorum, bazen ağırlıksızlığın gerçek etkisinin başlayacağını bile söylüyorlar - Python'un çok güçlü olduğunu düşünüyorlar 🙂 Kendiniz deneyebilir ve öğrencilerinize önerebilirsiniz.

anti yerçekimi ithal etmek

10 sabotaj

Bir öğretmen olarak benim için en büyük zorluk öğrenci programlarında sözdizimi hataları bulmaktı. Neyse ki, yorgunluktan tamamen tükenmeden önce,