§1 Python programlama dili. Python diline kısa bir bakış

  • 21.09.2019

Hangi, yoğun bir biçimde,
Python dilinin temelleri hakkında konuşun. Size bu makalenin bir çevirisini sunuyorum. Çeviri edebi değil. Anlaşılamayan bazı noktaları daha detaylı açıklamaya çalıştım.

Python dilini öğrenecek ancak uygun bir rehber bulamıyorsanız, bu
bu makale sizin için çok faydalı olacak! Kısa sürede tanıyabileceksiniz
Python dilinin temelleri. Bu makale genellikle
zaten programlama deneyiminiz var, ama umarım yeni başlayanlar bile
bu malzeme yardımcı olacaktır. Her paragrafı dikkatlice okuyun. Bağlantılı olarak
materyalin kısa olması, bazı konular yüzeysel olarak kabul edilir, ancak tamamını içerir.
gerekli metre

Temel özellikler

Python açık değişken bildirimi gerektirmez, büyük/küçük harf duyarlıdır (var değişkeni Var'a eşdeğer değildir veya VAR üç farklı değişkendir) nesne yönelimli bir dildir.

Sözdizimi

İlk olarak, Python'un ilginç bir özelliğini belirtmekte fayda var. Operatör parantezlerini (pascal'da begin..end veya C'de (..)) içermez, bunun yerine bloklar girintilidir: boşluklar veya sekmeler ve ifade bloğuna giriş iki nokta üst üste ile gerçekleştirilir. Tek satırlı yorumlar kare işareti "#" ile başlar, çok satırlı yorumlar üç çift tırnak """" ile başlar ve biter.
Bir değişkene değer atamak için "=" işareti kullanılır ve karşılaştırma için -
"==". Bir değişkenin değerini artırmak veya bir dizgeye eklemek için "+=" operatörü, azaltmak için - "-=" kullanılır. Bu işlemlerin tümü, dizeler de dahil olmak üzere çoğu türle etkileşime girebilir. Örneğin


>>>varım=3
>>> myvar += 2
>>> myvar -= 1
"""Bu çok satırlı bir yorumdur
Üç çift tırnak içine alınmış dizeler yok sayılır"""

>>> mystring = "Merhaba"
>>> mystring += "dünya."
>>> Yazdır mystring
Selam Dünya.
# Sonraki satır değişir
yerlerde değişken değerler. (Sadece bir satır!)

>>> myvar, mystring = mystring, myvar

Veri Yapıları

Python gibi veri yapıları içerir listeler (listeler), demetler (tupler) ve sözlükler (sözlükler)). Listeler tek boyutlu dizilere benzer (ancak listeler içeren bir Liste - çok boyutlu bir dizi kullanabilirsiniz), demetler değişmez listelerdir, sözlükler de listelerdir, ancak dizinler yalnızca sayısal değil, herhangi bir türde olabilir. Python'daki "diziler" herhangi bir türde veri içerebilir, yani bir dizi sayısal, dize ve diğer veri türlerini içerebilir. Diziler 0 indeksinden başlar ve son elemana indeks -1'den erişilebilir.Değişkenlere fonksiyonlar atayabilir ve buna göre kullanabilirsiniz.


>>> örnek = , ("a" , "tuple")] #Bir liste bir tamsayı, başka bir liste ve bir demetten oluşur
>>> #Bu liste bir dize, bir tam sayı ve bir kesirli sayı içerir
>>> mylist = "1. maddeyi tekrar listeleyin" #Sayfa listemin ilk (sıfır) öğesini değiştir
>>> listem[-1 ] = 3 .14 #Sayfanın son öğesini değiştir
>>> mydict = ("Anahtar 1" : "Değer 1" , 2 : 3 , "pi" : 3 .14 ) #Sayısal ve tamsayı indeksleri olan bir sözlük oluştur
>>> mydict["pi" ] = 3.15 #Sözlüğün öğesini "pi" dizini altında değiştir.
>>> mytuple = (1 , 2 , 3 ) #Tuple'ı ayarla
>>> fonksiyonum = uzun #Python, işlev eş anlamlılarını bu şekilde bildirmenize olanak tanır
>>> Yazdır fonksiyonum(liste)
3

İki nokta üst üste ":" ile ayrılmış ilk ve son dizini belirterek dizinin bir bölümünü kullanabilirsiniz. Bu durumda, ilk dizinden ikinciye kadar dizinin bir bölümünü alacaksınız. İlk eleman belirtilmemişse, sayma dizinin başlangıcından başlar ve son eleman belirtilmemişse, dizi son elemana kadar okunur. Negatif değerler, elemanın sondan itibaren konumunu belirler. Örneğin:


>>> mylist = ["Liste öğesi 1" , 2 , 3 .14 ]
>>> Yazdır listem[:] #Tüm dizi öğelerini oku
["Liste öğesi 1" , 2 , 3 .14000000000000001 ]
>>> Yazdır listem #Dizin sıfır ve ilk elemanları okunur.
["Liste öğesi 1" , 2 ]
>>> Yazdır listem[-3 :-1 ] #Öğeler sıfırdan (-3) saniyeye (-1) kadar okunur (dahil değildir)
["Liste öğesi 1" , 2 ]
>>> Yazdır listem #Öğeler baştan sona okunur

Teller

Python'da Dizeler çift ​​tırnak """ veya tek tırnak """ ile ayrılır. Tek tırnak, çift tırnak içinde veya tam tersi olabilir. Örneğin, "Merhaba" dedi!" "Merhaba dedi!" şeklinde görüntülenecektir. Birkaç satırlık bir dize kullanmanız gerekiyorsa, bu dize üç çift tırnak """"" ile başlamalı ve bitmelidir. Bir demet veya sözlükteki öğeleri dize şablonuna değiştirebilirsiniz. dize ve demet, bir demetin öğesi başına "%s" dizesindeki karakterleri değiştirir.Sözlükler, belirli bir dizindeki bir öğeyi bir dizeye eklemenize izin verir.Bunu yapmak için, "%(index)s" yapısını kullanın. Bu durumda, "%(index)s" yerine, verilen dizin altındaki sözlüğün değeri ikame dizin olacaktır.


