|
< Back | View original | http.pieter.net | Dark Mode
Python - Vikipedi
2005-02-03
Pythonnesne yonelimli,zorunlu,fonksiyonel,yansiticiGuido van RossumGelistirici Python Yazilim VakfiKararli surum (3 Subat 2026 ) )Onemli uygulamalari CPython,IronPython,Jython,Python for S60,PyPy,Unladen SwallowLehceleri Stackless Python,RPythonABC,ALGOL 68,C,Haskell,Icon,Java,Lisp,Modula-3,PerlBoo,Cobra,D,Falcon,Groovy,Ruby,JavaScript,Comfy,Land (programlama dili)Platformu Capraz platformIsletim sistemi macOS,Linux,Windows,OpenBSD,FreeBSDLisans Python Yazilim Vakfi Lisansidosya uzantilari Web sitesi www.python.orgPython, nesne yonelimli, yorumlamali, birimsel (moduler) ve etkilesimli yuksek seviyeli bir programlama dilidir.[1] Girintilere dayali basit soz dizimi, dilin ogrenilmesini ve akilda kalmasini kolaylastirir. Bu da ona soz diziminin ayrintilari ile vakit yitirmeden programlama yapilmaya baslanabilen bir dil olma ozelligi kazandirir. Moduler yapisi, sinif dizgesini (sistem) ve her turlu veri alani girisini destekler. Hemen hemen her turlu platformda calisabilir (Unix, Linux, Mac, Windows, Amiga, Symbian). Python ile sistem programlama, kullanici arabirimi programlama, ag programlama, web programlama, uygulama ve veritabani yazilimi programlama gibi bircok alanda yazilim gelistirebilirsiniz. Buyuk yazilimlarin hizli bir sekilde prototiplerinin uretilmesi ve denenmesi gerektigi durumlarda da C ya da C++ gibi dillere tercih edilir.
Python 1980'lerin sonunda ABC programlama diline alternatif olarak tasarlanmisti. Python 2.0, ilk kez 2000 yilinda yayinlandi. 2008'de yayinlanan Python 3.0, dilin onceki versiyonuyla tam uyumlu degildir ve Python 2.x'te yazilan kodlarin Python 3.x'te calismasi icin degistirilmesi gerekmektedir. Python 2 versiyonun resmi gelistirilme sureci, dilin son surumu olan Python 2.7.x serisi versiyonlarin ardindan 1 Ocak 2020 itibariyla resmi olarak sona erdi.[2] [3] Python 2.x gelistirilme desteginin sona ermesinin ardindan, Python dilinin 3.7.x ve sonraki surumlerinin gelistirilmesi devam etmektedir. [4]Gecmis[degistir| kaynagi degistir] Gelistirilmeye 1990 yilinda Guido van Rossum tarafindan Amsterdam'da baslanmistir. Adini sanilanin aksine bir yilandan degil Guido van Rossum'un cok sevdigi, Monty Python adli alti kisilik bir Ingiliz komedi grubunun Monty Python's Flying Circus adli gosterisinden almistir. [5] Gunumuzde Python Yazilim Vakficevresinde toplanan gonullulerin cabalariyla surdurulmektedir. Python 1.0 surumune Ocak 1994'te ulasmistir. 2.0 surumu 16 Ekim 2000'de yayinlanmistir. 3 Aralik 2008 tarihinden itibaren 3.x serisi yayinlanmaya baslamistir; ancak 3.x serisi 2.x serisiyle uyumlu degildir. [6] [7]Kullanim[degistir| kaynagi degistir] Django, Zope uygulama sunuculari, YouTube ve orijinal BitTorrent istemcisi Python kullanan onemli projelerden bazilaridir. Ayrica Google, NASA ve CERN gibi buyuk kurumlar da Python kullanmaktadir. Pygame ile 2D oyun yapilabilir, Blockchain uygulamalari kodlanabilir, uzaktan kontrol veya goruntu isleme yapilabilir, veri analizi veya veri kontrolu yapilabilir, TensorFlow, PyTorch, Keras gibi kutuphanlerle derin makine ogrenmesi uygulamalari yapilabilir.
Ayni zamanda Python Siber Guvenlik icin cok kullanisli bir programlama dilidir. Kotu amacli yazilim analizi ve sizma testi dahil olmak uzere bircok siber guvenlik islevini yerine getirebilir.[8] Ayrica OpenOffice.org, GIMP, Inkscape, Blender, Scribus ve Paint Shop Pro gibi bazi programlarda betik dili olarak kullanilir.
Pek cok Linux dagitiminda ve Apple macOS isletim sisteminde Python ontanimli bir bilesen olarak gelir.
Soz dizimi[degistir| kaynagi degistir] Python'un son derece kolay okunabilir olmasi dusunulmustur. Bu yuzden ornegin kume parantezleri yerine girintileme islemi kullanilir. Hatta bazi durumlarda girintileme islemine dahi gerek kalmadan kodun ilgili bolumu tek satirda yazilabilir. Boylece Python, program kodunuzu en az caba ile ve hizlica yazmaniza imkan tanir. Sade sozdizimi ile diger programlama dillerinden ustundur. Girintileme[degistir| kaynagi degistir] Python'da ifade bloklarini sinirlandirmak icin suslu ayraclar ya da anahtar kelimeler yerine beyaz bosluk girintileme kullanilir. Belli ifadelerden sonra girinti artar; girintinin azalmasi gecerli blokun sonlandigini gosterir. Islecler[degistir| kaynagi degistir] * isleci, carpma islemleri icin
/ isleci, bolme islemleri icin
// isleci, tam sayi bolme islemleri icin
+ isleci, toplama islemleri icin
- isleci, cikarma islemleri icin
% isleci, mod alma islemleri icin
< isleci, 'kucuktur' anlamina gelir
> isleci, 'buyuktur' anlamina gelir
== isleci, 'esittir' anlamina gelir
<= isleci, 'kucuk esittir' anlamina gelir
>= isleci, 'buyuk esittir' anlamina gelir
!= isleci, 'esit degil' anlamina gelir
** isleci, 'us alma' anlamina gelir
True isleci, 'dogru' anlamina gelir
False isleci, 'yanlis' anlamina gelir
and isleci, 've' anlamina gelir
or isleci, 'veya' anlamina gelir
not isleci, 'degil' anlamina gelir.
Ifadeler ve akis kontrolu[degistir| kaynagi degistir] Python ifadeleri sunlari icerir: if ifadesi, bir kod blokunu belli bir kosula bagli olarak,else veelif (else-if'in kisaltilmasi) ile birlikte calistirir.for ifadesi, yinelenebilir bir nesne uzerinden yineleme yapar, bu sirada ilgili bloktaki her ogeyi bir yerel degiskene atar.while ifadesi, kosulu dogru oldugu surece o kod blogunu calistirir.try ifadesi, eklenmis kod blogundan dolayi olusan hatalari yakalar veexcept maddeleriyle; ayricafinally blokundaki temizleme kodunun blok nasil sonlanirsa sonlansin calistirilmasini saglar.class ifadesi, bir kod blokunu calistirir ve onun yerel ad alanini bir sinifa atar, bu sayede o sinifNesne Yonelimli Programlamadakullanilabilir.def ifadesi ile fonksiyon tanimlanir.with ifadesi, bir kod blokunu bir icerik yoneticisine hapseder (ornegin bir kod bloku calisitirilmadan once bir kilit edinir ve sonrasinda bu kilidi cozer)break ifadesi, donguyu durdurur.continue ifadesi, dongude gecerli degeri atlar ve sonrakinden devam ederbreak ifadesinden farkli olarak donguyu durdurmaz.del ifadesi, nesneleri silmek icin kullanilir.pass ifadesi, birNOPgorevi gorur ve gecici kod bloku yerine kullanilabilir.assert ifadesi hata ayiklamada kosullari kontrol etmek icin kullanilir.return ifadesi, fonksiyondan deger dondurur ve fonksiyonu sonlandirir.yield ifadesi, fonksiyondan deger dondurmek icin kullanilir.return ifadesinden farkli olarak calistiktan sonra fonksiyonu sonlandirmaz. Fonksiyonun sonuna kadar devam eder.print ifadesi, bir ekrana yazdirma gorevi gorur. Bu ifade Python 3 surumuyle birlikteprint() fonksiyonu ile degistirildi.import ifadesi, modulleri ice aktarmak icin kullanilir.from ifadesi, modulun belli bir kismini ice aktarmak icin kullaniliras ifadesi,import vefrom ifadelerini ice aktarirken modullere takma ad vermek icin kullanilir.
Her ifadenin kendi sozdizimi vardir, ornegin def ifadesi diger ifadelerin genelinin aksine blokunu aninda calistirmaz.
Metotlar[degistir| kaynagi degistir] Nesneler uzerindeki metotlar nesnenin sinifina eklenmis fonksiyonlardir; ornek.metod(degisken) sozdizimi, normal metot ve fonksiyonlar icin Sinif.metod(ornek, degisken) ifadesi icin bir sozdizimsel sekerdir. Python metotlarinin ornek verisine ulasmalari icin acik self parametresine sahip olmalari gerekir. Bu durum Java, C++, Ruby gibi bazi diger nesne tabanli programlama diliyle farklilik gosterir.
Standart kutuphane[degistir| kaynagi degistir] Python'un cok buyuk bir standart kutuphanesi 30 Mart 2020 tarihinde Wayback Machine sitesinde arsivlendi. vardir. Bu, dilin arti ozelliklerinden biri olarak kabul edilir.
Ornekler[degistir| kaynagi degistir] Python 3 ve ustu surumler icin uygundur. Merhaba dunya[degistir| kaynagi degistir] # -*- coding: utf-8 -*-
print("Merhaba Dunya")
Yorum satirlari[degistir| kaynagi degistir] #Tek satirlik bir python yorumu
"""Bu cok satirli
bir python
yorumu"""
Girdi alma ve ekrana basma[degistir| kaynagi degistir] veri = input('Bir veri giriniz:')
print(veri)
[degistir| kaynagi degistir] def palindrom_kontrol(number):
# Sayiyi string veri tipine cevirir
str_number = str(number)
# Sayinin tersi kontrol edilir
if str_number == str_number[::-1]:
return True
else:
return False
# Asagidaki degisken kullanicidan sayi girisi alir.
sayi = int(input("Bir sayi girin: "))
# Asagidaki kosul yapilari fonksiyon uzerinden kontrol yapar ve sonucu ekrana yazdirir.
if palindrom_kontrol(sayi):
print(f"{sayi} bir palindromik sayidir.")
else:
print(f"{sayi} bir palindromik sayi degildir.")
Veri Tipleri[degistir| kaynagi degistir] | Veri tipi | Degistirilebilir | Aciklama | Ornekleri |
|---|---|---|---|
bool
|
hayir | |
True
False
bytearray
bytearray(b'Some ASCII')
bytearray(b"Some ASCII")
bytearray([119, 105, 107, 105])
bytes
b'ASCII'
b"ASCII"
bytes([119, 105, 107, 105])
complex
Karmasik sayi3+2.7j
dict
Komut cizelgesi{'anahtar1': 1.0, 3: False}{}
float
Kayan nokta1.414
int
42
list
arrayolarak ifade edilebilir[4.0, 'string', True]
[]
NoneType
nullolarak bilinir.None
range
for dongulerinde yaygin olarak kullanilir
range(1, 10)
range(10, -5, -2)
set
{4.0, 'string', True}
set()
str
'Vikipedi' "Vikipedi"
""" Birden Fazla
Satir"""
tuple
(4.0, 'string', True)
('element',)()
Surum Gecmisi[degistir| kaynagi degistir] | Surum | Tarih |
|---|---|
| 0.9 | 20 Subat 1991 | | 1.0 | 26 Ocak 1994 | | 1.1 | 11 Ekim 1994 | | 1.2 | 13 Nisan 1995 | | 1.3 | 13 Ekim 1995 | | 1.4 | 25 Ekim 1996 | | 1.5 | 31 Aralik 1997 | | 1.6 | 5 Eylul 2000 | | 2.0 | 16 Ekim 2000 | | 2.1 | 15 Nisan 2001 | | 2.2 | 21 Aralik 2001 | | 2.3 | 29 Haziran 2003 | | 2.4 | 30 Kasim 2004 | | 2.5 | 19 Eylul 2006 | | 2.6 | 1 Ekim 2008 | | 2.7 | 3 Temmuz 2010 | | 3.0 | 3 Aralik 2008 | | 3.1 | 27 Haziran 2009 | | 3.2 | 20 Subat 2011 | | 3.3 | 19 Eylul 2012 | | 3.4 | 16 Mart 2014 | | 3.5 | 13 Eylul 2015 | | 3.6 | 23 Aralik 2016 | | 3.7 | 27 Haziran 2018 | | 3.8 | 14 Ekim 2019 | | 3.9 | 5 Ekim 2020 | | 3.10 | 4 Ocak 2021 | | 3.11 | 24 Ekim 2022 | | 3.12 | 2 Ekim 2023 | | 3.13 | 7 Ekim 2024 |
Isim Kaynagi[degistir| kaynagi degistir] Python'un ismi, dilin yaraticisi olan Guido van Rossum'un dili gelistirirken keyif aldigi Ingiliz komedi grubu Monty Python'dan gelmektedir. Monty Python'a ait bircok atif Python kodunda ve kulturunde siklikla gorulebilir. [10] Ornegin, Python literaturunde siklikla kullanilan metasentaktik degiskenler, diger dillerde bulunan geleneksel "foo" ve "bar" yerine "spam" ve "eggs" olarak gecer. Resmi Python belgeleri ayrica Monty Python rutinlerine cesitli referanslar icerir. [11]Py- on eki, bir seyin Python ile ilgili oldugunu gostermek icin kullanilir. Python uygulamalarinin veya kitapliklarinin adlarinda bu on ekin kullanimina icin Pygame, [12]Qtve GTK'yi Python'a baglayan PyQt ve PyGTK ve orijinal olarak Python dilinde yazilmis bir Python uygulamasi olan PyPy bunlara ornek olarak verilebilir. Populerlik[degistir| kaynagi degistir] 2003 yilindan itibaren PythonTIOBE Programlama Toplulugu Endeksi'nde en populer 10 programlama dili arasinda istikrarli bir sekilde yer alirken, Ekim 2021 itibariyla Java ve C programlama dillerini gecerek en populer dil konumunda bulunmaktadir. [13] 2007, 2010, 2018 and 2020 yillarinda ise bir yil icerisindeki en yuksek kademe artisi catisi altinda "Yilin Programlama Dili" secilmistir ve bunu 4 kez yapabilen tek dildir. [14] [15]Deneysel bir akademik calisma, Python gibi komut dosyasi yazma dillerinin, dize islemeyi ve sozlukte aramayi iceren programlama sorunlari icin C ve Java gibi geleneksel dillerden daha uretken oldugunu raporlamis, bellek tuketiminin genellikle "Java'dan daha verimli ve C veya C++'dan cok daha verimsiz" olmadigini saptamistir.[16] Python kullanan buyuk kuruluslar arasinda Wikipedia, Google,[17]Yahoo! [18] CERN, NASA, [19] [20]Amazon, Instagram [21]ve Spotify [22]gibi bazi kuruluslar yer almaktadir. Sosyal haber agi sitesi [23] [24]Python'dan Etkilenen Programlama Dilleri[degistir| kaynagi degistir] Python programlama dilinin tasarimi ve felsefesi, diger bircok programlama diline de ilham vermis veya bu dillere etki etmistir: - Boo, benzer bir girintileme, sozdizimi ve nesne modeli kullanir.[25]
- Cobra, benzer bir girintileme ve sozdizimi kullanir ve "Tesekkurler" kisminda bu dilin gelisimine ilham olan diller arasinda Python ilk sirada yer alir.[26]
- JavaScriptile capraz derlenen bir programlama dili olan CoffeeScript, Python'dan ilham almis bir sozdizimine sahiptir.
- ECMAScript/JavaScript, Python'dan yineleyiciler ve olusturucular odunc almistir.[27]
- Python'a cok benzeyen bir betik dil olan GDScript, Godot oyun motoruna yerlestirilmistir.[28]
- Go, "Python gibi dinamik bir dilde calisma hizi"ve dizileri dilimlemek icin ayni sozdizimini paylasmasi icin tasarlanmistir.[29]
- Groovy, Python tasarim felsefesini Java'ya getirme motivasyonuyla gelistirilmistir.[30]
- Julia, "genel programlama icin Python kadar kullanilabilir" olma hedefiyle tasarlanmistir.[31]
- Nim, girintileme ve benzer sozdizimi kullanir.[32]
- Ruby'nin yaraticisi Yukihiro Matsumoto Ruby'in gelisimine yonelik sunlari ifade etmistir: "Perl'den daha guclu ve Python'dan daha nesne yonelimli bir betik dil hedefliyordum. Bu yuzden kendi dilimi tasarlamaya karar verdim."[33]
- Appletarafindan gelistirilen bir programlama dili olan Swift, Python'dan ilham alan bir sozdizimine sahiptir.[34]
Python'un gelistirme uygulamalari diger diller tarafindan da taklit edilmistir. Ornegin, Python'da "PEP" olarak gecen, bu dile yonelik bir degisikligin gerekcesini ve bununla ilgili konulari aciklayan belge talep etme uygulamasi, Tcl, [35] Erlang, ve Swift'de de kullanilmaktadir. [36] [37]Ayrica bakiniz[degistir| kaynagi degistir] Kaynakca[degistir| kaynagi degistir] - ^"Arsivlenmis kopya". 24 Ekim 2012 tarihinde kaynagindanarsivlendi. Erisim tarihi: 13 Aralik 2014.
- ^"Sunsetting Python 2".Python.org(Ingilizce). 12 Ocak 2020 tarihindekaynagindanarsivlendi. Erisim tarihi: 22 Eylul 2019.
- ^"PEP 373 -- Python 2.7 Release Schedule".Python.org(Ingilizce). 13 Ocak 2020 tarihindekaynagindanarsivlendi. Erisim tarihi: 22 Eylul 2019.
- ^"Python Developer's Guide - Python Developer's Guide".devguide.python.org. 9 Kasim 2020 tarihindekaynagindanarsivlendi. Erisim tarihi: 15 Kasim 2020.
- ^"General Python FAQ". 5 Nisan 2023 tarihindekaynagindanarsivlendi. Erisim tarihi: 23 Nisan 2023.
- ^"Python.org". 30 Ekim 2012 tarihindekaynagindanarsivlendi.
- ^"Python.org". 2 Kasim 2012 tarihinde kaynagindanarsivlendi.
- ^"Siber Guvenlikte Python Kullanimi".Makale. Beyaznet. 16 Agustos 2021 tarihindekaynagindanarsivlendi. Erisim tarihi: 18 Eylul 2023.
- ^"Arsivlenmis kopya". 13 Ekim 2018 tarihindekaynagindanarsivlendi. Erisim tarihi: 3 Haziran 2015.
- ^"Whetting Your Appetite". The Python Tutorial. Python Software Foundation. Archived from the original on 26 October 2012. Retrieved 20 February 2012.
- ^"In Python, should I use else after a return in an if block?". Stack Overflow. Stack Exchange. 17 February 2011. Archived from the original on 20 June 2019. Retrieved 6 May 2011.
- ^Lutz, Mark (2009). Learning Python: Powerful Object-Oriented Programming. O'Reilly Media, Inc. p. 17..ISBN 9781449379322. Archived from the original on 17 July 2017. Retrieved 9 May 2017. Fehily, Chris (2002). Python. Peachpit Press. p. xv
- ^"TIOBE Index". TIOBE. 29 Temmuz 2016 tarihindekaynagindanarsivlendi. Erisim tarihi: 3 Ocak 2023.
The TIOBE Programming Community index is an indicator of the popularity of programming languages Updated as required. - ^"TIOBE Index for January 2021". 21 Mart 2021 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"TIOBE Index for December 2021". 25 Subat 2018 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl"(PDF). 3 Ocak 2020 tarihindekaynagindan(PDF) arsivlendi19 Aralik 2021.
- ^"Qutotes about Python". 3 Haziran 2020 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Organizations Using Python". 5 Haziran 2020 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Python : the holy grail of programming". 10 Mayis 2021 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Python Success Stories". 5 Haziran 2020 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Tornado: Facebook's Real-Time Web Framework for Python". 19 Subat 2019 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"What Powers Instagram: Hundreds of Instances, Dozens of Technologies". 15 Haziran 2020 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"How we use Python at Spotify". 10 Haziran 2020 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Reddit Archieve Code". 1 Haziran 2020 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Gotchas for Python Users". 11 Aralik 2008 tarihindekaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Acknowledgements". 8 Subat 2008 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Iterators and Generators". 20 Ekim 2007 tarihindekaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Frequently Asked Questions". 28 Nisan 2021 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Google's Go: A New Programming Language That's Python Meets C++". 18 Ocak 2010 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Groovy - the birth of a new dynamic language for the Java platform". 5 Nisan 2007 tarihindekaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Why We Created Julia". 2 Mayis 2020 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Nim language draws from best of Python, Rust, Go, and Lisp". 13 Ekim 2018 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"An Interview with the Creator of Ruby". 28 Nisan 2018 tarihindekaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"Chris Lattner's Home Page". 22 Aralik 2015 tarihindekaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"TIP 3: TIP Format". 13 Temmuz 2017 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
- ^"EEP 1: EEP Purpose and Guidelines". 21 Ocak 2008 tarihindekaynagindanarsivlendi.
- ^"Swift Programming Language Evolution repository on GitHub". 27 Nisan 2020 tarihinde kaynagindanarsivlendi. Erisim tarihi: 19 Aralik 2021.
Dis baglantilar[degistir| kaynagi degistir]
Source: tr.wikipedia.org
|