>>>Yazdır "Ad: %s\nNumara: %s\nDize: %s"%(benim sınıf.name, 3 , 3 * "-")
İsim: Poromenos
3 numara
Sicim: -
dizge = """Bu metin bulunur
birden fazla satırda"""

>>> Yazdır"Bu %(fiil)s bir %(noun)s." % ("isim" : "test" , "fiil" : "is")
Bu bir test.

operatörler

açıklamalar yaparken, eğer, için hareket operatörleridir. Burada select ifadesinin bir benzeri yok, bu yüzden biraz çalışmanız gerekiyor. eğer. operatörde için bir karşılaştırma var değişken ve liste. Bir sayıdan önceki rakamların listesini almak için - aralığı kullan( ). İşte operatörlerin kullanıldığı bir örnek


aralık listesi = aralık(10) #On basamaklı bir liste al (0'dan 9'a kadar)
>>> Yazdır menzil listesi
için menzil listesindeki numara: #Değişken sayısı (her seferinde bir artan) listede olduğu sürece...
# Değişkenin dahil edilip edilmediğini kontrol edin
# sayılar bir dizi sayıya(3 , 4 , 7 , 9 )
eğer(3 , 4 , 7 , 9 ) içindeki sayı: #Sayı değişkeni (3, 4, 7, 9) demetindeyse...
# Operasyon " kırmak» sağlar
# döngüden istediğiniz zaman çıkın
kırmak
başka :
# « devam et» «kaydırma» gerçekleştirir
# döngü. Bu işlemden sonra olduğu için burada gerekli değildir.
# her durumda, program döngüyü işlemeye geri döner
devam et
başka :
# « başka" isteğe bağlı. Koşul karşılandı
# döngü " ile sonlandırılmadığı sürece kırmak».
geçmek # Hiçbirşey yapmamak

eğer menzil listesi == 2 :
Yazdır "İkinci öğe (listeler 0 tabanlıdır) 2'dir"
elif aralık listesi == 3 :
Yazdır "İkinci öğe (listeler 0 tabanlıdır) 3'tür"
başka :
Yazdır bilmem

süre aralık listesi == 1 :
geçmek

Fonksiyonlar

Bir işlev bildirmek için kullanılır anahtar kelime " tanım» . İşlev bağımsız değişkenleri, işlev adından sonra parantez içinde belirtilir. İsteğe bağlı bağımsız değişkenleri, onlara varsayılan bir değer vererek belirtebilirsiniz. Fonksiyonlar tanımlama grupları döndürebilir, bu durumda dönüş değerleri virgülle ayrılmalıdır. anahtar kelime " lambda» temel işlevleri bildirmek için kullanılır.


# arg2 ve arg3 isteğe bağlı argümanlardır, varsayılan olarak bildirilen değeri alırlar,
# işlevi çağırırken onlara farklı bir değer vermediğiniz sürece.
tanım fonksiyonum(arg1, arg2 = 100 , arg3 = "test" ):
dönüş arg3, arg2, arg1
#İşlev ilk bağımsız değişkenin değeriyle çağrılır - "Argüman 1", ikincisi - varsayılan olarak ve üçüncü - "Adlandırılmış bağımsız değişken".
>>>ret1, ret2, ret3 = fonksiyonum("Argüman 1" , arg3 = "Adlandırılmış bağımsız değişken")
# ret1, ret2 ve ret3 sırasıyla "Adlandırılmış bağımsız değişken", 100, "Argüman 1" değerlerini alır
>>> Yazdır ret1, ret2, ret3
Adlandırılmış bağımsız değişken 100 Argüman 1

# Aşağıdaki giriş eşdeğerdir tanım f(x): dönüş x+1
fonksiyon değişkeni = lambda x: x + 1
>>> Yazdır fonksiyon değişkeni(1)
2

sınıflar

Python dili, sınıflarda çoklu kalıtımla sınırlıdır. Dahili değişkenler ve dahili sınıf yöntemleri iki alt çizgi "__" ile başlar (örneğin "__myprivatevar"). Ayrıca bir sınıf değişkenine dışarıdan bir değer atayabiliriz. Örnek:


sınıf Benim sınıf:
ortak = 10
tanım __kendi içinde ):
kendi değişkenim = 3
tanım fonksiyonum(self , arg1, arg2):
dönüş self .myvariable

# Burada My sınıfını ilan ettik. sınıf. Sınıflar başlatıldığında __init__ işlevi otomatik olarak çağrılır.
>>> classinstance = Benim sınıf() # Sınıfı başlattık ve değişkenim, başlatma yönteminde bildirildiği gibi 3 değerine sahip
>>> #Metod My sınıfının fonksiyonum sınıf değişkenim değerini döndürür
3
# Ortak değişken tüm sınıflarda bildirilir
>>> classinstance2 = Benim sınıf()
>>> classinstance.common
10
>>> classinstance2.common
10
# Yani My sınıfındaki değerini değiştirirsek sınıf değişecek
# ve My sınıfıyla başlatılan nesnelerdeki değerleri sınıf
>>>Sınıfım.ortak = 30
>>> classinstance.common
30
>>> classinstance2.common
30
# Burada sınıf değişkenini değiştirmiyoruz. Bunun yerine
# nesnede ilan edip yeni bir değer atadık
>>> classinstance.common = 10
>>> classinstance.common
10
>>> classinstance2.common
30
>>>Sınıfım.ortak = 50
# Şimdi sınıf değişkenini değiştirmek etkilemeyecek
# bu sınıfın değişken nesneleri
>>> classinstance.common
10
>>> classinstance2.common
50

# Aşağıdaki sınıf My sınıfının bir alt sınıfıdır. sınıf
# sınıfın yapabileceği her kim olursa olsun, özelliklerini ve yöntemlerini devralır
# birkaç sınıftan miras alınabilir, bu durumda giriş
# bunun gibi: sınıf Diğersınıf(Sınıfım1, Sınıfım2, SınıfımN)
sınıf Diğersınıf(benim sınıfım):
tanım __init__(öz , arg1):
kendi değişkenim = 3
Yazdır arg1

>>> classinstance = Diğersınıf("merhaba")
merhaba
>>> classinstance.myfunction(1 , 2 )
3
# Bu sınıf test özelliğine sahip değil, ancak
# nesne için böyle bir değişken tanımla. Ve
# tbu değişken sadece üye olacak sınıf misal.
>>> classinstance.test = 10
>>>sınıf örneği.test
10

istisnalar

Python'daki istisnaların bir yapısı vardır denemek-hariç [hariç iyon adı]:


tanım bir işlev():
denemek :
# Sıfıra bölme hata veriyor
10 / 0
hariç ZeroDivisionError :
# Ancak program "Geçersiz bir işlem gerçekleştirmiyor"
# A, "ZeroDivisionError" hatasına karşılık gelen istisna bloğunu işler
Yazdır"Hata, geçersiz."

>>> fn hariç()
Hata, geçersiz.

İçe aktarmak

Dış kütüphaneler, prosedürle bağlanabilir " içe aktarmak”, dahil edilen kitaplığın adı nerede. Ayrıca " itibaren içe aktarmak" böylece işlevi kütüphaneden kullanabilirsiniz


içe aktarmak rastgele #"Rastgele" kitaplığı içe aktar
itibaren zaman içe aktarmak saat #Ve aynı zamanda "zaman" kitaplığından "saat" işlevi

Rastgele = rastgele .randint(1 , 100 )
>>> Yazdır rastgele
64

Dosya sistemi ile çalışma

Python'un birçok yerleşik kitaplığı vardır. Bu örnekte, bir ikili dosyada bir liste yapısını saklamaya, onu okumaya ve dizeyi bir metin dosyasına kaydetmeye çalışacağız. Veri yapısını dönüştürmek için "pickle" standart kitaplığını kullanacağız.


içe aktarmak Turşu
mylist = ["Bu" , "is" , 4 , 13327 ]
# Yazmak için C:\binary.dat dosyasını açın. "r" sembolü
# özel karakterlerin değiştirilmesini engeller (\n, \t, \b, vb. gibi).
dosyam = dosya(r"C:\binary.dat", "w")
turşu .dump(listem, dosyam)
dosyam.kapat()

Dosyam = dosya(r"C:\text.txt" , "w")
myfile.write("Bu bir örnek dizedir")
dosyam.kapat()

Dosyam = dosya(r"C:\text.txt")
>>> Yazdır dosyam.read()
"Bu örnek bir dizedir"
dosyam.kapat()

# Dosyayı okumak için aç
dosyam = dosya(r"C:\binary.dat")
yüklenen liste = turşu .load(dosyam)
dosyam.kapat()
>>> Yazdır yüklenen liste
["Bu" , "şu" , 4 , 13327 ]

özellikler

  • Koşullar birleştirilebilir. 1 < a < 3 выполняется тогда, когда а больше 1, но меньше 3.
  • İşlemi kullanın " del" ile değişkenleri veya dizi öğelerini temizle.
  • Python için harika fırsatlar sunuyor listelerle çalışmak. Liste yapısı bildirim ifadelerini kullanabilirsiniz. Şebeke için listenin öğelerini belirli bir sırayla belirtmenize olanak tanır ve eğer- koşula göre öğeleri seçmenizi sağlar.
>>> lst1 =
>>> lst2=
>>> Yazdır
>>> Yazdır
# Her ne kadar "any" operatörü true değerini döndürürse de
# içerdiği koşullardan biri karşılanırsa.
>>> herhangi(i % 3 için ben varım)
Doğru
# Aşağıdaki prosedür sayıyı sayar
# listedeki eşleşen öğe
>>> toplam(1 için ben eğer ben == 3)
3
>>> del lst1
>>> Yazdır lst1
>>> del lst1
  • genel değişkenler işlevlerin dışında bildirilir ve herhangi bir bildirim olmadan okunabilir. Ancak bir fonksiyondan global bir değişkenin değerini değiştirmeniz gerekiyorsa, bunu fonksiyonun başında " anahtar kelimesiyle bildirmeniz gerekir. küresel', yapmazsanız, Python yalnızca bu işlev için kullanılabilen bir değişken bildirecektir.
sayı = 5

tanım işlevim():
# Çıkışlar 5
Yazdır sayı

tanım başka bir işlev():
# Bu bir istisna atar çünkü global a değişkeni
# bir işlevden çağrılmadı. Python bu durumda oluşturur
# bu fonksiyon içinde aynı isimli ve erişilebilir değişken
# yalnızca bu işlevin operatörleri için.
Yazdır sayı
sayı = 3

tanım yetanotherfunc():
küresel sayı
# Ve sadece bu fonksiyondan değişkenin değeri değiştirilir.
sayı = 3

sonsöz

Elbette bu yazı Python'un tüm özelliklerini kapsamıyor. Bu programlama dilini öğrenmeye devam etmek istiyorsanız, bu makalenin size yardımcı olacağını umuyorum.

Python'un Faydaları

  • Python ile yazılmış programların çalışma hızı çok yüksektir. Bunun nedeni, ana Python kitaplıklarının
    C++ ile yazılır ve görevlerin tamamlanması diğer yüksek seviyeli dillere göre daha az zaman alır.
  • Bu konuda Python için kendi modüllerinizi C veya C++ ile yazabilirsiniz.
  • Python standart kitaplıklarında e-posta, protokoller ile çalışmak için araçlar bulabilirsiniz.
    İnternet, FTP, HTTP, veritabanları vb.
  • Python ile yazılan komut dosyaları çoğu modern işletim sisteminde çalışır. Bu taşınabilirlik, Python'un çok çeşitli uygulamalarda kullanılmasına izin verir.
  • Python, ofis programları, web uygulamaları, GUI uygulamaları vb. gibi herhangi bir programlama çözümü için uygundur.
  • Dünyanın her yerinden binlerce meraklı Python'un geliştirilmesi üzerinde çalıştı. Standart kütüphanelerdeki modern teknolojilerin desteğini Python'un tüm gelenlere açık olmasına borçlu olabiliriz.

Etiketler:

  • piton
  • programlama
  • ders
Etiket ekle

giriiş


Kişisel bilgi işlemin şu anda gözlemlenen hızlı gelişimi ile bağlantılı olarak, programlama dilleri gereksinimlerinde kademeli bir değişiklik var. Kişisel bilgisayarların artan gücü, yorumlanan programların yürütülmesi için yeterli hızı sağlamaya başladığından, yorumlanan diller giderek daha önemli bir rol oynamaya başlıyor. Ve derlenmiş programlama dillerinin tek önemli avantajı, oluşturdukları yüksek hızlı koddur. Program yürütme hızı kritik olmadığında, en uygun seçim, daha basit ve daha esnek bir programlama aracı olarak yorumlanmış bir dildir.

Bu bağlamda, yazarı Guido van Rossum tarafından 90'ların başında oluşturulan nispeten yeni programlama dili Python'u (python) dikkate almak özellikle ilgi çekicidir.

Python hakkında genel bilgiler. Avantajlar ve dezavantajlar


Python, yorumlanmış, doğal olarak nesne yönelimli bir programlama dilidir. Son derece basittir ve az sayıda anahtar kelime içerir, ancak çok esnek ve anlamlıdır. Pascal, C++ ve tabii ki C'den daha yüksek seviyeli bir dildir ve temel olarak yerleşik yüksek seviyeli veri yapıları (listeler, sözlükler, demetler) sayesinde elde edilir.

Dilin avantajları.
Kuşkusuz avantaj, Python yorumlayıcısının hemen hemen tüm platformlarda ve işletim sistemlerinde uygulanmasıdır. Bu tür ilk dil C idi, ancak veri türleri farklı makinelerde farklı miktarlarda bellek kaplayabilir ve bu, gerçekten taşınabilir bir program yazmanın önünde bir engel olarak hizmet etti. Python'un bu dezavantajı yoktur.

Bir sonraki önemli özellik, büyük önem taşıyan dilin genişletilebilirliğidir ve yazarın yazdığı gibi, dil tam olarak genişletilebilir olarak düşünülmüştür. Bu, tüm ilgili programcılar tarafından dilin geliştirilmesi için yer olduğu anlamına gelir. Yorumlayıcı C ile yazılmıştır ve kaynak kodu her türlü işlem için kullanılabilir. Gerekirse, programınıza ekleyebilir ve yerleşik bir kabuk olarak kullanabilirsiniz. Veya Python'a eklemelerinizi C dilinde yazıp programı derleyerek, yeni özelliklere sahip "genişletilmiş" bir yorumlayıcı elde edersiniz.

Bir sonraki avantaj, çeşitli ek özellikler sağlayan çok sayıda eklenti modülünün varlığıdır. Bu tür modüller C dilinde ve Python'un kendisinde yazılmıştır ve tüm yeterli beceriye sahip programcılar tarafından geliştirilebilir. Aşağıdaki modüller örnektir:

  • Sayısal Python - tamsayı vektörleri ve matrisleri ile manipülasyonlar gibi gelişmiş matematiksel yetenekler;
  • Tkinter - X-Windows'ta yaygın olarak kullanılan Tk arayüzüne dayalı bir grafik kullanıcı arayüzü (GUI) kullanarak uygulamalar oluşturmak;
  • OpenGL - Silicon Graphics Inc.'den iki ve üç boyutlu nesnelerin grafiksel modellemesinin kapsamlı kütüphanesinin kullanımı Open Graphics Library. Bu standart, diğer şeylerin yanı sıra, Microsoft Windows 95 OSR 2, 98 ve Windows NT 4.0 gibi yaygın işletim sistemlerinde desteklenir.
Dil kusurları.
Yazarın belirttiği tek dezavantaj, yorumlanabilirliğinden dolayı Python programının nispeten düşük yürütme hızıdır. Ancak, bize göre, bu, yürütme hızı için çok kritik olmayan programlar yazarken dilin avantajlarından daha fazlasını öder.

Özelliğe genel bakış


1. Python, birçok dilin (Pascal, C++, Java vb.) aksine değişken bildirimleri gerektirmez. Başlattıkları yerde yaratılırlar, yani. bir değişkene ilk kez bir değer atandığında. Bu, değişkenin türünün atanan değerin türüne göre belirlendiği anlamına gelir. Bu açıdan Python, Basic'e benzer.
Değişken türü değişmez değildir. Herhangi bir atama doğrudur ve bu sadece değişkenin tipinin atanan yeni değerin tipi haline gelmesine yol açar.

2. Pascal, C, C++ gibi dillerde listelerin düzenlenmesi bazı zorluklar ortaya çıkardı. Bunları uygulamak için, işaretçiler ve dinamik bellekle çalışma ilkelerini iyi incelemek gerekiyordu. Ve iyi bir nitelikle bile, bir programcı, her seferinde liste oluşturma, çalıştırma ve yok etme mekanizmalarını yeniden uygularsa, kolayca ince hatalar yapabilir. Bunun ışığında, listelerle çalışmak için bazı araçlar oluşturuldu. Örneğin, Delphi Pascal, listeleri uygulayan bir TList sınıfına sahiptir; Vektörler, listeler, kümeler, sözlükler, yığınlar ve kuyruklar gibi yapıları içeren STL (Standart Şablon Kitaplığı) C++ için geliştirilmiştir. Ancak bu tür olanaklar tüm dillerde ve uygulamalarında mevcut değildir.

Python'un ayırt edici özelliklerinden biri, dilin kendisinde yerleşik olarak bulunan bu tür yapıların varlığıdır. demetler(grup) listeler(liste) ve sözlükler(sözlük), bazen denir kartlar(harita). Onları daha ayrıntılı olarak ele alalım.

  1. demet . Biraz diziyi andırıyor: elemanlardan oluşuyor ve kesin olarak tanımlanmış bir uzunluğa sahip. Öğeler herhangi bir değer olabilir - basit sabitler veya nesneler. Bir diziden farklı olarak, bir demetin elemanları mutlaka homojen değildir. Ve bir demeti bir listeden ayıran şey, demetin değiştirilememesidir, yani. i-th tuple elemanına yeni bir şey atayamayız ve yeni elemanlar ekleyemeyiz. Bu nedenle, bir demet, bir liste sabiti olarak adlandırılabilir. Sözdizimsel olarak, bir tanımlama grubu, tümü parantez içine alınmış tüm öğelerin virgülle ayrılmış listesiyle belirtilir:

  2. (1, 2, 5, 8)
    (3.14, "dize", -4)
    Tüm öğeler sıfırdan dizine eklenir. i-th öğesini elde etmek için, demetin adını ve ardından köşeli parantez içinde i dizinini belirtmeniz gerekir. Örnek:
    t = (0, 1, 2, 3, 4)
    yazdır t, t[-1], t[-3]
    Sonuç: 0 4 2
    Böylece, elemanları her zaman homojen olsaydı, bir demet sabit vektör olarak adlandırılabilirdi.
  3. Liste . İyi, özel bir liste örneği, bir Turbo Pascal dizesidir. Bir dizenin öğeleri tek karakterdir, uzunluğu sabit değildir, öğeleri silmek veya tam tersine bunları dizenin herhangi bir yerine eklemek mümkündür. Listenin öğeleri, mutlaka aynı türden olması gerekmeyen rastgele nesneler olabilir. Bir liste oluşturmak için, tüm bunları köşeli parantez içine alarak öğelerini virgülle ayırarak listelemek yeterlidir:


  4. ['dizi', (0,1,8), ]
    Bir demetten farklı olarak, listeler istendiğinde değiştirilebilir. Öğelere, tuple'larda olduğu gibi erişilir. Örnek:
    ben = ]
    l, l, l[-2], l[-1] yazdır
    Sonuç: 1 sn (2.8) 0
  5. Sözlük . Pascal'daki kayıt (kayıt) türünü veya C'deki yapıları (yapı) anımsatır. Ancak burada "kayıt alanı" - "değer" şeması yerine "anahtar" - "değer" kullanılır. Sözlük, "anahtar"-"değer" çiftlerinden oluşan bir kümedir. Burada "anahtar" herhangi bir türden bir sabittir (fakat esas olarak dizeler kullanılır), buna karşılık gelen (değiştirilebilir) bir değeri adlandırmaya (indekslemeye) hizmet eder.

  6. Bir sözlük, öğelerinin (iki nokta üst üste ayrılmış anahtar/değer çiftleri) virgülle ayrılmış olarak listelenmesi ve tümünün küme parantezleri içine alınmasıyla oluşturulur. Belirli bir değere erişmek için sözlük adından sonra köşeli parantez içinde karşılık gelen anahtarı yazmak gerekir. Örnek:
    d = ("a": 1, "b": 3, 5: 3.14, "ad": "John")
    d["b"] = d
    d["a"], d["b"], d, d["ad"] yazdır
    Sonuç: 1 3.14 3.14 Yuhanna
    Yeni bir "anahtar"-"değer" çifti eklemek için, ilgili değeri yeni anahtarla öğeye atamak yeterlidir:
    d["yeni"] = "yeni değer"
    d'yi yazdır
    Sonuç: ("a":1, "b":3, 5:3.14, "ad":"John", "yeni":"yeni değer")

3. Pascal, C, C++'dan farklı olarak Python, işaretçileri, dinamik belleği ve adres aritmetiğini desteklemez. Bunda Java'ya benzer. Bildiğiniz gibi, işaretçiler ince hataların kaynağıdır ve onlarla çalışmak daha çok düşük düzeyde programlama ile ilgilidir. Daha fazla güvenilirlik ve basitlik için Python'a dahil edilmediler.

4. Python'un özelliklerinden biri, bir değişkenin diğerine nasıl atandığıdır, yani. operatörün her iki tarafındayken " = " değişkenlerdir.

Timothy Budd'ın () ardından arayacağız işaretçi anlambilimi atamanın yalnızca bir referans (işaretçi) atamasına yol açtığı durum, yani. yeni değişken, eski değişkenle aynı bellek konumunu belirten başka bir ad olur. Bu durumda, yeni değişkenin gösterdiği değerde bir değişiklik, eskisinin değerinde bir değişikliğe yol açacaktır, çünkü aslında aynı şeyi ifade ediyorlar.

Atama, yeni bir nesnenin (burada, bir tür değeri depolamak için bir bellek parçası anlamında bir nesne) yaratılmasına ve atanan değişkenin içeriğinin buna kopyalanmasına yol açtığında, bu durumu arayacağız. anlambilimi kopyala. Bu nedenle, kopyalama anlambilimi etkinse, "=" işaretinin her iki tarafındaki değişkenler, aynı içeriğe sahip iki bağımsız nesne anlamına gelir. Ve burada, bir değişkende sonradan meydana gelen bir değişiklik diğerini hiçbir şekilde etkilemeyecektir.

Python'da atama şu şekilde çalışır: if atanabilir nesne, sayılar veya dizeler gibi türlerin bir örneğiyse, kopya semantiği uygulanır, ancak sağ taraf bir sınıf, liste, sözlük veya demet örneğiyse, işaretçi semantiği uygulanır. Örnek:
a = 2; b = bir; b = 3
print " anlambilimi kopyala: a=", a, "b=", b
bir = ; b = bir; b = 3
print " işaretçi semantiği: a=", a, "b=", b
Sonuç:
anlambilimi kopyala: a= 2 b= 3
işaretçi anlambilimi: a= b=

Bunun neyle ilgili olduğunu bilmek isteyenler için, Python'da size farklı bir görev vereceğim. Basic, Pascal, C / C ++ gibi dillerde "kapasite" değişkenleri ve bunlarda depolanan sabitler (sayısal, karakter, dize - önemli değil) ile ilgilenirsek ve atama işlemi "girmek" anlamına gelir. sabit, atanan değişkene sabitleyin, o zaman Python'da zaten değişken-"isimler" ve onlar tarafından adlandırılan nesnelerle çalışmamız gerekiyor. (Prolog ile bazı benzerliklere dikkat edin?) Python'da nesne nedir? Bu, bir isim verilebilecek her şeydir: sayılar, dizgiler, listeler, sözlükler, sınıf örnekleri (nesne Pascal'da nesneler olarak adlandırılır), sınıfların kendileri (!), işlevler, modüller, vb. Bu nedenle, bir değişkene bir nesne atarken, değişken onun "adı" olur ve nesnenin bu türden herhangi bir sayıda "adı" olabilir ve bunların hepsi birbirine bağlı değildir.

Artık nesneler değiştirilebilir (değişebilir) ve değişmez olarak ikiye ayrılır. Değişken - "iç içeriğini" değiştirebilenler, örneğin listeler, sözlükler, sınıf örnekleri. Ve değişmez - sayılar, demetler, dizeler gibi (evet, dizeler de; bir değişkene eskisinden elde edilen yeni bir dize atayabilirsiniz, ancak eski dizenin kendisi değiştirilemez).

yani yazarsak bir = ; b = bir; b = 3, Python bunu şu şekilde yorumlar:

  • nesneye bir "liste" verin " isim a ;
  • bu nesneye başka bir ad verin - b ;
  • nesnenin boş öğesini değiştirin.

  • Bu, işaretçilerin "sözde" semantiğidir.

    Ve bunun hakkında söylenecek son şey: Tuple'ın yapısını değiştirmek mümkün olmasa da, içerdiği değişken bileşenler hala değişiklik için kullanılabilir:

    T = (1, 2, , "string") t = 6 # izin verilmez del t # ayrıca bir hata t = 0 # geçerli, şimdi üçüncü bileşen bir liste t = "S" # hata: dizeler değiştirilemez

    5. Python'da operatörlerin gruplanma şekli oldukça orijinaldir. Pascal bunun için parantez kullanır. başlangıç-son, C, C++, Java'da - küme parantezleri (), Basic'te dil yapılarının kapanış sonları kullanılır (NEXT, WEND, END IF, END SUB).
    Python dilinde her şey çok daha basittir: bir ifade bloğunun seçimi, seçilen grubun bu bloğun atıfta bulunacağı yapının başlığına göre bir veya daha fazla boşluk veya sekme karakteri sağa kaydırılmasıyla gerçekleştirilir. Örneğin:

    x > 0 ise: ' x > 0' yazdır x = x - 8 yoksa: yazdır ' x<= 0 ’ x = 0 Böylece, Pascal, C ++, Java vb. Öğretmenleri tarafından çağrılan iyi bir yazma programı stili, en başından beri burada edinilir, çünkü farklı şekilde çalışmaz.

    Dilin açıklaması. Kontrol Yapıları



    İstisnaları İşleme


    denemek:
    <оператор1>
    [hariç[<исключение> [, <переменная>] ]:
    <оператор2>]
    [başka <оператор3>]
    Gerçekleştirilen<оператор1>bir istisna oluşursa<исключение>, sonra<оператор2>. Eğer bir<исключение>bir değeri var, atanmış<переменной>.
    Başarılı bir şekilde tamamlanması durumunda<оператора1>, gerçekleştirilen<оператор3>.
    denemek:
    <оператор1>
    en sonunda:
    <оператор2>
    Gerçekleştirilen<оператор1>. Herhangi bir istisna atılmadıysa, o zaman<оператор2>. Aksi halde,<оператор2>ve bir istisna hemen atılır.
    artırmak <исключение> [<значение>] Bir istisna atar<исключение>parametreli<значение>.

    İstisnalar sadece dizelerdir. Örnek:

    My_ex = 'hatalı dizin' deneyin: eğer kötüyse: my_ex'i yükselt, my_ex hariç kötü, değer: 'Hata' yazdır, değer

    fonksiyon bildirimi



    Sınıf Beyanı



    cMyClass: def __init__(self, val): self.value = val # def printVal (self): print ' value = ', self.value # # end cMyClass nesnesi = cMyClass (3.14) obj.printVal () obj.value = "(!LANG: şimdi dize" obj.printVal () !} Sonuç:
    değer = 3.14
    değer = şimdi dize

    Her tür dizi için operatörler (listeler, demetler, diziler)


    Listeler için operatörler (liste)


    s[i] = x s'nin i-inci elemanı x ile değiştirilir.
    s = t i'den j-1'e kadar olan s öğelerinin bir kısmı t ile değiştirilir (t ayrıca bir liste olabilir).
    del s s kısmını kaldırır ( s = ile aynı).
    s.ekle(x) s'nin sonuna x öğesini ekler.
    s.say(x) s'nin x'e eşit eleman sayısını döndürür.
    s.index(x) s[i]==x olacak şekilde en küçük i'yi döndürür.
    s.insert(i,j) s'nin i-inci elemandan başlayan kısmı sağa kaydırılır ve s[i] x'e atanır.
    s.kaldır(x) del s[ s.index(x) ] ile aynı - s'nin x'e eşit olan ilk öğesini kaldırır.
    s.ters() dizeyi ters sırada yazar
    çeşit() listeyi artan düzende sıralar.

    Sözlükler için operatörler


    Dosya nesneleri


    Yerleşik işlev tarafından oluşturuldu açık()(aşağıdaki açıklamaya bakın). Örneğin: f = open('mydan.dat','r').
    Yöntemler:

    Diğer dil öğeleri ve yerleşik işlevler


    = atama.
    Yazdır [ < c1 > [, < c2 >]* [, ] ] çıkış değerleri< c1 >, < c2 >standart çıktıya. Argümanlar arasına boşluk koyar. Argüman listesinin sonunda virgül yoksa, yeni bir satıra atlar.
    abs(x) x'in mutlak değerini döndürür.
    uygulamak( f , <аргументы>) işlevi (veya yöntemi) f ile çağırır< аргументами >.
    chr(i) ASCII kodu i ile tek bir karakter dizisi döndürür.
    cmp(x, y) sırasıyla x ise negatif, sıfır veya pozitif bir değer döndürür<, ==, или >y'den daha fazla.
    divmod(a,b) a/b bir div b (bölme sonucunun tamsayı kısmı), a%b bir mod b (bölmenin geri kalanı) olduğunda bir tanımlama grubu (a/b, a%b) döndürür.
    değerlendirme(ler)
    s ile verilen nesneyi string olarak döndürür. S herhangi bir dil yapısını içerebilir. S ayrıca bir kod nesnesi olabilir, örneğin: x = 1 ; incr_x = eval("x+1") .
    yüzer(x) x sayısına eşit bir gerçek değer döndürür.
    altıgen(x) x sayısının onaltılık gösterimini içeren bir dize döndürür.
    giriş(<строка>) görüntüler<строку>, standart girdiden bir değer okur ve döndürür.
    int(x) x'in tamsayı değerini döndürür.
    lens) nesnenin uzunluğunu (eleman sayısını) döndürür.
    uzun(x) uzun tamsayı x türünde bir değer döndürür.
    maks., dakika(lar) s dizisinin öğelerinin en büyüğünü ve en küçüğünü döndürür (yani, s bir dize, liste veya demettir).
    ekim(x) x sayısının temsilini içeren bir dize döndürür.
    açık(<имя файла>, <режим>='r' ) okumak için açılan bir dosya nesnesini döndürür.<режим>= 'w' - yazmaya açık.
    ord(c) ASCII karakter kodunu döndürür (1 uzunluğundaki dize) c.
    güç (x, y) x'i y'nin gücüne döndürür.
    Aralık(<начало>, <конец>, <шаг>) büyük veya eşit tam sayıların bir listesini döndürür<начало>ve daha küçük<конец>verilen ile oluşturulan<шагом>.
    Ham girdi( [ <текст> ] ) görüntüler<текст>standart çıktıya dönüştürür ve standart girdiden bir dize okur.
    yuvarlak (x, n=0) n'inci ondalık basamağa yuvarlanmış gerçek bir x döndürür.
    str (<объект>) bir dize temsili döndürür<объекта>.
    tip(<объект>) nesnenin türünü döndürür.
    Örneğin: if type(x) == type(''): print ' this is a string'
    x aralığı (<начало>, <конец>, <шаг>) aralığa benzer, ancak bir liste oluşturmadan yalnızca bir listeyi simüle eder. Bir for döngüsünde kullanılır.

    Listelerle çalışmak için özel fonksiyonlar


    filtre(<функция>, <список>) bu öğelerin bir listesini döndürür<спиcка>, hangisi için<функция>"true" değerini alır.
    harita(<функция>, <список>) geçerlidir<функцию>her elemana<списка>ve bir sonuç listesi döndürür.
    azaltmak( f , <список>,
    [, <начальное значение> ] )
    "azaltma" ile elde edilen değeri döndürür<списка>fonksiyon f. Bu, başlatılmış bazı dahili değişken p olduğu anlamına gelir.<начальным значением>, sonra, her eleman için<списка>, f işlevi iki parametreyle çağrılır: p ve öğe<списка>. f tarafından döndürülen sonuç p'ye atanır. Her şeyi yineledikten sonra<списка>getirileri azaltmak s.
    Bu işlevi kullanarak örneğin bir listenin öğelerinin toplamını hesaplayabilirsiniz: def func (kırmızı, el): red+el toplam = azalt (fonk, , 0) # şimdi toplam == 15
    lambda [<список параметров>] : <выражение> Kendi adı olmayan ve çağrıldığı yerde yazılan "anonim" bir işlev. içinde belirtilen parametreleri kabul eder.<списке параметров>, ve bir değer döndürür<выражения>. Filtre, küçültme, harita için kullanılır. Örneğin: >>>filtre yazdır (lambda x: x>3, ) >>>haritayı yazdır (lambda x: x*2, ) >>>p=reduce (lambda r, x: r*x, , 1) >>> baskı s 24

    Modülleri içe aktarma



    Standart matematik modülü


    Değişkenler: pi, e.
    Fonksiyonlar(C dili işlevlerine benzer):

    acos(x) nakit(x) ldexp(x,y) kare(x)
    asin(x) exp(x) günlük(x) tan(x)
    atan(x) harikalar(x) günah(x) frex(x)
    atan2(x,y) kat(x) güç(x,y) modf(x)
    tavan(x) fmod(x,y) günah(x)
    cos(x) log10(x) tanh(x)

    dize modülü


    Fonksiyonlar:

    Çözüm


    Python dilinin sadeliği ve esnekliği nedeniyle programcı olmayan ancak işlerinde bilgisayar teknolojisi ve programlama kullanan kullanıcılara (matematikçiler, fizikçiler, ekonomistler vb.) önerilebilir.
    Python'daki programlar, derlenmiş dillerden (C, C ++, Pascal) ortalama bir buçuk ila iki (ve bazen iki ila üç) kat daha hızlı geliştirilir. Bu nedenle, dil, yürütme hızı için kritik olmayan uygulamalar geliştiren profesyonel programcılar ve karmaşık veri yapıları kullanan programlar için küçük bir ilgi alanı olmayabilir. Özellikle Python, grafiklerle çalışmak, ağaç üretmek için programların geliştirilmesinde kendini kanıtlamıştır.

    Edebiyat


    1. Budd T. Nesne yönelimli programlama. - St.Petersburg: Peter, 1997.
    2. Guido van Rossum. Python Eğitimi. (www.python.org)
    3. Chris Hoffman. Bir Python Hızlı Başvurusu. (www.python.org)
    4. Guido van Rossum. Python Kitaplığı Referansı. (www.python.org)
    5. Guido van Rossum. Python Referans Kılavuzu. (www.python.org)
    6. Guido van Rossum. Python'da programlama üzerine atölye çalışması. (http://sultan.da.ru)

    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 veri tabanları hakkında bilgi sahibi olmanıza ve mesleki 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 kısmı 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.

    Başlıktan 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 2010 yılında Rusça olarak 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!

    Python, adını ünlü İngiliz komedi TV şovundan alan, yaygın olarak kullanılan, üst düzey bir programlama dilidir. Monty Python'un Uçan Sirki". Python dili yapı olarak basittir, ancak inanılmaz derecede esnek ve güçlüdür. Python kodunun okunması kolay ve sözdiziminde çok katı olmadığı düşünüldüğünde, çoğu kişi onu en iyi başlangıç ​​programlama dili olarak kabul eder.

    Python, verilen dilin bir açıklamasıdır. Temel Python'u Anlatıyor:

    Python, yorumlanmış, etkileşimli, nesne yönelimli bir programlama dilidir. Modüller, istisnalar, dinamik yazma, üst düzey dinamik veri türleri ve sınıfları içerir. Python, mükemmel performansı temiz sözdizimi ile birleştirir. Birçok sistem çağrısı ve kitaplığının yanı sıra çeşitli pencere sistemlerine arabirimler uygular ve C ve C++ ile genişletilebilir. Python, bir programlama arayüzüne ihtiyaç duyan uygulamalar için bir uzantı dili olarak kullanılır. Son olarak, Python platformlar arası bir dildir: Unix'in birçok sürümünde, Mac'lerde ve MS-DOS, Windows, Windows NT ve OS/2 çalıştıran bilgisayarlarda çalışır.

    İlk önce hangi programlama dilini öğrenmeli?

    Python programlama dili ile öğrenmeye başlayabilirsiniz. Python'un diğer başlangıç ​​dillerinden ne kadar farklı olduğunu göstermek için genç olduğunuz zamanları düşünün.

    Python ile programlamayı öğrenmek, bir ebeveynin minibüsünü sürmek gibidir. Üzerindeki otoparkta birkaç tur attığınız anda araba kullanmayı anlamaya başlayacaksınız.

    C ile programlama öğrenmeye çalışıyorum ( hatta montajcı) anne babanızın minivanını yaparak araba kullanmayı öğrenmek gibidir. Parçaları bir araya getirmek için yıllarca bir garajda mahsur kalacaksınız ve bir arabanın nasıl çalıştığını tam olarak anladığınızda ve gelecekteki sorunları giderip tahmin edebildiğinizde, daha direksiyona bile geçemeden tükeneceksiniz.

    Python'un Faydaları

    Yeni başlayanlar için Python dili evrenseldir. Python ile iş akışlarını otomatikleştirebilir, web siteleri ve masaüstü uygulamaları ve oyunları oluşturabilirsiniz. Bu arada, Python geliştiricilerine olan talep ( PostgreSQL, OOP, Şişe, Django) Instagram, Reddit, Tumblr, YouTube ve Pinterest gibi şirketlerde son birkaç yılda patladı.

    Genel amaçlı üst düzey dil

    Python üst düzey bir programlama dilidir. Bunu kullanarak, hemen hemen her tür yazılımı oluşturabileceksiniz. Bu çok yönlülük, dilin sözdizimi hakkında endişelenmek yerine dilin vahşi dünyasına takılıp kalmak yerine ilgi alanlarınıza göre uyarlanmış programlar ve çözümler geliştirirken ilgi duymanızı sağlar.

    yorumlanan dil

    Yeni başlayanlar için Python programlama dili yorumlanabilir, yani kodu nasıl derleyeceğinizi bilmenize gerek yok. Derleme adımı olmadığından performans artar ve düzenleme, test etme ve hata ayıklama süresi büyük ölçüde azalır. Sadece IDE'yi indirin ( IDE), kodunuzu yazın ve "Çalıştır"a tıklayın ( Koşmak).

    Kod okunabilirliği anahtardır

    Python'un basit, öğrenmesi kolay sözdizimi okunabilirliği vurgular ve iyi bir programlama stili belirler. Python ile konseptinizi daha az kod satırı ile ifade edebilirsiniz. Bu dil ayrıca sizi program mantığı ve algoritmalar hakkında düşünmeye zorlar. Bu nedenle, genellikle bir betik veya entegrasyon dili olarak kullanılır ( tutkal dili) mevcut bileşenleri birbirine bağlamak ve kısa sürelerde büyük miktarda kolay okunabilir ve uygulanabilir kod yazmak.

    bu sadece eğlenceli

    Mizah anlayışınız olmadan bir programlama diline Monty Python adını veremezsiniz. Ayrıca, farklı dillerde basit bir komut dosyası yazmak için gereken süreyi karşılaştırmak için testler yapıldı ( Python, Java, C, J, TEMEL):

    …Python, işleri halletmek için daha az zaman, daha az kod satırı ve daha az konsept gerektirir… Ve hepsinin üstüne, Python programlama eğlencelidir! Eğlenceli ve sık görülen başarı, Python dilini daha fazla öğrenmeye daha iyi hazırlanan öğrencilerde güven ve ilgi uyandırır.

    Makalenin çevirisi “Neden Python Öğrenin? » Güleryüzlü bir proje ekibi tarafından hazırlanmıştır.

    İyi kötü

    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 görünebilir, 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ğine dikkat edin (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.