1
00:00:00,000 --> 00:00:04,080
Bu kursta size programlamaya başlamak için bilmeniz gereken her şeyi öğreteceğim

2
00:00:04,080 --> 00:00:10,560
Python'da. Artık Python en popüler programlama dillerinden biridir. Ve şu ana kadar

3
00:00:10,560 --> 00:00:15,760
iş için en çok arananlardan biri. Ve eğer bir iş bulmaya çalışıyorsanız veya bulmaya çalışıyorsanız,

4
00:00:15,760 --> 00:00:19,920
Bilirsiniz, hayatınızı otomatikleştirin ya da bir sürü farklı şey yapmak için harika senaryolar yazmaya çalışıyorsunuz.

5
00:00:19,920 --> 00:00:24,560
o zaman Python tam size göre. Dürüst olmak gerekirse, her geçen gün daha fazla geliştirici kendi

6
00:00:24,560 --> 00:00:30,000
Python'a yöneliyorum çünkü çok güçlü ve kullanımı çok kolay bir dil. Çok

7
00:00:30,000 --> 00:00:34,640
Piyasadaki birçok programlama dili yeni başlayanlar için pek de uygun değil. Çok fazla sözdizimi var.

8
00:00:34,640 --> 00:00:38,960
Yanlış yaparsanız programın size bağıracağı pek çok küçük şey var. Python

9
00:00:38,960 --> 00:00:43,760
bunun tam tersidir. Temel olarak sadece ne yapmak istediğinizi yazarsınız ve Python bunu yapar

10
00:00:43,760 --> 00:00:49,040
o. Bu kadar basit. Öğrenilecek çok fazla sözdizimi yok. Öğrenme eğrisi kelimenin tam anlamıyla

11
00:00:49,040 --> 00:00:54,160
sıfır. Siz de katılın, saniyeler içinde ilk programınızı yazmaya başlayabilirsiniz. Ben bu kursta

12
00:00:54,160 --> 00:00:58,560
Python'a başlamak için bilmeniz gereken her şeyi size öğreteceğim. Bunu ben tasarladım

13
00:00:58,560 --> 00:01:03,840
tabii ki, özellikle Python için. Ve her ders özel olarak örneklerle tasarlanmıştır.

14
00:01:03,840 --> 00:01:07,920
Pek çok insanın Python öğrenmeye başlamasıyla birlikte size yardımcı olacak. Soru şu değil

15
00:01:07,920 --> 00:01:12,560
Python'u neden öğrenmelisiniz? Soru şu ki, neden bunu yapmayasınız? Ve sanırım pek çok insan için,

16
00:01:12,560 --> 00:01:16,640
Python'u öğrenmek istememelerinin nedeni korkutulmaları ya da korkmalarıdır.

17
00:01:16,640 --> 00:01:21,200
çok zor olacak. İnan bana, tüm kurs boyunca elini tutacağım.

18
00:01:21,200 --> 00:01:25,600
Python'daki tüm temel kavramlar hakkında konuşacağız. Sizin için her şeye bakacağız

19
00:01:25,600 --> 00:01:30,400
Python'da programlamaya başlamayı, kendinize güvenmeye ve senaryo yazmaya başlamayı bilmeniz gerekiyor

20
00:01:30,400 --> 00:01:34,720
ve harika programlar yazmaya ve hayatınızda harika şeyler yapmaya başlayın. Her neyse,

21
00:01:34,720 --> 00:01:38,880
Sizlere Python öğreteceğim için çok heyecanlıyım. Bu kursa başlamak için sabırsızlanıyorum. Ve

22
00:01:38,880 --> 00:01:43,440
Umarım burada kalırsınız, kursu takip edersiniz ve bu harika programlamayı öğrenirsiniz

23
00:01:43,440 --> 00:01:52,480
dil. Bu derste sizlere Python'u bilgisayarınıza nasıl kuracağınızı göstereceğim.

24
00:01:52,480 --> 00:01:57,920
Ayrıca Python programlarımızı yazmak için kullanabileceğimiz bir metin düzenleyici de kuracağız.

25
00:01:58,480 --> 00:02:04,000
Yani işin ilk sırası aslında Python'u bilgisayarınıza kurmaktır. Peki ne istiyoruz

26
00:02:04,000 --> 00:02:09,040
yapmanız gereken web tarayıcımıza gitmek. Ve bu sayfaya gitmek istiyorsanız, sadece

27
00:02:09,040 --> 00:02:17,840
www.python.org eğik çizgi indirmeleri. Ve bu sayfada iki düğme olacak.

28
00:02:17,840 --> 00:02:23,440
Ve sadece Python 3.6.3'ü indirin diyecek. Ve en azından benim sahip olduğum doğru versiyon bu

29
00:02:23,440 --> 00:02:30,720
şimdi veya Python 2.7.1.4'ü indirin. İşte Python'la ilgili olan şey şu; aslında iki ana versiyon var

30
00:02:30,720 --> 00:02:37,680
Şu anda kullanımda olan Python. Python iki var ve Python üç var. Böylece üzerini görebilirsin

31
00:02:37,680 --> 00:02:45,760
burada, bu 2.7.1.4 gibidir. Temel olarak, herhangi bir Python iki sürümüne Python gibi diyeceğiz

32
00:02:45,760 --> 00:02:51,120
iki. Ve işte Python'un en son üç versiyonu gibi. Ve böylece yapabileceğiniz bu iki versiyon var

33
00:02:51,120 --> 00:02:55,760
indir. Karar vermemiz gereken ilk şey hangi sürümü indirmek istediğimizdir. Ve işte

34
00:02:55,760 --> 00:03:02,080
Temel fark, Python 2'nin Python'un eski bir sürümü olmasıdır, bu da temel olarak şu anlama gelir:

35
00:03:02,080 --> 00:03:08,160
eski bir sürüm gibi ve resmi olarak aktif olarak korunmuyor veya desteklenmiyor

36
00:03:08,160 --> 00:03:14,000
artık Python tarafından. Python üç, Python'un geleceği gibidir. En yeni versiyon gibi. Bu

37
00:03:14,000 --> 00:03:19,360
aktif olarak bakımı yapılan ve desteklenen bir şey. Yani ikisini de seçmenin artıları ve eksileri var

38
00:03:19,360 --> 00:03:25,600
bir. Pek çok kişi Python 2'nin daha uzun süredir var olduğunu söyleyecektir. Ve böylece daha fazlası var

39
00:03:25,600 --> 00:03:31,280
kütüphaneler, temelde Python ikide yazılmış daha fazla Python kodu var. Bu nedenle, mesela

40
00:03:31,280 --> 00:03:35,760
Python 2'de yapabileceğiniz birkaç şey daha var, sonra Python 3'te de yapabilirsiniz. Ancak

41
00:03:35,760 --> 00:03:41,120
yine de Python iki desteklenmiyor. Ve biliyorsunuz, bundan beş ya da 10 yıl sonra muhtemelen kimse

42
00:03:41,120 --> 00:03:45,840
onu kullanacak. Python 3, söylediğim gibi, Python'un geleceği gibidir. Bu en yenisi

43
00:03:45,840 --> 00:03:50,560
versiyon. Bu, biliyorsunuz, ileriye doğru sürdürülen bir şey. Yani

44
00:03:50,560 --> 00:03:55,760
Bu derste sizlere Python 3'ü öğreteceğim. Yani isteyeceğiz

45
00:03:55,760 --> 00:04:01,200
Python 3'ü indirmek için. Şimdi olay şu: Python 3'ü öğrenirseniz veya Python'u öğrenirseniz

46
00:04:01,200 --> 00:04:06,960
ikincisi, farklar çok büyük değil. Bazı söz dizimlerinde ve sadece bazılarında birkaç fark vardır.

47
00:04:06,960 --> 00:04:11,120
bilirsin, orada burada küçük şeyler var. Ancak Python 3'ü öğrenirseniz sağa sıçrayabileceksiniz.

48
00:04:11,120 --> 00:04:16,400
Python ikide de kodlayın. Kimsenin sana bir tane öğrenmen gerektiğini söylemesine izin verme

49
00:04:16,400 --> 00:04:20,800
ya da diğerini, Python 3'ü öğreneceğiz çünkü bunun muhtemelen bir öğrenci için en iyisi olduğunu düşünüyorum.

50
00:04:20,800 --> 00:04:24,400
öğrenmeye yeni başlayan. İşte indirmek istediğimiz şey bu. O yüzden sadece tıklayacağım

51
00:04:24,400 --> 00:04:29,920
Python 3'ü indirin. Ve devam edip bu sürümü indireceğiz. Ve bu bittiğinde

52
00:04:29,920 --> 00:04:34,880
indiriyorum, indirilenler klasörüne gideceğim. Ve burada göreceksiniz, biz sadece

53
00:04:34,880 --> 00:04:40,400
Bu dosya var, sadece çift tıklayacağım. Ve bunu Python yükleyicisi gibi elde ediyoruz. Yani ben sadece

54
00:04:40,400 --> 00:04:45,600
buraya tıklayacağım. Ve bilgisayarımıza Python 3'ü kurabileceğiz. Peki,

55
00:04:45,600 --> 00:04:49,840
kurulum bittiğinde, bunu kapatabiliriz ve artık hazır olmalıyız. Yani şimdi biz

56
00:04:49,840 --> 00:04:56,960
Bilgisayarımızda Python 3 kurulu olsun. Bir sonraki adım, bir metin düzenleyici seçmemiz gerektiğidir. Yani

57
00:04:57,760 --> 00:05:01,200
bir sürü kod yazacağız. Yani biraz ihtiyacımız olacak, biliyorsun.

58
00:05:01,200 --> 00:05:06,320
tüm bu kodları yazabileceğimiz bir ortam veya bir program. Ve gerçekten Python yazabilirsiniz

59
00:05:06,320 --> 00:05:11,200
Herhangi bir metin düzenleyicide, bunu not defteri veya metin düzenleme gibi yazabilirsiniz, bu gerçekten önemli değil.

60
00:05:11,200 --> 00:05:18,160
Ancak yalnızca Python kodunu yazmak için tasarlanmış özel metin editörleri vardır. Ve bunlara denir

61
00:05:18,160 --> 00:05:23,520
IDE'ler. Bu da entegre geliştirme ortamı anlamına gelir. Temelde sadece özel bir

62
00:05:23,520 --> 00:05:28,240
Python kodumuzu çalıştırabileceğimiz ve yürütebileceğimiz bir ortam. Ve öyle olacak, biliyorsun,

63
00:05:28,240 --> 00:05:32,400
Temel olarak, bize nasıl olduğumuzu anlatmak gibi. Yani eğer yanlış bir şey yazarsak, bilirsiniz,

64
00:05:32,400 --> 00:05:36,800
ya da hatalarımız varsa, bu bizi, bunu düzeltmek için ne yapmamız gerektiği konusunda doğru yöne yönlendirecektir.

65
00:05:36,800 --> 00:05:41,680
şeyler. Bu derste bir IDE kullanacağız. Ve favorilerimden biri ve

66
00:05:41,680 --> 00:05:47,600
Python için en popüler IDE'lere pasta cazibesi denir. Bu yüzden burada bu web sitesindeyim, adı

67
00:05:47,600 --> 00:05:54,160
jetbrains.com ileri eğik çizgi pasta cazibesi. Ve bu, burada kullanacağımız IDE'dir.

68
00:05:54,160 --> 00:05:58,880
elbette. O yüzden buraya gelip şu büyük hemen indir butonuna tıklayacağım. Ve gideceğiz

69
00:05:58,880 --> 00:06:04,560
devam edin ve bu pasta cazibesi programını indirin. Tamam, bu sayfayı buraya getiriyorum. görebilirsin

70
00:06:04,560 --> 00:06:08,960
Pie Charm'ın iki versiyonu var. Biri profesyonel versiyon, diğeri ise ücretli gibi.

71
00:06:08,960 --> 00:06:12,480
yani bunun bedelini ödemeniz gerekiyor. Ama burada bir de topluluk versiyonu var ve bu da

72
00:06:12,480 --> 00:06:16,720
ücretsiz ve açık kaynak. O yüzden bunu indireceğim. Ve bu ihtiyacımız olan her şeye sahip olmalı

73
00:06:16,720 --> 00:06:22,000
Python'u kullanmaya başlamak için. Tamam, indirme işlemi bittiğinde onu çekeceğim

74
00:06:22,000 --> 00:06:28,080
İndirilenler klasörümde. Ve yine, bu adamı bir şekilde yönetebiliriz. Ve Mac kullanıyorum. yani ben

75
00:06:28,080 --> 00:06:33,360
onu uygulamalar klasörüme sürüklemem gerekecek. Pekala, artık pasta cazibemiz var. Ve biz

76
00:06:33,360 --> 00:06:39,680
Bilgisayarımızda Python 3 kurulu olsun. Artık Python'da programlamaya başlamaya hazırız.

77
00:06:39,680 --> 00:06:48,480
Ve bu derste ilk Python programımızı oluşturacağız. Ve koşabileceğiz

78
00:06:48,480 --> 00:06:54,400
ve her şeyin nasıl çalıştığını görün. Yapmak istediğim ilk şey pasta büyüsünü açmak. Yani pasta cazibesi

79
00:06:54,400 --> 00:07:00,640
Son derste indirdiğimiz entegre geliştirme ortamı olan IDE. yani ben

80
00:07:00,640 --> 00:07:05,040
Devam edip bilgisayarımda arayacağım. Ve onu açabilirim. Ve biz ne zaman

81
00:07:05,040 --> 00:07:10,800
İlk önce pasta cazibesini açalım, temel olarak bizi bir proje yaratmaya yönlendiren bir pencere görmeliyiz. Yani

82
00:07:10,800 --> 00:07:14,960
bunu aşağıda görebilirsin. Aslında yapmak istediğim ilk şey buraya gelip

83
00:07:14,960 --> 00:07:22,560
yapılandırın. Ve ben sadece tercihlere tıklayacağım. Ve aslında görünüşünü değiştirmek istiyorum. Yani

84
00:07:23,200 --> 00:07:28,000
Devam edeceğim ve buna bir tema vereceğim. Ben de buraya sadece görünüş ve davranışlara gittim,

85
00:07:28,000 --> 00:07:32,720
görünüm. Ve temayı karanlık olarak değiştireceğim. Sırf bunun biraz olduğunu düşündüğüm için

86
00:07:32,720 --> 00:07:38,640
kullanımı ve görünümü daha kolaydır. Ancak istemiyorsanız bunu yapmak zorunda değilsiniz. Ve burada aşağıda,

87
00:07:38,640 --> 00:07:43,600
Yeni proje oluştur'a tıklayacağım. Ve bize burada küçük bir pencere verecek.

88
00:07:43,600 --> 00:07:49,440
Böylece projeme isim verebilirim. Ve bu taslağa sadece bir isim vereceğim. Ve sonra bir tane daha var

89
00:07:49,440 --> 00:07:57,120
burada tercüman yazan seçenek var. Şimdi seçmek istediğimiz şey Python'un üçüncü versiyonu.

90
00:07:57,120 --> 00:08:02,240
Yani buraya tıklarsam birkaç farklı seçeneğin olduğunu fark edeceksiniz. Yani bir Mac'teyim

91
00:08:02,240 --> 00:08:09,600
bilgisayar. Ve varsayılan olarak Mac'te Python'un ikinci sürümü yüklüdür. Windows makinesindeyseniz,

92
00:08:09,600 --> 00:08:14,880
Öyle olup olmadığından emin değilim. Ancak bu derste Python 3'ü kullanacağız. Yani istiyorsun

93
00:08:14,880 --> 00:08:20,640
tercüman olarak Python 3'ün seçildiğinden emin olmak için. Aksi takdirde, olmayabilirsin

94
00:08:20,640 --> 00:08:24,240
Bu videoda yaptıklarımızı tam olarak takip edebiliyoruz. O yüzden şimdi aşağı ineceğim

95
00:08:24,240 --> 00:08:29,760
buraya tıklayın ve oluştur'a tıklayın. Ve bu devam edecek ve bizim için projemizi yaratacak. Elbette,

96
00:08:29,760 --> 00:08:35,440
artık Python projemizi çalışır durumda tutuyoruz. Ve size kendi modelimizi nasıl yaratabileceğimizi göstermek istiyorum.

97
00:08:35,440 --> 00:08:41,760
İlk Python programı. İşte burada, bu taslak klasörde, bu da tam olarak bizim tasarladığımız proje.

98
00:08:41,760 --> 00:08:46,480
oluşturuldu, sadece sağ tıklayıp yeni diyeceğim. Ve ben aşağı geleceğim ve

99
00:08:46,480 --> 00:08:51,440
Python dosyasına tıklayın. Yani yeni bir Python dosyası oluşturmak istiyoruz, bu bizim ilk Python programımız olacak.

100
00:08:52,080 --> 00:08:56,320
Ve buna bir isim verebilirim. Peki neden bu uygulamayı aramıyoruz? Ve ben sadece tıklayacağım

101
00:08:56,320 --> 00:09:02,800
Tamam. Pekala, şimdi ilk Python dosyamızı açtık. Ve bazılarını yazmaya başlayabiliriz

102
00:09:02,800 --> 00:09:08,000
Python. Sizlere çok basit bir Python programı göstermek istiyorum. Ve bu sadece olacak

103
00:09:08,000 --> 00:09:12,480
merhaba dünya programı. Yani ekrana bir şeyler yazdıracağız. Peki ben ne

104
00:09:12,480 --> 00:09:18,960
yapmak istediğim PRINT print yazmak istiyorum. Ve açık ve kapalı parantezleri yazmak istiyorum.

105
00:09:18,960 --> 00:09:24,000
Şimdi bu parantezlerin içine bazı tırnak işaretleri koyabiliriz. Ve alıntının içinde

106
00:09:24,000 --> 00:09:30,160
işaretleri, sadece merhaba dünya yazacağım. Yani bu çok basit bir Python programına benziyor. Ve

107
00:09:30,160 --> 00:09:35,600
bunun yapacağı şey şu: merhaba dünya'yı ekrana yazdıracak. Ve şimdi

108
00:09:35,600 --> 00:09:39,440
yapabileceğim şey şu; bu dosyayı gerçekten çalıştırabilirim ve aslında burada küçük bir hata alıyoruz.

109
00:09:39,440 --> 00:09:45,280
Dosyanın sonunda yeni bir satır oluşturmamızı istiyor. Ve şimdi Python'umuzu çalıştırmak için

110
00:09:45,280 --> 00:09:49,760
programda, burada zirveye çıkacağım. Ve ben sadece koş'a tıklayacağım. Ve biz

111
00:09:49,760 --> 00:09:54,560
buradaki çalıştır düğmesine tıklayın. Ve şimdi ne olacağını göreceğiz. Yani bana ne istediğimi soruyor

112
00:09:54,560 --> 00:10:00,480
koşmak. Sadece uygulamaya tıklayabilirim. Ve burada, altta bu metnin bulunduğunu fark edeceksiniz.

113
00:10:00,480 --> 00:10:06,080
bu yeni basıldı merhaba dünya. Ve ne yazdırırsam ya da içine ne koyarsam koyayım

114
00:10:06,080 --> 00:10:10,960
bu print ifadesi konsolun aşağısında yazdırılacaktır. Yani sen olduğun sürece

115
00:10:10,960 --> 00:10:15,760
print ifadesinin çalışmasını sağladıktan sonra aslında ilk Python programınızı yazmış olursunuz. Ve

116
00:10:15,760 --> 00:10:19,520
Kursta ilerledikçe her türden harika Python yazacağız

117
00:10:19,520 --> 00:10:22,320
programlar. Ve her türlü harika şeyi yapacağız.

118
00:10:26,000 --> 00:10:30,880
Bu derste sizinle temel bir Python programı yazma hakkında konuşmak istiyorum. Yani biz gidiyoruz

119
00:10:30,880 --> 00:10:35,360
çok basit bir Python programı yazın. Nasıl ilerleyip yazabileceğimize bakacağız

120
00:10:35,360 --> 00:10:40,480
Programlarımızda, programlarımızın Python tarafından nasıl yürütüldüğünden bahsedeceğiz.

121
00:10:40,480 --> 00:10:44,880
Ayrıca ekrana küçük bir şekil çizeceğiz. Yani bu çok güzel olacak

122
00:10:44,880 --> 00:10:50,160
harika. Sizinle Python'un temel temelleri hakkında konuşacağım için heyecanlıyım ve aslında bir nevi

123
00:10:50,160 --> 00:10:57,600
size bir giriş yapayım. Burada temel metin düzenleyicimiz var. Ve böylece herhangi bir Python kodu

124
00:10:57,600 --> 00:11:04,480
Bu dosyanın içine yazdığım şey aslında Python tarafından yürütülecek. Yani bu Python dosyası

125
00:11:04,480 --> 00:11:10,000
İçinde bir sürü Python kodu var. Ve temel olarak programlama yaparken yaptığımız şey

126
00:11:10,000 --> 00:11:14,640
Python'da bilgisayara bir dizi talimat veriyoruz. Doğru, gerçekten de bu

127
00:11:14,640 --> 00:11:19,360
programlama, tıpkı bir dizi talimatı belirlememiz gibidir. Ve bilgisayar gidiyor

128
00:11:19,360 --> 00:11:24,880
gidip ona verdiğimiz talimatları yerine getirmek. Ve böylece talimatlar ne kadar karmaşık olursa

129
00:11:24,880 --> 00:11:30,480
Bilgisayara ne kadar verirsek, bilgisayarın yapabileceği görevler o kadar karmaşık olur. yani ben de istiyorum

130
00:11:30,480 --> 00:11:36,560
size bir şekil çizmek için bazı Python talimatlarını veya bazı Python kodlarını nasıl kullanabileceğimizi göstereceğim

131
00:11:36,560 --> 00:11:42,160
ekrana. Aslında küçük bir üçgen çizeceğim. Yani burada aslında yapabiliriz

132
00:11:42,160 --> 00:11:47,360
print ifadeleri adı verilen bir şeyi kullanarak ekrana ve Python'a bir şeyler yazdırın. Yani yapabilirim

133
00:11:47,360 --> 00:11:54,080
sadece yazdırın. Ve bu parantezlerin içine birkaç tırnak işareti yazabilirim ve içine

134
00:11:54,080 --> 00:11:58,960
tırnak işaretleri, yazdırmak istediğimiz şeyi ekrana koyabiliriz. Yani ben gidiyorum

135
00:11:58,960 --> 00:12:03,200
bunu kopyalayın ve aslında bu küçük basılı ifadelerden birkaçını yapacağım. Ve biz gidiyoruz

136
00:12:03,200 --> 00:12:08,640
aslında bir şekil çizmek için. Yani üçgen tipi bir şekil gibi çizeceğiz. Yani burada aşağıdayım, sadece

137
00:12:08,640 --> 00:12:13,680
ileri eğik çizgi çizeceğim. Ve sonra burada bir boşluk bırakacağım ve başka bir eğik çizgi daha yapacağız.

138
00:12:14,240 --> 00:12:19,040
Burada iki boşluk yapacağız, bir eğik çizgi daha yapacağız. Ve burada, şunları yapacağız

139
00:12:19,040 --> 00:12:24,480
üç boşluk ve bir eğik çizgi. Şimdi de aşağıya doğru uzanan dikey çubuklar gibi çizeceğim.

140
00:12:27,280 --> 00:12:30,400
Ve aslında burada da bazı alt çizgiler yapabiliriz. Bu çok hoş olurdu.

141
00:12:30,400 --> 00:12:36,320
Pekala, artık üçgen görünümlü şeklimiz var ve bunun bir çeşit şeye benzediğini görebilirsiniz.

142
00:12:36,320 --> 00:12:43,440
sağ üçgen. Böylece dosyamı kaydedebilirim. Ayrıca buraya gelip uygulamayı çalıştırabilirim.

143
00:12:43,440 --> 00:12:47,120
Veya PyCharm kullanıyorsanız buraya gelip bu oynat düğmesine de tıklayabilirsiniz.

144
00:12:47,760 --> 00:12:52,800
Ve oynat butonuna tıkladığımda burada neler olduğunu fark etmenizi istiyorum. Yani burada,

145
00:12:52,800 --> 00:12:58,320
küçük bir penceremiz var ve buna konsol deniyor. Ve temel olarak konsol sadece bir

146
00:12:58,320 --> 00:13:03,840
Python'un bazı bilgilerin çıktısını alacağı yer. Bu print ifadesini kullandığımızda,

147
00:13:03,840 --> 00:13:08,800
Temel olarak Python'a şunu söylüyoruz: Hey, konsola bir şeyler yazdırabilir misin? Yani bir tane var

148
00:13:08,800 --> 00:13:13,440
Kodumuzda neler olup bittiğini görmek isteyeceğimiz birçok durum. Ve kullanabiliriz

149
00:13:13,440 --> 00:13:18,400
bu ifadeyi yazdırın ve işleri konsola yazdırın. Ve temelde biraz eğlenmeyi sevebiliriz

150
00:13:18,400 --> 00:13:22,800
programımızın ne yaptığına ilişkin pencere. Bizim durumumuzda, bunu yazdıracağız

151
00:13:22,800 --> 00:13:27,840
Konsolun üzerine üçgen. O yüzden buraya geleceğim ve bu oynat tuşuna basacağım. Ve sen

152
00:13:27,840 --> 00:13:33,040
aşağıya bakın, aslında o üçgenin çıktısını alıyoruz. Yani görev tamamlandı, başardık

153
00:13:33,040 --> 00:13:38,880
şeklimizi yazdırın. Böylece, belirleyebildiğim sürece gerçekten istediğim herhangi bir şekli çizebilirdim.

154
00:13:38,880 --> 00:13:44,960
bu basılı ifadelerin içinde. Yani aslında Python'un oynat butonuna tıkladığımda yaptığı şey,

155
00:13:44,960 --> 00:13:50,160
bu dosyaya giriyor ve tüm bu talimatlara sırayla bakıyor. Yani ilk

156
00:13:50,160 --> 00:13:54,880
yaptığı şey şu, bu talimata gidiyor ve diyor ki, tamam, bunları çizmemi istiyorlar

157
00:13:54,880 --> 00:13:59,760
ekranın üzerindeki bu dikey çubuktaki küçük eğik çizgi gibi. Bunu yaptığında aşağı iner

158
00:13:59,760 --> 00:14:03,840
bu talimata göre, tamam, bir şeyin çıktısını tekrar almamı istiyorlar diyor. Bunu yazdırdığında

159
00:14:03,840 --> 00:14:10,000
dışarı, bu talimata iner, vb. Yani Python aslında şu satırları çalıştıracak:

160
00:14:10,000 --> 00:14:16,320
Sırayla yazdığımız kod. Bu yüzden talimatları yazma sırası çok önemli. Yani için

161
00:14:16,320 --> 00:14:23,600
Örneğin, buradaki son satırı alıp en üste koysaydım. Şimdi dosyayı kaydettiğimde

162
00:14:23,600 --> 00:14:28,960
Sadece bu üçgeni çizmek yerine, bu küçük ters alt kısmı çizecek

163
00:14:28,960 --> 00:14:34,080
üstteki şey ve sonra üçgenin geri kalanı burada. Yani talimatların sırası

164
00:14:34,080 --> 00:14:39,520
aslında çok önemli. Yani Python programlarınız temel olarak bu şekilde ilerleyecek. biz giderken

165
00:14:39,520 --> 00:14:44,000
Bu kurs boyunca bu küçük çizgileri giderek daha fazla öğreneceğiz. İşte buradayız

166
00:14:44,000 --> 00:14:48,560
Sadece bu küçük yazdırma işlevini kullanarak, temel olarak ekrana bir şeyler yazdırır. var

167
00:14:48,560 --> 00:14:53,040
ilerledikçe öğrenebileceğimiz bunun gibi bir sürü küçük şey, giderek daha fazlasını öğreneceğiz

168
00:14:53,040 --> 00:14:57,680
Bilgisayara verebileceğimiz talimatlar. Ama bu derste size şunu göstermek istiyorum:

169
00:14:57,680 --> 00:15:04,000
beyler temel bilgiler, değil mi? Aslında bilgisayar için bu küçük talimatları tanımlayabiliriz,

170
00:15:04,000 --> 00:15:12,800
ve bilgisayar bunları sırayla yürütecektir. Bu eğitimde sizinle şunu konuşmak istiyorum:

171
00:15:12,800 --> 00:15:19,840
Python'da değişkenleri kullanma. Şimdi Python'da çok fazla veriyle uğraşacaksınız. yani çok

172
00:15:19,840 --> 00:15:24,960
Programımızda çoğu zaman her türlü bilgi, veri ve değerle çalışacağız.

173
00:15:25,520 --> 00:15:32,560
Bazen bu verileri yönetmek zor olabilir. Python'da değişken adı verilen bir şeye sahibiz.

174
00:15:32,560 --> 00:15:38,320
Temel olarak bu, belirli veri değerlerini saklayabileceğimiz bir kaptır. Ve bir kullandığımızda

175
00:15:38,320 --> 00:15:44,080
değişken, bu veri değerlerini konteynerlerin içine koyduğumuzda, bizim için çok daha kolay oluyor

176
00:15:44,080 --> 00:15:50,560
Programlarımızdaki tüm farklı verilerle çalışın ve bunları yönetin. Yani değişkenler son derece

177
00:15:50,560 --> 00:15:55,360
yardımsever. Ve bu Python'da gerçekten bilmek isteyeceğiniz temel bir konu gibi

178
00:15:55,360 --> 00:16:00,160
ustada. Bu derste size başlamanız için bilmeniz gereken her şeyi öğreteceğim.

179
00:16:00,160 --> 00:16:04,320
değişkenlerle ilgili olarak bunların ne olduğuna, neden faydalı olduğuna bakacağız ve

180
00:16:04,320 --> 00:16:09,840
farklı değişken türleri ve değişkenlerin içinde saklayabileceğimiz farklı veri türleri.

181
00:16:09,840 --> 00:16:15,040
Ama burada Python dosyamda çok basit bir programım var. Ve temelde sadece

182
00:16:15,040 --> 00:16:20,000
ekrana bir miktar metin yazdırmak. Ve bu aslında yazdığım küçük bir hikaye. o

183
00:16:20,000 --> 00:16:26,720
Bir zamanlar George adında bir adamın 70 yaşında olduğunu söylüyor. George ismi gerçekten hoşuna gitti.

184
00:16:26,720 --> 00:16:33,360
ama 70 yaşında olmayı sevmiyordum. Yani bu geçerli bir Python programı. Devam edip bu programı çalıştırabilirim.

185
00:16:33,360 --> 00:16:38,240
Ve burada, konsolda göreceksiniz, her şey yazdırılıyor ve harika görünüyor. Bu yüzden

186
00:16:38,240 --> 00:16:43,600
Burada harika bir küçük Python programımız var. Ama diyelim ki hikayemizin içinde şunu istedim

187
00:16:43,600 --> 00:16:48,560
karakterin adını değiştirmek için. Yani karaktere George adını vermek yerine diyelim ki istedim

188
00:16:48,560 --> 00:16:54,000
John karakterine isim vermek için. Peki, geçmem gerekecek ve manuel olarak geçmem gerekecek

189
00:16:54,000 --> 00:16:59,520
Bu hikayenin geçtiği her yerde George adını John adıyla değiştirin.

190
00:16:59,520 --> 00:17:03,680
Yani buraya gitmem gerekecek ve diyeceğim ki, tamam John, manuel olarak yapmam gerekecek

191
00:17:03,680 --> 00:17:08,880
bunu değiştir. Ve sonra, tamam, burada tekrar manuel olarak John yazmamız gerekecek ve

192
00:17:08,880 --> 00:17:13,760
John olarak değiştir. Yani karakterin adını değiştirmek için manuel olarak girmem gerekti ve

193
00:17:13,760 --> 00:17:20,240
her iki yerde de değiştirin. Şimdi diyelim ki tamam, belki karakterin adının yaşını değiştirmek istiyoruz

194
00:17:20,240 --> 00:17:24,320
ayrıca. Yani ismi değiştirmenin yanı sıra yaşını da değiştirmek istiyoruz, hadi yapalım

195
00:17:24,320 --> 00:17:30,320
onlar biraz daha genç. O halde neden John'un 35 yaşında olacağını söylemiyoruz. Burada göreceksiniz,

196
00:17:30,320 --> 00:17:36,160
Buraya gelip yaşı manuel olarak değiştirmem gerekiyordu, sonra buraya gelip manuel olarak değiştirmem gerekiyordu

197
00:17:36,160 --> 00:17:40,800
tekrar. Sağ. Ve şimdi onu değiştirdiğimize göre, işe yarayacak gibi, şu tarihte güncellenecek:

198
00:17:40,800 --> 00:17:45,920
bizim programımız. Ama fark edeceksiniz ki, bu değişikliği yapabilmek için, sanki

199
00:17:45,920 --> 00:17:52,480
Programın tamamında, bu değerin nerede olduğunu bulun ve değiştirin. Ve bu sadece dört satırla yapıldı

200
00:17:52,480 --> 00:17:58,000
hikaye. Binlerce satır uzunluğunda bir hikayem olduğunu hayal edin. Ve bahsettiğimiz

201
00:17:58,000 --> 00:18:02,880
karakterin adı ve yaşı yüzlerce kez beğenildi. Demek istediğim, bunların her birine bakmam gerekecek

202
00:18:02,880 --> 00:18:09,360
satırları seçin ve karakterin adını manuel olarak değiştirin. Ve bu bizim için bunu yapmanın pek iyi bir yolu değil.

203
00:18:09,360 --> 00:18:14,480
Ve bu bizim için programımızdaki verileri yönetmenin gerçekten iyi bir yolu değil, değil mi?

204
00:18:14,480 --> 00:18:20,800
isim ve yaş. Ve böylece karakterin adını saklamak için aslında bir değişken kullanabiliriz

205
00:18:20,800 --> 00:18:25,920
ve karakterin yaşı. Ve bu değişkeni kullandığımızda, bizim için çok daha kolay olacak.

206
00:18:25,920 --> 00:18:30,800
karakterin adını ve yaşını buradaki küçük programımızın içine koyun. Bu yüzden size göstereceğim arkadaşlar

207
00:18:30,800 --> 00:18:35,120
karakterin adı ve yaşı için nasıl bir değişken oluşturabiliriz. Ve ben buraya çıkacağım

208
00:18:35,120 --> 00:18:42,160
bu baskı ifadesinin üstünde. Ve burada bir değişken oluşturmak istiyorum. Yani bir değişken oluşturduğumuzda

209
00:18:42,160 --> 00:18:48,240
Python'da aslında Python'a birkaç bilgi vermemiz gerekiyor. İlk parçası

210
00:18:48,240 --> 00:18:54,000
Python'a vermemiz gereken bilgi değişkenin adıdır. Bu yüzden aslında bir isim atamam gerekiyor

211
00:18:54,000 --> 00:18:59,120
bilgiyi depolayacağımız bu konteynere. Ve böylece tek yapmam gereken sadece yazmak

212
00:18:59,120 --> 00:19:03,760
oluşturmak istediğim değişkenin adını çıkardım. Yani adında bir değişken yaratacağım

213
00:19:03,760 --> 00:19:10,960
karakter adı. O yüzden sadece karakter diyeceğim. Ve alt çizgi adını söyleyeceğim. Ve böylece

214
00:19:10,960 --> 00:19:16,320
Genellikle Python'da bir değişken için bir ad oluşturduğunuzda, farklı değişkenleri ayırmak istersiniz.

215
00:19:16,320 --> 00:19:22,160
alt çizgi içeren kelimeler. Burada iki kelimem var ve onları alt çizgiyle ayırıyorum.

216
00:19:22,160 --> 00:19:27,680
Şimdi yapmam gereken bu değişkenin içine bir değer koymam gerekiyor. Yani temelde,

217
00:19:27,680 --> 00:19:33,120
yapabileceğim sadece eşittir diyebilirim ve buraya bir değer yazabilirim. O yüzden sadece yazacağım

218
00:19:33,120 --> 00:19:37,440
karakterin adını tırnak işaretleri içinde çıkarın. Yani sadece John yazacağız.

219
00:19:38,080 --> 00:19:44,160
Artık karakterin adı için bir değişkenimiz var. Ve bu karakter adı değişkeninin altında,

220
00:19:44,160 --> 00:19:50,560
Karakter yaşı adı verilen başka bir değişken oluşturmak istiyorum. Yani sadece karakteri yazacağız

221
00:19:50,560 --> 00:19:56,720
yaşın altını çizin. Ve bunu karakterin yaşına, yani 35'e eşitleyeceğim.

222
00:19:58,000 --> 00:20:02,480
Artık iki değişkenimiz var; biri karakterin adını, diğeri ise karakteri temsil ediyor.

223
00:20:02,480 --> 00:20:08,560
karakterin yaşı. Şimdi yapabileceğim şey hikayenin içindeki karakterin adını değiştirebilirim

224
00:20:08,560 --> 00:20:13,680
bu değişkenle. Ve size bunun nasıl yapılacağını göstereceğim. Yani eğer bir değişken koymak istiyorsak

225
00:20:13,680 --> 00:20:18,080
Bu print ifadesinin içinde aslında birkaç şey yapmam gerekecek. İlk şey

226
00:20:18,080 --> 00:20:25,200
Yapmam gereken bu metni burada bitirmek. Bu yüzden tırnak işareti koymak zorunda kalacağım

227
00:20:25,200 --> 00:20:31,200
sonunda burada. Ve gördüğünüz gibi, temelde tüm bu şeyi alıntılanan tek bir beğeniye sarıyorum

228
00:20:31,200 --> 00:20:36,000
çizgi. Ve şimdi bu metnin sonunda da bu metnim var. Bu yüzden bir alıntı yapmak zorunda kalacağım

229
00:20:36,000 --> 00:20:42,400
burayı işaretleyin. Şimdi burada tırnak içinde bir sürü metin var. Ve sonra benim de metnim var

230
00:20:42,400 --> 00:20:48,320
burada tırnak içinde. Şimdi burada karakterin adını söylemek yerine, değinmek istiyorum

231
00:20:48,320 --> 00:20:57,040
bu karakter adı değişkenine. Bu yüzden sadece artı karakter alt çizgi adını söyleyeceğim.

232
00:20:57,760 --> 00:21:02,880
Ve bir artı işareti daha söylemek istiyorum. Yani temelde bu metnin tamamını yazdırmak istediğimi söylüyorum.

233
00:21:03,600 --> 00:21:10,880
artı karakter adının içinde saklanan değer ve bu metnin tümü. Ve bu ne olacak

234
00:21:10,880 --> 00:21:15,200
do aslında karakterin adını yazdırmaktır. Bunu yazdırıyoruz. Bu yüzden devam edip koşacağım

235
00:21:15,200 --> 00:21:21,120
bu program. Ve burada aşağıda göreceksiniz ve aslında buraya bir boşluk koymama izin verin. Ve biz onu çalıştıracağız

236
00:21:21,120 --> 00:21:26,640
Tekrar. Burada gördüğünüz gibi, hâlâ çıktısını alıyoruz, bir zamanlar John adında bir adam vardı.

237
00:21:27,280 --> 00:21:32,880
Python'un yaptığı şey bu kod satırını çalıştırdığında buraya geliyor ve

238
00:21:32,880 --> 00:21:38,640
tamam, karakter adının içindeki değeri yazdırmak istiyorlar. Yani Python gidiyor

239
00:21:38,640 --> 00:21:44,160
buraya gitmek, değeri alacak. Ve onu oraya yerleştirecek. Yani yapabilirim

240
00:21:44,160 --> 00:21:49,200
temel olarak bunu dosyamdaki karakter adının her örneği için yapın. Böylece yapabilirim, bilirsin,

241
00:21:49,200 --> 00:21:55,760
Bu adamı buraya kopyalayacağım. Ve bunu karakterin adının olduğu yere yapıştırabilirim.

242
00:21:55,760 --> 00:22:01,120
O yüzden bunu yapıştıracağım. Ve şimdi orada yaptığımızın aynısını yaptığımızı görüyorsunuz.

243
00:22:01,120 --> 00:22:06,720
Bunu karakterin yaşına göre de yapabilirim. O yüzden buraya geleceğim ve içine yapıştıracağım

244
00:22:06,720 --> 00:22:12,240
sadece yapıştırıyoruz. Ve karakter adı yerine bunu değiştireceğim, onu karakter olarak değiştireceğiz

245
00:22:12,240 --> 00:22:18,000
yaş. Ve bunu bir noktada daha yapacağım. Yani bunu burada, bulunduğumuz yerde yapacağız.

246
00:22:18,000 --> 00:22:24,960
yaştan bahsediyoruz. Ve yine bunu karakter yaşına göre değiştireceğim. Ve şimdi bunu çalıştırdığımda

247
00:22:24,960 --> 00:22:30,800
program, daha önce bastığımız hikayenin aynısını basacak. Ama şimdi yapmıyorum

248
00:22:30,800 --> 00:22:36,320
aslında karakterin adını ve karakterin yaşını yazmanız gerekir. Sadece buna başvurabilirim

249
00:22:36,320 --> 00:22:41,120
değişken. Ve değişkenlerle ilgili en güzel şey, eğer karakterin adını değiştirmek istersem,

250
00:22:41,920 --> 00:22:46,640
şimdi tek yapmam gereken burayı değiştirmek. Böylece karakterin adını Tom'u beğenecek şekilde değiştirebilirim

251
00:22:46,640 --> 00:22:51,920
ya da başka bir şey. Ayrıca yaşlarını da değiştirebiliriz. Yani yaşını 50 gibi değiştirebilirim.

252
00:22:51,920 --> 00:22:56,720
Ve şimdi bu, tüm hikayemiz boyunca otomatik olarak güncellenecek. Yani buna tıkladığımda

253
00:22:56,720 --> 00:23:03,760
oynat düğmesine bastığınızda, artık Tom adını kullandığımızı göreceksiniz. Ve kendisi 50 yaşında. İşte değişkenler burada

254
00:23:03,760 --> 00:23:10,080
kullanışlı olabilir. Ve bu, içerideki verileri kontrol etmenin ve yönetmenin gerçekten harika bir yolu olabilir.

255
00:23:10,080 --> 00:23:16,560
programlarımızdan. Değişkenlerin değerlerini de değiştirebilirsiniz. Mesela şunu söyleyelim

256
00:23:16,560 --> 00:23:20,960
Hikayenin yarısında karakterin adını değiştirmek istedim. Peki, yeni şeyler yapabilirim

257
00:23:20,960 --> 00:23:27,360
buradaki çizgiler. Ve burada aslında bu değişkenlerden birine yeni bir değer atayabilirim.

258
00:23:27,360 --> 00:23:33,520
Yani karakter alt çizgi adı gibi diyebilirim. Ve ona farklı bir değer kazandırmak için,

259
00:23:33,520 --> 00:23:38,320
tek yapmam gereken eşittir demek ve ona farklı bir değer vereceğiz. Yani yarı yolda diyelim

260
00:23:38,320 --> 00:23:43,680
Hikaye boyunca karakterin adını Mike olarak değiştirmek istiyoruz. Şimdi programımı çalıştırdığımda,

261
00:23:44,480 --> 00:23:49,600
Burada hikayenin ilk bölümünde göreceksiniz, bir zamanlar Tom adında bir adamın olduğu söyleniyor. Ve içinde

262
00:23:49,600 --> 00:23:55,840
Hikayenin ikinci bölümünde ismin Mike olduğu belirtiliyor. Yani aslında güncelledim

263
00:23:55,840 --> 00:24:01,680
Buradaki programımın içindeki değişken. Ve bu gerçekten harika bir yol. Bilirsin, çoğu zaman

264
00:24:01,680 --> 00:24:06,240
bu programlarda değişkenlerin değerlerini değiştirmek isteyeceksiniz. Yani yapabilirsin

265
00:24:06,240 --> 00:24:11,840
aynen böyle. Son olarak sizinle, kullandığımız farklı veri türleri hakkında konuşmak istiyorum.

266
00:24:11,840 --> 00:24:18,240
bu değişkenlerin içinde saklanabilir. Burada karakterin adını ve karakterin yaşını görüyorum.

267
00:24:18,240 --> 00:24:25,440
Ve aslında dize denilen şeyleri saklıyorum. Yani bir dize temelde yalnızca düz metindir,

268
00:24:25,440 --> 00:24:31,920
değil mi? Yani Tom ismi sadece düz bir metin. Burada bu adamlar da iplerden oluşuyor. Yani

269
00:24:31,920 --> 00:24:39,440
Python'da string adı verilen bir veri türü var ve bu sadece temel olarak düz metni saklayacak. Yani,

270
00:24:39,440 --> 00:24:44,080
bir hikayede bulunmasını istediğiniz herhangi bir metni veya birisinin adını saklayabilirsiniz

271
00:24:44,080 --> 00:24:49,840
bir dizenin içinde. Python'un içinde saklayabileceğimiz başka bir veri türü daha var.

272
00:24:49,840 --> 00:24:55,840
yani sayılar. Yani metin saklamanın yanı sıra sayıları da saklayabiliriz. Yani eğer depolamak istersem

273
00:24:55,840 --> 00:25:00,880
örneğin bir sayı, diyelim ki bir dizenin içinde değil de karakterin yaşını saklamak istiyoruz,

274
00:25:00,880 --> 00:25:07,840
bunu bir sayının içinde saklayabiliriz. Yani sadece 50 yazabilirim. Ve bir sayıyı sakladığımızda,

275
00:25:07,840 --> 00:25:12,880
bu tırnak işaretlerine ihtiyacımız yok, yalnızca bir dosyayı saklarken o tırnak işaretine ihtiyacınız var

276
00:25:12,880 --> 00:25:17,360
sicim. Yani eğer bir sayıyı saklamak istersem, bunu bu şekilde yazabilirim. Ve buna ek olarak

277
00:25:17,360 --> 00:25:24,640
Tam sayıları kullanırken ondalık sayıları da kullanabilirim. Yani 50.5678213 gibi diyebilirim. Ve

278
00:25:24,640 --> 00:25:29,280
Python da bu sayıyı saklayabilecek. Böylece tüm farklı türde ürünleri saklayabilirsiniz.

279
00:25:29,280 --> 00:25:36,560
sayılar. Ayrıca Boolean değeri denilen şeyi de saklayabiliriz. Ve bir Boolean değeri aslında

280
00:25:36,560 --> 00:25:42,240
doğru veya yanlış bir değer. Ve programlamada yapacağımız birçok örnek var

281
00:25:42,240 --> 00:25:49,360
doğru veya yanlış verileri temsil etmek istiyorum. Örneğin, like is mail adında bir değişkenim olabilir. Ve

282
00:25:49,360 --> 00:25:54,320
bu bana birisinin erkek olup olmadığını söylerdi. Benim durumumda bu doğru olurdu çünkü

283
00:25:54,320 --> 00:26:01,120
Ben bir erkeğim, değil mi? Yani aslında bunun sermaye olması gerektiğini söyleyebilirim. Yani her ikisinin de değerini belirleyebilirim

284
00:26:01,120 --> 00:26:08,400
doğru ya da yanlış. Ve aslında bunu Python'da isimlendireceksek alt çizgi kullanmak isteriz. yani ben

285
00:26:08,400 --> 00:26:14,640
alt çizgi postası olduğunu söyleyebilirim. Ve bu doğru ya da yanlış olabilir. Yani doğru veya yanlış değerler

286
00:26:14,640 --> 00:26:19,680
belki de gerçek dünyadaki gibi uğraşmaya alışık olduğunuz bir şey değildir. Ama programlamada,

287
00:26:19,680 --> 00:26:25,520
her zaman doğru veya yanlış değerleri kullanacağız. Bunlar çok önemli. Yani benim gibi

288
00:26:25,520 --> 00:26:30,320
Python'da çalışabileceğimiz üç temel veri türü olduğunu söyledi. Dizeler var,

289
00:26:30,320 --> 00:26:35,440
bu tıpkı düz metin sayıları gibidir; ondalık sayılara veya tam sayılara benzer

290
00:26:35,440 --> 00:26:41,360
bunun gibi sayılar. Ve doğru veya yanlış değerler var. Ve bunlar temel veri türleridir. Demek istediğim,

291
00:26:41,360 --> 00:26:46,880
kullanabileceğimiz bir sürü başka veri türü var. Ama zamanın %99'unun yeni olduğunu söyleyebilirim.

292
00:26:46,880 --> 00:26:52,640
Kullanıcı ve Python'a yeni başlayan bir programcıysanız, yalnızca bu üç tür veriyle ilgileneceksiniz.

293
00:26:52,640 --> 00:26:57,920
Yani bunlar verilerin temelleri ve aynı zamanda değişkenler. Ve sen kullanacaksın

294
00:26:57,920 --> 00:27:06,560
Python'da her zaman değişkenler vardır. Bu yüzden kesinlikle pratik yapmak ve bunları kullanırken rahat olmak istiyorsunuz.

295
00:27:06,560 --> 00:27:12,080
Bu derste sizinle Python'da dizelerle çalışma hakkında konuşmak istiyorum. Şimdi biri

296
00:27:12,080 --> 00:27:17,280
Python'da üzerinde çalışacağımız en yaygın veri türleri dizeler olacaktır.

297
00:27:17,280 --> 00:27:23,520
Ve dizeler temelde yalnızca düz metindir. Yani programımızın içinde olmasını istediğimiz herhangi bir metin,

298
00:27:23,520 --> 00:27:28,400
bir dizenin içinde saklayabiliriz. Bu yüzden sizinle yapabileceğimiz tüm harika şeyler hakkında konuşmak istiyorum.

299
00:27:28,400 --> 00:27:32,880
dizeleri ile. Ve temel olarak dizelerin neden var olduğuna dair tam bir giriş yapacağız.

300
00:27:32,880 --> 00:27:38,800
harika. Yani burada, aslında bir dize yazdıracağım. O yüzden sadece yazdır diyeceğim

301
00:27:39,440 --> 00:27:45,040
ve bu parantezlerin içine bir dize yazabilirim. Bir dize oluşturmak için ihtiyacım var

302
00:27:45,040 --> 00:27:50,880
tırnak işaretleri kullanın. Böylece açık ve kapalı tırnak işaretlerini bu şekilde yapabilirim. Şimdi içeride

303
00:27:50,880 --> 00:27:55,360
tırnak işaretinin üzerine, dizenin sahip olmasını istediğim metni koyabilirim. Yani şunu söyleyebiliriz:

304
00:27:56,000 --> 00:28:03,200
Akademi taslağı. Ve artık içinde Akademi taslağı metni bulunan bir dizimiz var. Yani eğer koşarsam

305
00:28:03,200 --> 00:28:08,640
Programım, şimdi aşağıda gördüğünüz gibi Akademi taslağının çıktısını alacağız. Ve elimizde olduğunda

306
00:28:08,640 --> 00:28:12,960
Bu dizelerle aslında yapabileceğimiz bir sürü harika şey var. Yani bir şey ben

307
00:28:12,960 --> 00:28:18,640
yapabileceğimiz şey dizenin içinde yeni bir satır oluşturmak olacaktır. Eğer istersem buraya gelebilirim.

308
00:28:18,640 --> 00:28:24,400
ve ters eğik çizgi diyebilirim. Ve farklı bir renkle vurgulandığını görebilirsiniz. Ve bu ne

309
00:28:24,400 --> 00:28:28,960
yapacağı şey aslında dizeye yeni bir satır eklemek olacak. Yani şimdi şunu söyleyecek

310
00:28:28,960 --> 00:28:35,200
bir satırda draft, başka bir satırda Akademi. Bu yüzden oynat'a tıklayacağım. Ve aşağıyı göreceksin

311
00:28:35,200 --> 00:28:42,080
burada sadece Akademi taslağını alıyoruz. Ters eğik çizgi n'ye ek olarak ters eğik çizgi de kullanabilirim

312
00:28:42,080 --> 00:28:48,000
tırnak işareti. Yani dizemin içine tırnak işareti koymak istersem, bunu öylece yapamam.

313
00:28:48,000 --> 00:28:53,760
tırnak işareti böyle çünkü Python bu dizeyi bitirmeye çalıştığımı düşünecek. Yani eğer

314
00:28:53,760 --> 00:28:58,240
Tırnak işareti eklemek istiyorum, bu özel ters eğik çizgi karakterini kullanabilirim. Ve bu

315
00:28:58,240 --> 00:29:03,760
kaçış karakteri denir. Ve temel olarak Python'a hangi karakter gelirse gelsin onu söyler

316
00:29:03,760 --> 00:29:10,160
ondan sonra kelimenin tam anlamıyla render almak istiyoruz. Yani ters eğik çizgi tırnak işareti dediğimde, bu temelde şu anlama gelir:

317
00:29:10,160 --> 00:29:15,120
Hey Python, tırnak işareti yazdırmak istiyorum gibi. Ve böylece artık bir çıktı alabileceğiz

318
00:29:15,120 --> 00:29:19,760
tırnak işareti tam orada. Bunu ters eğik çizgiyi yazdırmak için de kullanabilirim. Yani yazdırmam gerekirse

319
00:29:19,760 --> 00:29:26,240
ters eğik çizgi, ters eğik çizgi diyebilirim. Ve artık normal bir ters eğik çizgi yazdıracak. Yani yapabilirsin

320
00:29:26,240 --> 00:29:30,800
aynen böyle görün. Yani isterseniz bu ters eğik çizgiyi yeni satırlar oluşturmak veya çıktı almak için kullanabilirsiniz.

321
00:29:30,800 --> 00:29:37,280
tırnak işaretleri veya bunu normal ters eğik çizgi olarak kullanabilirsiniz. Yalnızca bir dize yazmanın yanı sıra

322
00:29:37,280 --> 00:29:42,880
burada ayrıca bir dize değişkeni de oluşturabilirim. Yani buraya gelebilirim ve yaratabiliriz

323
00:29:42,880 --> 00:29:49,840
bir değişken ve biz buna cümle diyeceğiz. Ve bunu draft akademisine eşitleyeceğim. Yani yapabilirim

324
00:29:49,840 --> 00:29:55,840
bu dize değerini, ifade adı verilen bir değişkenin içinde saklayın. Ve sonra bunu yazdırmak istediğimde

325
00:29:55,840 --> 00:30:02,480
değişken veya o dize değişkenine erişmek istiyorum, yalnızca değişkenin adını yazabilirim. Ve

326
00:30:02,480 --> 00:30:07,440
içinde saklanan değeri yazdıracağını göreceksiniz. ben de kullanabilirim

327
00:30:07,440 --> 00:30:13,520
birleştirme denen bir şey. Ve birleştirme temel olarak bir dize alma işlemidir ve

328
00:30:13,520 --> 00:30:18,880
üzerine başka bir dize ekleyerek. Yani buraya gelebilirim ve ifade söyleyebilirim ve söyleyebilirim

329
00:30:18,880 --> 00:30:25,680
artı. Ve şimdi başka bir dize ekleyebilirim. Yani harika olduğunu söyleyebilirim. Ve şimdi şunu söyleyeceğim

330
00:30:25,680 --> 00:30:32,400
draft akademisi çok güzel. Yani aslında başka bir dizenin üzerine başka bir dize ekliyorum, buna diyorlar

331
00:30:32,400 --> 00:30:38,960
birleştirme. Ve tüm bunları yapmanın yanı sıra, adı verilen özel şeyleri de kullanabiliriz.

332
00:30:38,960 --> 00:30:44,480
işlevler. Ve bir fonksiyon temelde çalıştırabileceğimiz küçük bir kod bloğudur. Ve olacak

333
00:30:44,480 --> 00:30:51,120
bizim için özel bir operasyon gerçekleştirin. Böylece dizelerimizi değiştirmek için işlevleri kullanabiliriz. Ve yapabiliriz

334
00:30:51,120 --> 00:30:57,040
dizelerimiz hakkında bilgi almak için de işlevleri kullanın. Şimdi size birkaç tane göstereceğim

335
00:30:57,040 --> 00:31:02,320
Bu dizelerle kullanabileceğimiz ortak işlevler. Ve aslında harika şeyler yapacaklar. Bu yüzden

336
00:31:02,320 --> 00:31:07,440
Bu işlevlerden birine erişmek için önce sadece cümle, ardından nokta diyebilirim. Ve ben

337
00:31:07,440 --> 00:31:12,640
Size bu dizeyi tamamen küçük harfe dönüştürmek için kullanabileceğimiz bir fonksiyon göstereceğim.

338
00:31:12,640 --> 00:31:17,920
Yani sadece nokta daha düşük cümleciği söyleyebilirim. Ve ben bir açık ve kapalı parantez yazmak isteyeceğim.

339
00:31:17,920 --> 00:31:22,880
Ve bu, bu cümleyi alacak, benim dizemi alacak ve onu küçük harfe çevirecek. Yani sen

340
00:31:22,880 --> 00:31:27,840
şimdi burada sadece taslak akademimiz olduğunu görebiliyoruz, ama tamamen küçük harflerle yazılmış. ben de yapabilirim

341
00:31:27,840 --> 00:31:34,080
aynı şey büyük harf için de geçerlidir. Yani nokta üst cümlesi diyebilirim. Ve bu, dizenin tamamını dönüştürecek

342
00:31:34,080 --> 00:31:39,760
büyük harfe çevirir. Artık tamamen büyük harf olduğunu görebilirsiniz. Yani dizeyi dönüştürmenin yanı sıra

343
00:31:39,760 --> 00:31:45,040
Büyük ve küçük harfe göre, bir dizenin tamamen büyük harf mi yoksa büyük harf mi olduğunu da kontrol edebilirim.

344
00:31:45,040 --> 00:31:51,280
tamamen küçük harf. Yani örneğin nokta cümlesinin üstte olduğunu söyleyebilirim. Ve bu bana şunu sağlayacak

345
00:31:51,280 --> 00:31:56,960
doğru veya yanlış bir değere geri döner. Yani bu doğru olacak. Dize tamamen büyük harf ise,

346
00:31:56,960 --> 00:32:02,400
veya yanlış değilse. Ve burada gördüğünüz gibi, yanlış bir değer elde ediyoruz çünkü bu bir

347
00:32:02,400 --> 00:32:08,800
büyük harf. Bu fonksiyonları birbirleriyle kombinasyon halinde de kullanabilirim. Örneğin,

348
00:32:08,800 --> 00:32:17,680
Nokta üst cümlesini ve ardından parantezleri söyleyebilirim. Bundan sonra noktanın üstte olduğunu söyleyebilirim.

349
00:32:17,680 --> 00:32:22,400
Ve şimdi yapacağı şey şu üst fonksiyonu çalıştıracak, onu dönüştürecek

350
00:32:22,400 --> 00:32:27,760
büyük harfe çevirir. Ve hemen ardından bu üst fonksiyon çalıştırılacak. Ve göreceksin

351
00:32:27,760 --> 00:32:33,120
şimdi gerçek değeri geri alacağız çünkü bu her şeyi büyük harfe dönüştürmüş olacak.

352
00:32:33,120 --> 00:32:38,480
Artık gerçek bir değer elde ettiğimizi görebilirsiniz. Böylece bu işlevleri birbiri ardına kullanabilirsiniz,

353
00:32:38,480 --> 00:32:43,360
gerçekten faydalı olabilir. Ve sana göstermek istediğim birkaç tane daha var. Yani biz de yapabiliriz

354
00:32:43,360 --> 00:32:49,200
Bu dizenin uzunluğunu bulun. Yani eğer kaç karakter olduğunu bulmak istersem

355
00:32:49,200 --> 00:32:54,960
bu dizenin içinde sadece LEN diyebilirim. Ve aslında açık bir parantez yapacağım.

356
00:32:54,960 --> 00:33:00,080
Ve kapalı bir parantez yapacağım. Yani aslında LEN diyorum. Ve bu başka

357
00:33:00,080 --> 00:33:05,680
fonksiyon, uzunluk fonksiyonudur. Ve bu LEN fonksiyonunun içinde aslında bunu geçiyorum

358
00:33:06,320 --> 00:33:11,120
Cümle değişkeni, temel olarak uzunluk fonksiyonuna bunu veriyorum ve o bir sayı üretecek.

359
00:33:11,120 --> 00:33:16,960
Bu bana bu dizgenin içinde kaç karakter olduğunu söyleyecek. Ve burada gördüğünüz gibi 15 elde ediyoruz

360
00:33:16,960 --> 00:33:22,240
çünkü draft akademisinde 15 karakter var. uzunluğunu bu şekilde elde edebiliriz

361
00:33:22,240 --> 00:33:26,960
bir dize. Ve ilerledikçe bu gerçekten faydalı olacak ve Python'u da alabiliriz.

362
00:33:26,960 --> 00:33:32,560
bir dizenin içindeki bireysel karakterler. Bunlardan birini kapmak istediğimi hayal edin

363
00:33:32,560 --> 00:33:37,520
karakterler, örneğin bu dizedeki ilk karakterin ne olduğunu bulmak istediğimi hayal edin,

364
00:33:37,520 --> 00:33:43,360
aslında açık ve kapalı köşeli parantezleri bu şekilde kullanabiliriz. Ve burada yapabilirim

365
00:33:43,360 --> 00:33:49,040
Yakalamak istediğim karakterin dizinini belirtin. Eğer ilk karakteri yakalamak istersem

366
00:33:49,040 --> 00:33:55,360
bu dizeye sıfır koyabilirim. Yani eğer köşeli parantez sıfır dersem, bu şunu verecektir:

367
00:33:55,360 --> 00:34:01,040
bana büyük G. Ve burada gördüğünüz gibi, yazdırılan şey bu. Şimdi şunu belirtmek istiyorum

368
00:34:01,040 --> 00:34:08,560
Python'da bir şey var, dizelerle çalışırken, bir dize sıfırdan başlayarak dizine eklenir.

369
00:34:08,560 --> 00:34:14,320
Bu G'ye erişebilmek için buraya sıfır koymam gerektiğini fark edeceksiniz. Ve bunun nedeni

370
00:34:14,320 --> 00:34:20,880
Python'da bir dize üzerinde indeksler kullandığımızda sıfırla başlarız. Yani eğer Python sayıyorsa

371
00:34:20,880 --> 00:34:25,120
karakterler veya bir dizedeki karakterleri indeksliyor, sıfırla başlayacak. Yani bu

372
00:34:25,120 --> 00:34:33,040
G'nin sıfır, i'nin bir, r'nin iki, a'nın üç olduğunu söyleyeceğim. Yani G'nin sıfır konumunda olduğunu söyleyebiliriz.

373
00:34:33,040 --> 00:34:39,680
dizede i birinci konumda, r ikinci konumda, a üçüncü konumda vb.

374
00:34:39,680 --> 00:34:48,000
sıfırdan sayılıyor. Yani eğer dizedeki ilk karakter olan bu G'ye erişmek istersem şunu söylemem gerekir:

375
00:34:48,000 --> 00:34:53,840
sıfır cümlesi ve bu Python'da ve aslında çoğu programlama dilinde özel bir şeydir

376
00:34:53,840 --> 00:34:59,360
bunu yap. Yani sıfırla başlayacaklar. Örneğin, eğer bu a'ya erişmek istersem, sahip olacağım

377
00:34:59,360 --> 00:35:09,200
sıfır koymak için 123. Yani buraya üç koyarsam, şimdi ilk önce buna erişebileceğiz. a,

378
00:35:09,200 --> 00:35:14,720
gördüğünüz gibi burada bir hak elde ediyoruz. Yani bu aslında bir şey kapmak için gerçekten yararlı

379
00:35:14,720 --> 00:35:19,120
bir dizenin içindeki belirli bir karakter ve ilerledikçe bunu çok kullanacaksınız.

380
00:35:19,120 --> 00:35:24,240
Python'da kullanabileceğimiz gerçekten harika başka bir fonksiyon daha var ve buna indeks deniyor

381
00:35:24,240 --> 00:35:31,280
işlev. Ve temel olarak indeks fonksiyonunun yapacağı şey bize belirli bir karakterin nerede olduğunu söyleyecektir.

382
00:35:31,280 --> 00:35:38,800
veya string dizimizin içinde yer alır. Yani cümle nokta indeksi diyebilirim. Ve aslında yapabilirim

383
00:35:38,800 --> 00:35:44,080
buna bir değer verin. Bazen Python'da bu işlevleri kullandığımızda onlara aslında şunu verebiliriz:

384
00:35:44,080 --> 00:35:50,560
bilgi. Yani buna bir değer verebilirim. Ve buna parametre aktarma adını vereceğiz. Ben de yapardım

385
00:35:50,560 --> 00:35:56,480
Bir fonksiyona vereceğim değere parametre adını verin, bu kelimeyi çok duyacaksınız. Yani için

386
00:35:56,480 --> 00:36:03,440
örneğin, buraya büyük G diyebilirim. Ve şimdi bu, dizinin indeksini döndürecek.

387
00:36:03,440 --> 00:36:10,080
dizemizin içindeki büyük G. Bu yüzden bize sıfır vermeli çünkü G indeksin sıfırındadır.

388
00:36:10,080 --> 00:36:16,160
Ve burada sıfır elde ettiğimizi göreceksiniz çünkü G orası. Örneğin, eğer bir a koyarsam

389
00:36:16,160 --> 00:36:23,760
Buranın içinde, küçük a harfi gibi, bana 0123 vermeli, çünkü burası ilk a'nın içeride olduğu yer

390
00:36:23,760 --> 00:36:29,680
bu dizenin. Böylece oynat tuşuna basabiliyorum. Ve bize üç verdiğini göreceksiniz.

391
00:36:29,680 --> 00:36:35,440
buraya gerçek kelimeleri koy. Mesela buraya Akademi gibi bir şey koyabilirim, hatta sadece şunu bile koyabilirim

392
00:36:35,440 --> 00:36:42,240
tıpkı bir CAD gibi. Ve bu bana bunun benim dizimin içinde nerede başladığını söyleyecek. Yani tıkladığımda

393
00:36:42,240 --> 00:36:50,160
oyna, bana sekiz verecek çünkü Akademi tam burada başlıyor 012345678.

394
00:36:50,960 --> 00:36:55,920
Buraya dizede olmayan bir şey koyarsam, örneğin buraya bir Z koyarsam,

395
00:36:55,920 --> 00:37:00,080
bu burada değil, aslında bir hata verecek. Yani bunu oynadığımda, göreceksiniz ki biz

396
00:37:00,080 --> 00:37:05,680
Bu hatayı buraya alın çünkü Z programımızın içinde bulunmuyor. Yani bu indeks fonksiyonu,

397
00:37:05,680 --> 00:37:10,000
yine gerçekten faydalı olabilir. Ve bunu çok kullanacağız. Ayrıca yapmak istediğim bir tane daha var

398
00:37:10,000 --> 00:37:16,560
size değiştirme adı verilen şeyi göstereceğim. Yani nokta değiştir ifadesini söyleyebiliriz. Ve burada, aslında yapabilirim

399
00:37:16,560 --> 00:37:22,960
bunu parametrelere ver. Böylece bu değiştirme fonksiyonunu kullanabileceği değerlere verebilirim. Ve ilk

400
00:37:22,960 --> 00:37:27,600
sana vermeni istediğim şey, değiştirmek istediğim şey. Mesela taslak diyebilirim.

401
00:37:28,240 --> 00:37:32,640
Sonra buraya bir virgül koyacağım. Ve buraya değiştirmek istediğim şeyi koymak istiyorum

402
00:37:33,120 --> 00:37:38,720
ile taslak oluşturun. Yani sadece fil gibi diyebilirim. Ve şimdi Taslak Akademi demek yerine bu

403
00:37:38,720 --> 00:37:44,000
Fil Akademisi'nin çıktısını alacağım. Burada gördüğünüz gibi, sadece Fil Akademisi yazıyor. Yani

404
00:37:44,000 --> 00:37:50,080
bu değiştirme işlevi gerçekten harika olabilir çünkü belirli kelimeleri, hatta belirli kelimeleri değiştirebiliriz

405
00:37:50,080 --> 00:37:55,520
dizelerimizin içindeki harfler diğerleriyle birlikte. Yani bunlar çalışabileceğimiz bazı temel yöntemler.

406
00:37:55,520 --> 00:38:01,200
Python'un içindeki dizelerle. Ve kullanabileceğimiz pek çok farklı fonksiyon var.

407
00:38:01,200 --> 00:38:05,760
dizeler. Bunlar şu anda size gösterdiğim en yaygın olanlardan bazıları. Ama eğer sen

408
00:38:05,760 --> 00:38:10,960
sadece bir Google araması yapın, deneyebileceğiniz ve kullanabileceğiniz her türlü Python işlevini bulabilirsiniz ve

409
00:38:10,960 --> 00:38:15,440
bak ne yapıyorlar. Ancak Python'da dizelerle çalışırken kesinlikle rahat olmak istiyorsunuz.

410
00:38:15,440 --> 00:38:23,840
çünkü onlarla çok çalışacaksın. Bu eğitimde sizinle şunlar hakkında konuşmak istiyorum:

411
00:38:23,840 --> 00:38:31,360
Python'da sayılarla çalışma. Sayılar Python'da en yaygın veri türlerinden biridir. Ve herhangi biri

412
00:38:31,360 --> 00:38:36,720
Yazdığınız Python programı büyük olasılıkla bir noktada sayılarla ilgilenecek. yani istiyorum

413
00:38:36,720 --> 00:38:40,000
Sizlerle sayıları kullanmanın temelleri hakkında konuşmak için,

414
00:38:40,000 --> 00:38:44,880
Python'da temsil edebileceğimiz farklı sayı türleri. Ayrıca size biraz göstermek istiyorum.

415
00:38:44,880 --> 00:38:50,560
sayılarla kullanabileceğimiz harika işlevler. Böylece bazı matematiksel işlemleri yapabiliriz,

416
00:38:50,560 --> 00:38:55,040
sayılarla harika şeyler yapabiliriz. Bu videoda size bunların hepsini göstereceğim.

417
00:38:55,040 --> 00:39:00,480
harika olacak. Yani yapabileceğimiz ilk şey aslında bir sayının çıktısını almaktır.

418
00:39:00,480 --> 00:39:04,480
Yani Python'da bir sayı yazmak istersem bu gerçekten kolaydır. Temelde sadece numarayı yazıyorum.

419
00:39:04,480 --> 00:39:09,920
Yani ikinciyi basmak gibi diyebilirim. Ve bu sadece iki sayısını ekrana yazdıracak.

420
00:39:10,560 --> 00:39:15,120
Yani bunun gibi bir tam sayıyı kullanabilirim. Ondalık sayıyı da kullanabilirim. yani şunu söyleyebilirim

421
00:39:15,120 --> 00:39:21,040
2.0987. Ve Python bu konuda gayet iyi olacak. Bunu altından yazdırabileceğiz.

422
00:39:21,040 --> 00:39:28,800
ekran da. Sayıları negatif de yapabilirim. Yani bu 2,0987'yi negatif bir sayı yapabilirim. Ve

423
00:39:28,800 --> 00:39:36,160
Python da bunu gayet iyi halledebilecek. Ve Python'da temel aritmetiği de kullanabiliriz. Yani

424
00:39:36,160 --> 00:39:41,280
Toplama çıkarma çarpma gibi şeyler yapabilirim. Yani üç artı diyebilirim

425
00:39:41,280 --> 00:39:47,440
dört. Ve şimdi bu, bunun çıktısını alacak. Veya neden üç artı 4,5 gibi bir şey söylemiyoruz? Ve bu

426
00:39:47,440 --> 00:39:53,280
cevabı yazdırabilecektir. Böylece 7,5 elde ederiz. Ve toplama yapabiliriz, çıkarma yapabiliriz,

427
00:39:53,280 --> 00:39:58,320
bölme de yapabiliriz, çarpma gibi de yapabiliriz. Yani hemen hemen her şeyi yapabilirsin

428
00:39:58,320 --> 00:40:04,480
Python'un içinde istiyorum. Eğer daha karmaşık matematiksel denklemler yapmak isterseniz, şunu da yapabiliriz:

429
00:40:04,480 --> 00:40:11,360
İşlemlerin sırasını belirtmek için şeyleri kullanın. Yani parantez kullanabilirim. Mesela şunu söyleseydim

430
00:40:11,360 --> 00:40:17,600
üç çarpı dört artı beş, Python'un yapacağı şey üç ve dördü çarpmak olacak

431
00:40:17,600 --> 00:40:24,480
birlikte. Yani 12 olacak. Sonra buna 5 ekleyeceğiz. Yani 17'yi almalıyız. Ama hadi

432
00:40:24,480 --> 00:40:28,960
Sırayı değiştirmek istediğimizi söyleyelim, değil mi? Aslında dördün etrafına parantez koyabilirim

433
00:40:28,960 --> 00:40:34,960
ve beş. Ve şimdi ilk önce onları ekleyecek. Yani dört ve beşi toplayacak. Yani dokuz tane alacağız,

434
00:40:34,960 --> 00:40:39,920
ve bunu üçle çarpacağız. Yani 27 ile sonuçlanmalıyız. Yani bunları kullanabileceğimizi görebilirsiniz.

435
00:40:39,920 --> 00:40:45,840
İşlem sırasını belirtmek için parantez. Böylece çok karmaşık bir şey yapabilirim, biraz

436
00:40:45,840 --> 00:40:52,320
Buradaki denklemi sadece sayıları ve parantezleri kullanarak bulabilirsiniz. Ayrıca başka bir işlemi de kullanabiliriz:

437
00:40:52,320 --> 00:40:59,040
modül operatörü denir. Yani 10 gibi diyebilirim ve bu yüzde işaretini kullanabilirim, üç. Ve bu

438
00:40:59,040 --> 00:41:04,560
aslında 10 mod üç'ü okuyun. Ve temel olarak bunun yapacağı şey, ilk adımı alacak

439
00:41:04,560 --> 00:41:10,000
sayının ikinci sayıya bölünmesiyle elde edilen sayının kalanı tükenecek. Yani temelde

440
00:41:10,000 --> 00:41:15,840
Tamam, diyeceğim ki, 10 bölü üç, bu da üç, kalan bir olacak. Ve böylece

441
00:41:15,840 --> 00:41:21,200
bu bize geri kalanını verecek. Ve aşağıda göreceksiniz, bir tane alıyoruz, çünkü bu

442
00:41:21,200 --> 00:41:26,720
10'un geri kalanı üçe bölünür. Ve bu modül operatörü oldukça kullanışlı olabilir. Yapabiliriz

443
00:41:26,720 --> 00:41:32,800
ayrıca bu sayıları değişkenlerin içinde saklayın. Böylece bunları bu değişkenin içinde saklayabiliriz

444
00:41:32,800 --> 00:41:38,800
konteynerler. Yani buraya gelebilirim ve alt çizgi numaram gibi bir değişken yaratabilirim.

445
00:41:39,680 --> 00:41:44,560
Ve burada beş gibi bir değer saklayacağız. Ve böylece buraya gelebildim,

446
00:41:44,560 --> 00:41:49,520
ve alt çizgi numaramı yazdırabilirim. Ve bu sayıyı yazıcıya yazdırabileceğiz.

447
00:41:49,520 --> 00:41:56,240
ekran gayet iyi. Yani temel aritmetik gibi şeylerin yanı sıra başka şeyler de yapabiliriz.

448
00:41:56,240 --> 00:42:01,680
şeyler. Yapabileceğim tek şey bu sayıyı bir dizgeye dönüştürebilmekti. Yani eğer istersem

449
00:42:01,680 --> 00:42:07,520
bu sayıyı bir dizgeye dönüştürmek için sadece str diyebilirim ve istediğim sayıyı koyabilirim

450
00:42:07,520 --> 00:42:12,960
bu parantezlerin içine dönüştürün. Ve şimdi ne olacak, bu sayı şu şekilde olacak:

451
00:42:12,960 --> 00:42:18,800
bir dizeye dönüştürülebilir. Yani çalıştır butonuna tıkladığımda, sadece beş tane yazdırdığını göreceksiniz.

452
00:42:18,800 --> 00:42:24,320
ama artık bu bir sayı olmak yerine aslında bir dize. Ve bu ne zaman işe yarayacak

453
00:42:24,320 --> 00:42:30,640
dizelerin yanında sayıları da yazdırmak istiyorsunuz. Böylece buraya gelebilirim ve şunu söyleyebilirim: benim

454
00:42:32,160 --> 00:42:38,240
favori numaramız ve bu numarayı bu dizeyle birlikte yazdırabileceğiz. Yani yapabilirim

455
00:42:38,240 --> 00:42:44,640
oynat'ı tıklayın. Ve en sevdiğim sayının beş olduğu yazıyor. Eğer buradaki bu ipten kurtulsaydım,

456
00:42:44,640 --> 00:42:49,840
ve sayıyı bir dizgeye dönüştürmüyordum, şimdi Python'un bununla bir sorunu olacak.

457
00:42:49,840 --> 00:42:54,240
Bunu yapmamıza izin vermeyecek. Bir hata aldığımızı görebilirsiniz. Yani ne zaman yazdırmak istersen

458
00:42:54,240 --> 00:42:59,040
Bir dizenin yanına bir sayı yazarken, o küçük dize işlevini kullandığınızdan emin olmalısınız.

459
00:42:59,760 --> 00:43:04,960
Sayılarla yapabileceğimiz bir sürü başka şey var. Ve çoğu zaman Python'da,

460
00:43:04,960 --> 00:43:10,880
daha gelişmiş matematik operatörleri gibi spesifik kullanmak isteyeceksiniz. Yani bir grup var

461
00:43:10,880 --> 00:43:16,640
Sayılarımızda kullanabileceğimiz farklı matematik fonksiyonları. Ve bir fonksiyon temelde tıpkı gibidir

462
00:43:16,640 --> 00:43:21,840
bir şeyler yapan küçük bir kod koleksiyonu. Yani bir fonksiyon şöyle bir işlem gerçekleştirebilir:

463
00:43:21,840 --> 00:43:27,680
sayımız üzerinde matematiksel bir işlem. Ayrıca numaramız hakkında da bize bilgi verebilir. Yani

464
00:43:27,680 --> 00:43:31,920
Sizlere Python'da kullanacağınız en yaygın işlevlerden bazılarını göstereceğim.

465
00:43:31,920 --> 00:43:38,560
sayılarla ilgilidir. Bunlardan ilkine ABS denir ve mutlak değer anlamına gelir. Böylece alabiliriz

466
00:43:38,560 --> 00:43:45,360
bir sayının mutlak değeri. Ve burada, bu değişkeni eksi beş yapacağım.

467
00:43:46,000 --> 00:43:51,360
Temel olarak sadece ABS diyebilirim ve burada açık ve kapalı parantez yapabilirim.

468
00:43:51,360 --> 00:43:57,120
Bu da bana buradaki sayının mutlak değerini verecek. Yani oyuna tıkladığımda

469
00:43:57,120 --> 00:44:03,440
düğmesine bastığınızda bize sadece beş verdiğini göreceksiniz, çünkü beş, negatif beşin mutlak değeridir.

470
00:44:03,440 --> 00:44:09,920
Birkaç işlevi daha kullanabilirim. Pow adında bir tane daha var. Yani sadece POW.

471
00:44:09,920 --> 00:44:14,560
Ve aslında bu değişkeni kullanmayacağım. Normal bir sayı kullanıyoruz. Ve bu fonksiyon

472
00:44:14,560 --> 00:44:19,920
iki parça bilgiyi aktarmamıza izin verecek. Yani bu fonksiyona iki parça verebilirim

473
00:44:19,920 --> 00:44:25,360
bilgi. İlki bir sayı gibi olacak. İkincisi ise güç olacak

474
00:44:25,360 --> 00:44:31,440
bu numarayı almak istediğim yer. Yani üç virgül iki gibi diyebilirim. Ve bu temelde

475
00:44:31,440 --> 00:44:37,200
sadece üçün ikinin kuvveti olacak. Yani sadece üçün karesi olacak. Yani biz

476
00:44:37,200 --> 00:44:42,560
buraya dokuz almalı. Bunu yaptığımızı görebilirsiniz. Yani, bilirsin, biraz deli gibi geçebilirim

477
00:44:42,560 --> 00:44:48,000
sayı, sanki bir dördü geçebilir ve onu altının üssüne çıkarabilirmişiz gibi. Ve biz de öyle yapmalıyız

478
00:44:48,000 --> 00:44:54,400
Burada oldukça büyük bir sayı gibi görünüyor. Ve 4096 elde ettiğimizi görüyorsunuz. Yani bu pow fonksiyonu gerçekten

479
00:44:54,400 --> 00:45:00,080
sayıları belirli güçlere almak için kullanışlıdır. Bu pow fonksiyonunu kullanmanın yanı sıra şunları da yapabiliriz:

480
00:45:00,080 --> 00:45:06,480
ayrıca max adı verilen başka bir işlevi kullanın. Yani maksimum diyebilirim. Ve bunun yapacağı şey şu:

481
00:45:06,480 --> 00:45:12,000
temel olarak içine aktardığımız iki sayıdan büyük olanı döndürecek. Yani şu anda ben

482
00:45:12,000 --> 00:45:17,680
buna dört ve altı veriyorum. Bu bize hangi sayının daha yüksek olduğunu söylemelidir. Yani burada,

483
00:45:17,680 --> 00:45:22,000
sadece altı basılıyor çünkü bu daha büyük sayı. Başka bir işlevi de kullanabilirim

484
00:45:22,000 --> 00:45:26,640
dk denir. Ve bu tam tersini yapacak. Şimdi maksimum sayıyı yazdırmak yerine,

485
00:45:26,640 --> 00:45:31,280
en küçük sayıyı yazdıracak. Ve burada mümkün olduğu kadar dört tane yazdıracak

486
00:45:31,280 --> 00:45:36,960
bakın, başka bir harika fonksiyona yuvarlak fonksiyon denir. Ve bu bizim yuvarlamamıza izin verecek

487
00:45:36,960 --> 00:45:42,560
bir sayı. Yani standart yuvarlama kuralları gibi takip edilecek. Yani eğer 3.2 gibi dersem

488
00:45:42,560 --> 00:45:48,880
Buranın içinde, şimdi bunu normal üçe yuvarlayacak. Ama 3.7 gibi dersem,

489
00:45:49,760 --> 00:45:53,840
bunu dörde yuvarlayacak. Bu, bir sayıyı yuvarlamanıza olanak tanır.

490
00:45:53,840 --> 00:45:59,440
Size göstermek istediğim birkaç fonksiyon daha var ama onlara erişebilmek için,

491
00:45:59,440 --> 00:46:05,760
Aslında içe aktarma denilen bir şey yapmam gerekecek. Ve Python'da aslında içe aktarabiliriz

492
00:46:05,760 --> 00:46:12,400
Dosyalarımıza harici kod. Ve eğer bu özel matematik fonksiyonlarına erişmek istersem,

493
00:46:12,960 --> 00:46:20,000
Python matematiği denen bir şeyi içe aktarmam gerekiyor. Yani buradan şunu söyleyebilirim, matematik, ithalat,

494
00:46:20,000 --> 00:46:25,440
ve bu yıldız. Ve temel olarak bunun yapacağı şey dışarı çıkacak ve

495
00:46:25,440 --> 00:46:30,880
kullanabileceğimiz bir dizi farklı matematik fonksiyonunu edinin. Size zaten birkaçını gösterdim.

496
00:46:30,880 --> 00:46:35,200
Bu farklı matematik fonksiyonları var ama aslında çok daha fazlası var. Ve onlara erişebilmek için,

497
00:46:35,200 --> 00:46:39,920
bu kod satırını dosyamızın içine eklememiz gerekecek. Yani bir kez buna sahip olduğumuzda,

498
00:46:39,920 --> 00:46:44,240
şimdi birkaç tanesine daha erişebiliyorum. Yani kat yöntemi adı verilen başka bir fonksiyon daha var. Ve

499
00:46:44,240 --> 00:46:50,640
bu sadece FLOR. Ve bunun yapacağı şey temelde en düşük sayıyı yakalamak olacaktır. Yani bu

500
00:46:50,640 --> 00:46:55,760
aslında sadece bu ondalık noktayı keseceğim. Ve burada görebilirsiniz, şimdi bir

501
00:46:55,760 --> 00:47:00,960
üç, biz bu kat fonksiyonunu kullandığımız için, ayrıca mühür adı verilen başka bir fonksiyon daha var. Ve bu

502
00:47:00,960 --> 00:47:05,440
sadece tam tersini yapacağım. Yani bu ne olursa olsun sayıyı yukarı doğru yuvarlayacak. Yani

503
00:47:05,440 --> 00:47:10,560
ne olursa olsun her zaman dört alacağız ve burada bir üç noktamız var. Ve orada

504
00:47:10,560 --> 00:47:16,560
karekök adı verilen başka bir tane. Yani bu sadece SQRT. Ve aslında bu sadece

505
00:47:16,560 --> 00:47:24,080
bir sayının karekökünü döndürür. Yani 36 gibi diyebilirim. Şimdi altısını geri almalıyız. Yani

506
00:47:24,080 --> 00:47:30,320
bunlar harika, çok ilginç işlevler. Ve bu matematik modülünün içinde şunu çağırırız:

507
00:47:30,320 --> 00:47:34,960
bu bir modül. Ve şu anda bunun ne olduğu konusunda çok fazla endişelenmenize gerek yok. Sadece şunu bil

508
00:47:34,960 --> 00:47:41,840
Bu kod satırını programımıza koyduğumuzda çok daha fazla matematik fonksiyonuna erişmemizi sağlıyor.

509
00:47:41,840 --> 00:47:47,680
Yani temel olarak programımızın içinde matematikle ilgili çok daha fazla şey yapmamıza olanak tanıyor. Ve bir tane var

510
00:47:47,680 --> 00:47:52,640
Python'da bir sürü farklı matematik fonksiyonu. Ve eğer isterseniz, basitçe çevrimiçi olabilirsiniz ve

511
00:47:52,640 --> 00:47:57,360
farklı matematik fonksiyonlarını arayın. Size burada birkaç tane gösterdim. Ve biz olanları söyleyebilirim

512
00:47:57,360 --> 00:48:03,440
buraya bakılanlar muhtemelen en sık kullanılanlardır, ancak çok daha fazlası var. Ve dediğim gibi,

513
00:48:03,440 --> 00:48:07,680
biliyorsun, tüm bunlarla ilgili tonlarca belge var. Yani sadece yukarıya bakabilirsin, bilirsin,

514
00:48:07,680 --> 00:48:12,880
Python'da matematik fonksiyonları. Ve bunların gibi tonlarca liste olacak

515
00:48:12,880 --> 00:48:17,920
farklı matematik işlemlerini gerçekleştirmek için programlarınızın içinde kullanabileceğiniz. Ama şimdilik

516
00:48:17,920 --> 00:48:21,040
bu biraz sayıları kullanmakla, biraz da yapmakla ilgili, bilirsiniz,

517
00:48:21,040 --> 00:48:25,280
belirli matematik işlemleri ve bu sayılarla işlevlerin kullanılması.

518
00:48:25,280 --> 00:48:34,880
Bu derste size bir kullanıcıdan nasıl girdi alacağınızı göstereceğim. Yani temelde şunu yapacağız:

519
00:48:34,880 --> 00:48:40,720
Bir kullanıcının programımıza bilgi girmesine izin verin. Ve aslında şunu alacağım

520
00:48:40,720 --> 00:48:45,600
Kullanıcının girdiği bilgiyi bir değişkenin içinde saklayacağım. Ve sonra biz

521
00:48:45,600 --> 00:48:50,880
bu değişkenle bir şeyler yapabileceğiz. Bu yüzden size aslında nasıl yapabileceğimizi göstermek istiyorum.

522
00:48:50,880 --> 00:48:57,440
Birinden girdi almaya devam edin. Ve burada Python dosyamda, yapmam gereken tek şey

523
00:48:57,440 --> 00:49:03,760
Birinden gelen girdi, sadece girişi yazmam gerektiği ve ardından açık ve kapalı parantezleri yazmam gerektiğidir.

524
00:49:03,760 --> 00:49:08,240
Ve bunun temelde yapacağı şey Python'a şunu söylemek olacak: hey, biz almak istiyoruz

525
00:49:08,240 --> 00:49:15,520
Bir kullanıcıdan gelen girdi ve Python kullanıcının bazı bilgileri yazmasına izin verecektir. Ve bunların içinde

526
00:49:15,520 --> 00:49:21,200
parantez içinde aslında bir bilgi istemi yazabiliriz. Ve genel olarak kullanıcının içeri girmesini istediğimizde

527
00:49:21,200 --> 00:49:25,680
bazı bilgiler, girmelerini istediğimiz şeyleri onlara anlatmak istiyoruz. Ve koyabileceğimiz şey bu

528
00:49:25,680 --> 00:49:32,560
buranın içi. O yüzden sadece adınızı girin diyeceğim. Yani aslında bir tane yaratacağız

529
00:49:32,560 --> 00:49:37,760
Kullanıcının kendi adını girmesine izin verecek küçük Python uygulaması. Ve sonra saklayacağız

530
00:49:37,760 --> 00:49:42,400
bir değişkenin içindeki adı ve ardından temel olarak kullanıcıya merhaba diyeceğiz. Yani söyleyeceğiz

531
00:49:42,400 --> 00:49:48,080
Merhaba ve sonra girdikleri isim her neyse. Yani aslında yapmak istediğim şey

532
00:49:48,080 --> 00:49:55,520
Kullanıcının programımıza girdiği her şeyi bir değişkenin içinde saklayın. Yani aslında gidebilirim

533
00:49:55,520 --> 00:50:01,120
burada bir değişken yaratabilirim, ona sadece isim diyebilirim. Ve bu değişkeni ayarlayabilirim

534
00:50:01,120 --> 00:50:07,520
girişe eşittir. Şimdi yaptığım şey, kullanıcının girdiği değeri alıyorum,

535
00:50:07,520 --> 00:50:16,400
ve bunu name adı verilen bu değişken konteynerin içinde saklıyorum. Ve artık her şeye erişebiliyorum

536
00:50:16,400 --> 00:50:23,040
içeri girdiler. Yani yapabileceğimiz şey yazdır diyebiliriz. Ve parantezlerin içinde şunu yapabilirim:

537
00:50:23,040 --> 00:50:30,400
merhaba yazdırın. Ve sonra bu isme ekleme yapacağım. Ve aslında neden şunu koymuyoruz?

538
00:50:30,400 --> 00:50:36,480
ünlem işareti mi? Yani aslında kullanıcıdan bir isim alıyoruz ve onu içinde saklıyoruz.

539
00:50:36,480 --> 00:50:42,000
isim değişkeni. Ve bunu ekrana yazdırıyorum. O yüzden devam edip bunu oynayacağım.

540
00:50:42,720 --> 00:50:48,080
Ve programı çalıştırdığımızda, burada Python'un bize bu küçük uyarıyı verdiğini göreceksiniz. Yani

541
00:50:48,080 --> 00:50:53,760
adınızı girin diyor Şimdi buraya aslında bir değer yazabilirim. Böylece Mike'ı yazabilirim.

542
00:50:54,800 --> 00:51:01,600
Ve sonra enter tuşuna basabilirim. Ve Python bu değeri o değişkenin içinde saklamaya devam edecek.

543
00:51:01,600 --> 00:51:06,560
Ve sonra merhaba yazacak Mike. Ve bu çok hoş. Ve aslında biz ne yapıyoruz

544
00:51:06,560 --> 00:51:12,880
yapabileceğimiz şey, kullanıcıdan birden fazla bilgi girmesini isteyebiliriz. Yani yapabilirim

545
00:51:12,880 --> 00:51:18,800
aslında bu kod satırını kopyalayın. Ve bunu buraya, aşağıya yapıştıracağım. Ve neden elimizde yok

546
00:51:18,800 --> 00:51:24,880
kullanıcı başka bir değişken mi girdi? Yani onların örneğin yaşlarını girmelerini sağlayabiliriz. Ve bitti

547
00:51:24,880 --> 00:51:30,800
Burada sadece yaşınızı girin demek istiyoruz. Ve şimdi iki parça bilgi alabiliyoruz

548
00:51:30,800 --> 00:51:38,320
kullanıcıdan. Ve merhaba diyebilirim, isim. Ve sonra öyle olduğunu söyleyebilirim ve onların çıktısını alacağım

549
00:51:38,320 --> 00:51:44,560
yaş. Bu yüzden sadece yaşını yazdıracağım. Artık temelde bu parçaların her ikisini de alabiliyorum

550
00:51:44,560 --> 00:51:50,640
Kullanıcıdan bilgi alırsam adını alabilirim. Ve yaşlarını öğrenebilirim. Yani bu programı çalıştırdığımızda,

551
00:51:52,240 --> 00:51:57,280
Bu iki bilgiyi de yazabilirim. Yani adınıza cevap verin. Yani biz sadece

552
00:51:57,280 --> 00:52:03,440
John gibi bir isim uydurun ve yaşı girin, diyelim ki John 25 yaşında. Ve şimdi şöyle diyecek:

553
00:52:03,440 --> 00:52:09,520
Merhaba John, 25 yaşındasın. Yani program kullanıcıdan girdi alabiliyor. Ve sonra bunu yapabilir

554
00:52:09,520 --> 00:52:15,760
Bu bilgiyi kullanıcıya merhaba demek ve kaç yaşında olduklarını söylemek için kullanın. Ve bu yüzden

555
00:52:15,760 --> 00:52:21,360
kullanıcıdan girdi almak programlarınızı daha etkileşimli hale getirmenin harika bir yoludur. Ve burada,

556
00:52:21,360 --> 00:52:25,520
sadece yüzeysel olarak konuşuyoruz, değil mi? Biz sadece temelde bir parçaya ulaşıyoruz

557
00:52:25,520 --> 00:52:30,800
Kullanıcıdan gelen bilgiler, ancak bu girdileri Python'da harika şeyler yapmak için kullanabilirsiniz. Ve biz

558
00:52:30,800 --> 00:52:35,840
Bu kursu tamamladığınızda, bu girdilerle yapabileceğimiz gerçekten harika şeyler göreceksiniz.

559
00:52:39,840 --> 00:52:45,280
Bu derste size Python'da çok basit bir hesap makinesinin nasıl oluşturulacağını göstereceğim.

560
00:52:45,280 --> 00:52:49,440
Temel olarak bir kullanıcıdan iki sayı alacağımız bir hesap makinesi oluşturacağız.

561
00:52:49,440 --> 00:52:54,160
ve sonra bu sayıları toplayacağız ve cevabı ekrana yazdıracağız. Öyleyse hadi

562
00:52:54,160 --> 00:52:59,520
kullanıcılardan girdi alma konusunda bazı uygulamalara bakın. Ayrıca numara alma hakkında da konuşacağız.

563
00:52:59,520 --> 00:53:05,440
yalnızca dizelerin aksine kullanıcılar. Bu hesap makinesine başlayacağım için gerçekten heyecanlıyım.

564
00:53:05,440 --> 00:53:11,600
Yapmak istediğimiz ilk şey iki değişken oluşturmak ve bu değişkenlerin içinde depolamak istiyoruz

565
00:53:11,600 --> 00:53:16,640
kullanıcının birbirine eklemek istediği iki sayı. Yani burada şunu söyleyeceğim:

566
00:53:17,920 --> 00:53:23,440
bir numara. Ve buna ilk değişkenimize eşittir diyeceğiz. Ve şimdi almam gerekiyor

567
00:53:23,440 --> 00:53:28,800
kullanıcıdan giriş. O yüzden giriş diyeceğim. Ve bu parantezlerin içinde şunu söyleyeceğim:

568
00:53:28,800 --> 00:53:38,720
bir sayı girin. Ve şimdi temelde aynı şeyi yapmak istiyorum ama ikinci sayı için.

569
00:53:38,720 --> 00:53:45,760
O yüzden bu adamı buraya yapıştıracağız. Ve sadece ikinci numarayı söyleyeceğim. Ve sonra şunu söyleyeceğiz:

570
00:53:45,760 --> 00:53:52,640
başka bir numara girin. Artık kullanıcının girdisini bu iki değişkenin içinde saklayabiliyoruz.

571
00:53:52,640 --> 00:53:58,800
Şimdi tek yapmak istediğim sonucu yazdırmak. Yani aslında bir değişken yaratacağım

572
00:53:58,800 --> 00:54:03,680
sonuç denir. Yani sonucun eşit olduğunu söyleyeceğim ve temel olarak şunu eklemek istiyoruz:

573
00:54:03,680 --> 00:54:09,840
bu iki sayı bir arada. Yani bir numara artı iki numara diyeceğim. Ve şimdi tek yapmamız gereken

574
00:54:09,840 --> 00:54:16,720
sadece sonucu yazdırmaktır. Bu yüzden sadece sonucu yazdıracağım. Yani temelde elimizdekilerin tamamına sahibiz

575
00:54:16,720 --> 00:54:21,040
program burada yazılı. Bu bize iki sayı girmemizi sağlayacak ve sonra onları toplayacağız

576
00:54:21,040 --> 00:54:29,120
birlikte ve cevabı yazdırın. Bu yüzden oynat'a tıklayacağım. Ve buraya numaramızı girebiliriz.

577
00:54:29,120 --> 00:54:34,080
O halde ilk sayıyı gireceğim, beş diyeceğiz. Ve ikinci numaramı gireceğim.

578
00:54:34,080 --> 00:54:44,080
Yani 8.0 diyelim, ya da 8.3 diyelim. Şimdi cevabı yazdırmalıyız. Ama buraya bakarsanız,

579
00:54:44,080 --> 00:54:53,040
aradığımız cevap tam olarak bu değil, değil mi, beş artı 8,3 kesinlikle 58,3 değil. Ve

580
00:54:53,040 --> 00:55:01,120
işte olanlar. Varsayılan olarak bir kullanıcıdan girdi aldığımızda, Python yalnızca dönüştürecek

581
00:55:01,120 --> 00:55:06,080
bir dizeye dönüştürün. Yani sayıları girerken oraya ne yazdığımız önemli değil.

582
00:55:06,080 --> 00:55:12,320
Python her zaman şöyle diyecek: tamam, bu bir dize, bu kadar. Kulağa hoş geliyor, değil mi? Bu sadece

583
00:55:12,320 --> 00:55:18,000
bunu bir dize haline getireceğiz. Bu bir numaralı ve iki numaralı değişkenleri sayılar haline getirebilmemiz için,

584
00:55:18,000 --> 00:55:24,640
aslında kullanıcıdan aldığımız dizeleri sayılara dönüştürmemiz gerekecek. Ve bu yüzden

585
00:55:24,640 --> 00:55:30,240
Bunu yapabilmemizin yolu temelde buraya gelmektir. Ve iki sayıyı topladığımızda

586
00:55:30,240 --> 00:55:37,440
birlikte bu dizeleri sayılara dönüştürmek için özel bir Python işlevi kullanabilirim.

587
00:55:37,440 --> 00:55:43,360
Ve aslında bunun için kullanabileceğimiz iki Python fonksiyonu var. İlkine int denir.

588
00:55:43,360 --> 00:55:50,080
Yani int diyebilirim, açık parantez yapabilirim ve kapalı parantez yapabilirim. Ve temelde

589
00:55:50,080 --> 00:55:54,960
bunun yapacağı şey şu, bu açık ve kapalı parantezlerin içinde ne varsa onu dönüştürecek

590
00:55:54,960 --> 00:56:02,000
bir tamsayıya dönüştürün. Ve bir tam sayı temelde bir tam sayıdır. Yani bir tane gibi

591
00:56:02,000 --> 00:56:07,040
iki, üç, dört, beş. Yani bu bir tam sayı. Başka bir deyişle ondalık sayı olamaz

592
00:56:07,040 --> 00:56:15,200
nokta. Yani int diyebilirdim ve bunları parantezlerin içine koyabilirdim.

593
00:56:15,200 --> 00:56:19,680
Ve şimdi bunun yapacağı şey, bu sayıların ikisini de şuna çevirecek:

594
00:56:19,680 --> 00:56:25,200
tamsayılar. Başka bir deyişle, ondalık basamakları olmayan tam sayılara. Ve ekleyecek

595
00:56:25,200 --> 00:56:29,200
bunları bir araya getireceğiz ve sonuçları yazdıracağız. Peki neden bunu yapmıyoruz? Ve sadece olup olmadığını göreceğiz

596
00:56:29,200 --> 00:56:34,000
bu işe yarıyor. Bu yüzden oynat tuşuna basacağım. Ve buraya ilk numaramızı gireceğiz. Yani

597
00:56:34,000 --> 00:56:38,720
Ben sadece dörtlüye gireceğim. Ve sonra beşe gireceğim. Ve şimdi görebiliyorsunuz ki

598
00:56:38,720 --> 00:56:45,120
Doğru cevabın dört artı beşini yazdırmak. Ve bu aslında bizim temel hesap makinemiz.

599
00:56:45,120 --> 00:56:49,440
Ancak bu hesap makinesiyle ilgili bir sorunumuz var. Bu yüzden tekrar çalıştıracağım. Ve sana göstereceğim

600
00:56:49,440 --> 00:56:56,800
Arkadaşlar bu sorunu şu: Eğer ondalık bir sayı eklemek istersem, 4,3 ve 5,5'i ekleyeceğiz.

601
00:56:56,800 --> 00:57:03,840
Bu hatayı aldığımızı göreceksiniz. Bunun nedeni bu int işlevini kullanmamdır

602
00:57:03,840 --> 00:57:09,840
burada. Ve bu int işlevi bir tam sayı arıyor. Yani eğer ondalık sayılar koyarsam

603
00:57:09,840 --> 00:57:14,400
içeride, programı bozacak. Kullanabileceğimiz başka bir fonksiyon daha var

604
00:57:14,400 --> 00:57:19,760
int yerine float diyebiliriz. Ve bir kayan nokta temelde sadece bir sayıdır

605
00:57:19,760 --> 00:57:24,880
ondalık. Yani bu bir ondalık sayıdır. Böylece bu adamların ikisini de şamandıralara dönüştürebilirim.

606
00:57:24,880 --> 00:57:30,480
Artık ondalık sayıları kullanabileceğim. Böylece oynat'a tıklayabilirim. Ve bazılarına girebiliyorum

607
00:57:30,480 --> 00:57:36,640
sayılar. Yani dört gibi diyebilirim. Ayrıca 5,5 gibi de diyebilirim. Ve şimdi mümkün olacak

608
00:57:36,640 --> 00:57:42,160
biri ondalık sayı olsa bile bu sayıların her ikisini de eklemek için. Ve bunu kullanmanın güzelliği de bu

609
00:57:42,160 --> 00:57:47,600
küçük şamandıra işlevi. Dolayısıyla belirli durumlarda kullanıcının yalnızca giriş yapabilmesini isteyebilirsiniz.

610
00:57:47,600 --> 00:57:52,880
bir tamsayıdan tam sayıya kadar. Ancak çoğu durumda, bu hesap makinesinde olduğu gibi, onların

611
00:57:52,880 --> 00:57:56,960
istedikleri sayıyı girebilecekler. Yani bu şamandırayı kullanacağız

612
00:57:56,960 --> 00:58:01,520
işlevi. Yaptığımız şeyi bir kez daha özetleyeceğim; iki değişken yarattık,

613
00:58:01,520 --> 00:58:07,440
bir numara ve iki numara. Ve temel olarak kullanıcıların bunlara girdiği iki sayıyı sakladık.

614
00:58:07,440 --> 00:58:14,080
değişkenler. Daha sonra bunları sayılara dönüştürdük. Bunları bir araya topladık ve çıktısını aldık

615
00:58:14,080 --> 00:58:18,160
Sonuçlar. Yani bu oldukça hoş bir hesap makinesi. Bundan mutluyum. Umarım öğrenmişsinizdir

616
00:58:18,160 --> 00:58:23,200
bir şey. Ve biz bu Python kursunda ilerledikçe, her türlü yolu öğreneceksiniz.

617
00:58:23,200 --> 00:58:31,600
bu hesap makinesini daha karmaşık hale getirebiliriz. Bu derste size nasıl yapılacağını göstermek istiyorum

618
00:58:31,600 --> 00:58:38,960
Python'da bir madlibs oyunu oluşturun. Yani bir madlibs oyunu temelde sadece yapabileceğiniz bir oyundur.

619
00:58:38,960 --> 00:58:46,400
bir grup rastgele kelime girin. Yani fiiller, isimler, isimler, renkler gibi. Ve sen temelde

620
00:58:46,400 --> 00:58:52,880
tüm bu kelimeleri alın ve bunları rastgele bir hikayeye koyun. İşte burada, web tarayıcım,

621
00:58:52,880 --> 00:58:57,680
Sadece bir madlib örneğim var. Yani, biliyorsunuz, burada temelde sadece rastgele seçimler yapıyoruz.

622
00:58:57,680 --> 00:59:02,960
Sıfat, isim veya çoğul isim gibi sözcükleri kullanma ve bunları hikayenin yanına girme. Yani

623
00:59:02,960 --> 00:59:06,960
Hikayeyi baştan sona okuduğunuzda rastgele bir kelimenin ortaya çıkması ve madlib'lerin güzel olabilmesi gibi

624
00:59:06,960 --> 00:59:11,040
eğlenceli. Ve eminim siz en azından madlib'leri daha önce duymuşsunuzdur. Ama değilse

625
00:59:11,040 --> 00:59:15,680
bu sadece küçük bir girişti. Bu yüzden Python'da bir madlibs oluşturmak istiyorum. Ve bu gidiyor

626
00:59:15,680 --> 00:59:20,720
gerçekten havalı olmak. Burada küçük bir şiirim var, şöyle diyor: güller kırmızıdır,

627
00:59:20,720 --> 00:59:26,160
menekşeler mavidir, seni seviyorum. Ve biliyorsunuz, bu bir nevi klasik şiire benziyor. Ama sanırım

628
00:59:26,160 --> 00:59:33,520
biraz karıştırıp bu şiire madlib oluşturmalıyız. Ve bu kırmızıya sahip olmak yerine

629
00:59:33,520 --> 00:59:40,560
renk buraya, kullanıcının kendi rengini girmesini istiyorum. Menekşe almak yerine,

630
00:59:40,560 --> 00:59:47,040
neden onları çoğul bir isimle girmiyoruz? Ve seni sevdiğimi söylemek yerine neden bunu yapmıyoruz?

631
00:59:47,040 --> 00:59:55,200
sevdiğimi söylüyorlar, sonra da bir ünlüyü? Yani ünlü. İşte bu bizim küçüklüğümüzün temel yapısı

632
00:59:55,200 --> 01:00:00,960
madlib'di değil mi? Temel olarak kullanıcının bir renk girmesini, çoğul bir isim girmesini,

633
01:00:00,960 --> 01:00:05,920
ve bir ünlüye girin. Ve sonra bu kelimelerin hepsini alacağım ve onları kalbimize koyacağım.

634
01:00:05,920 --> 01:00:10,960
madlib. Ve umarım oldukça komik bir şeyle sonuçlanırız. Peki aslında nasıl gidebiliriz?

635
01:00:10,960 --> 01:00:15,600
bunu Python'da oluşturmaya ne dersiniz? Peki, yapmamız gereken ilk şey şu:

636
01:00:15,600 --> 01:00:20,880
Bu kelimeleri kullanıcıdan alabilmek için değil mi? Bu oldukça açık. Yani ne yapmamız gerektiğini düşünüyorum

637
01:00:20,880 --> 01:00:27,120
yapmamız gereken, renkli çoğul isim ve şöhret adı verilen üç değişken oluşturmamız gerektiğidir. Ve saklayacağız

638
01:00:27,120 --> 01:00:33,440
kullanıcının bu değişkenlerin içindeki girdileri. Yani burada, bu değişkenleri oluşturalım. İlk

639
01:00:33,440 --> 01:00:38,400
Oluşturmak istediğim değişkene renk adı verilecek. Öyleyse renk deyin. Ve bunu eşitlemek istiyorum

640
01:00:38,400 --> 01:00:43,520
girişe. O yüzden giriş diyeceğim. Ve burada onlara bir uyarıda bulunacağım. Yani

641
01:00:43,520 --> 01:00:50,960
Bir renk girin diyeceğim. Temel olarak bu kod satırını kopyalayabiliriz. Ve yapıştıracağım

642
01:00:50,960 --> 01:00:56,640
aşağıda. Ve bir kez daha yapıştıracağız. Şimdi çoğul ismimizi oluşturacağız

643
01:00:56,640 --> 01:01:06,640
değişken. Bu yüzden PL, URL, çoğul isim diyeceğim. Ve biz sadece çoğul bir isim girin diyeceğiz. Ve aslında

644
01:01:06,640 --> 01:01:12,640
burada ben de iki nokta üst üste yapmak istiyorum. Sonunda ünlü değişkenimizi yaratacağız

645
01:01:12,640 --> 01:01:19,760
ve bir ünlü girin diyeceğiz. Ve şimdi temel olarak üç değişken yaratıyoruz:

646
01:01:19,760 --> 01:01:26,000
renkli çoğul isim ve ünlü. Ve bunların içinde kullanıcının girdiği rengi saklıyoruz.

647
01:01:26,000 --> 01:01:32,080
çoğul isim, kullanıcı girer ve ünlü, kullanıcı girer. Yani yapmamız gereken son şey

648
01:01:32,080 --> 01:01:39,200
bu adamları bu değişkenlerle değiştirin. Yani temel olarak buraya renk ekleyeceğim.

649
01:01:40,400 --> 01:01:45,120
Ve çoğul ismi ekleyeceğiz. Yani bu şekilde gidebilirim.

650
01:01:45,120 --> 01:01:59,120
Ve son olarak o ünlüyü de ekleyeceğiz. Artık oldukça havalı bir çılgın kütüphanemiz var. Ve öyle olmalı

651
01:01:59,120 --> 01:02:04,880
işlevsel olun. Her şey işe yaramalı. Gitmek iyi olacak gibi görünüyor. O halde buraya gelelim ve

652
01:02:04,880 --> 01:02:11,200
programımızı çalıştıracağız. Ve sonra burada, konsolda küçük çılgın kütüphane oyunumuzu oynayabiliriz.

653
01:02:11,200 --> 01:02:18,000
Diyelim ki bir renk girin, ben sadece macenta diyeceğim, çoğul bir isim gireceğim. Neden söylemiyoruz?

654
01:02:19,600 --> 01:02:27,120
mikrodalgalara girip bir ünlüye girin, diyelim ki Tom Hanks. Peki enter'a tıkladığımda ne olmalı?

655
01:02:27,120 --> 01:02:32,400
çılgın kütüphanelerimizin çıktısını almamız gerekiyor. Bu yüzden enter tuşuna basacağım. Ve şimdi bizim çılgınlığımız var

656
01:02:32,400 --> 01:02:38,800
kütüphaneler. Yani gül ya da macenta diyor, mikrodalgalar mavi. Tom Hanks'i seviyorum. Yani bu oldukça iyi bir çılgınlık

657
01:02:38,800 --> 01:02:44,080
lib. Ve tabii ki, biliyorsunuz, buraya ne kadar çok basılı ifade koyarsak, bilirsiniz,

658
01:02:44,080 --> 01:02:48,640
mad lib ne kadar iyi olabilirdi. Ve burada olabildiğince çok değişken saklayabiliriz.

659
01:02:48,640 --> 01:02:54,080
istedim. Bu sadece çok basit bir çılgın kitaptı. Sadece üç girdi aldık ama biliyorsun, yapabilirsin

660
01:02:54,080 --> 01:02:59,440
böyle bir şeyi nasıl alıp küçük bir çılgın kütüphane oyunu yaratabileceğinizi görün. Yani ödevin

661
01:02:59,440 --> 01:03:03,920
çünkü bu ders gidip kendi çılgın kütüphane oyununuzu yapmaktır. Umarım birazcıktır

662
01:03:03,920 --> 01:03:09,200
benimkinden daha komik. Ancak Python'da çılgın bir kütüphane oyunu yaratmanın temelleri budur.

663
01:03:13,200 --> 01:03:18,480
Bu derste sizinle Python'da listelerle çalışma hakkında konuşmak istiyorum. bir sürü

664
01:03:18,480 --> 01:03:23,280
Python'da programlama yaptığınızda büyük miktarda veriyle uğraşırsınız.

665
01:03:23,280 --> 01:03:26,800
Ve büyük miktarda veriyle uğraşırken şunları yapabildiğinizden emin olmak istersiniz:

666
01:03:26,800 --> 01:03:32,800
onu yönetin ve doğru şekilde organize edin. Ve liste aslında sadece kullanabileceğimiz bir yapıdır

667
01:03:32,800 --> 01:03:38,880
Bilgi listelerini saklamak için Python'un içinde. Böylece bir sürü farklı veri değeri alabiliriz,

668
01:03:38,880 --> 01:03:43,920
bunları bir listeye koyabiliriz ve bu onları organize etmemize ve takip etmemize olanak tanır

669
01:03:43,920 --> 01:03:49,920
daha kolay. Yani genel olarak bir Python listesi oluşturursunuz ve bir sürü ilgili değeri koyarsınız.

670
01:03:49,920 --> 01:03:54,000
bu listenin içinde yer alır ve ardından bunu programınızın tamamında kullanabilirsiniz. Bu yüzden sana göstereceğim

671
01:03:54,000 --> 01:03:58,480
Arkadaşlar, listeleri kullanmanın temellerini anlatacağım, bazı yaygın kullanım durumlarına bakacağız ve

672
01:03:58,480 --> 01:04:03,280
listelerin ne olduğu ve neden faydalı olduğu konusunda sizi bilgilendireceğim. Yani burada benim

673
01:04:03,280 --> 01:04:08,800
aslında bir liste oluşturacağım. Ve tıpkı bir liste oluşturduğumuz gibi bir liste oluşturuyoruz.

674
01:04:08,800 --> 01:04:13,520
Python, tıpkı normal bir Python değişkeni gibi. Yani bir proje yaparken yapmak istediğimiz ilk şey

675
01:04:13,520 --> 01:04:18,960
liste ona bir isim vermektir. Bu yüzden ona açıklayıcı bir isim vermek istiyoruz.

676
01:04:18,960 --> 01:04:24,800
temel olarak listenin içinde ne olduğunu açıklayın. Benim durumumda, bu örnek için bir liste yapalım:

677
01:04:24,800 --> 01:04:29,440
arkadaşlar gibi. Yani burada tüm arkadaşlarımın bir listesi olduğunu söyleyebiliriz. Yani arkadaşlar diyebilirim.

678
01:04:30,000 --> 01:04:35,840
Ve bunu arkadaşlarımı temsil eden değerler listesine eşitleyeceğim. Ve biz istiyoruz

679
01:04:35,840 --> 01:04:41,920
Liste oluşturmak için bu açık ve kapalı köşeli parantezleri kullanabiliriz. Yani bunları her kullandığınızda açık

680
01:04:41,920 --> 01:04:47,680
ve kapalı köşeli parantezler, Python temel olarak biliyor, tamam, içinde bir sürü değer saklamak istiyorlar

681
01:04:47,680 --> 01:04:52,640
bu listeden. Öyleyse neden devam edip bazı değerler eklemeye başlamıyoruz? Yani arkadaşlarım gibi diyebiliriz

682
01:04:52,640 --> 01:05:05,840
Kevin, Karen ve diyelim ki Jim gibiler. Yani burada arkadaşlarımın dizisinde üç değer var.

683
01:05:05,840 --> 01:05:11,680
Yani Python'da normal bir değişken oluşturduğumuzda genellikle ona yalnızca bir değer veririz,

684
01:05:11,680 --> 01:05:16,160
değil mi? Yani bir değişken yaratırdım, ona bir değer verirdim, belki bir dize, bir sayı ya da bir

685
01:05:16,160 --> 01:05:23,680
Boolean. Ancak listeler yaptığımızda, birden fazla değeri aynı şeyin içinde küçük değerler gibi saklayabiliyoruz.

686
01:05:23,680 --> 01:05:29,600
aynı nesnenin içindeki öğe, değil mi? Ve sonra yapabileceğim şey şu; bu bireysel öğelere erişebilirim

687
01:05:29,600 --> 01:05:36,240
programımın içinde. Yani bu arkadaş listesinin içinde temelde bu farklı şeylerin hepsini saklıyoruz.

688
01:05:36,240 --> 01:05:41,120
değerler ve bu gerçekten yararlı olabilir. Artık bazı değerleri sakladığımıza göre, ne olacağından bahsedelim.

689
01:05:41,120 --> 01:05:46,560
bir listenin içine koyabilirsiniz. Yani gerçekten herhangi bir bilgiyi Python'a koyabilirsiniz,

690
01:05:46,560 --> 01:05:51,600
dizeler, sayılar veya boolean'lar gibi şeyler koyun. Yani eğer istersem, sadece dizeleri koymak yerine

691
01:05:51,600 --> 01:05:56,640
burada, bunlardan birini bir sayıya dönüştürebilirim ve bunlardan birini bir boole olarak değiştirebilirim,

692
01:05:56,640 --> 01:06:01,120
ve bunun bir önemi yok, Python bununla yetinecektir. Ama bunları tekrar değiştirelim

693
01:06:01,120 --> 01:06:07,840
sadece örnek olması açısından dizeler. Listemizi oluşturduğumuza göre artık nasıl erişebiliriz?

694
01:06:07,840 --> 01:06:12,640
Bu listenin içindeki bireysel öğeler? Bu iyi bir soru. Devam edip yazdıracağım

695
01:06:12,640 --> 01:06:16,880
ekrana bir şey. Yapabileceğimiz ilk şey gerçek listenin çıktısını almaktır.

696
01:06:16,880 --> 01:06:22,720
O yüzden sadece matbu arkadaşlar diyebilirim. Ve sonra bu programı çalıştırdığımda, buraya bakarsak

697
01:06:22,720 --> 01:06:27,280
Konsolda sadece gerçek arkadaş listesinin çıktısını aldığını görebiliyorsunuz, değil mi? Ama şunu söyleyelim

698
01:06:27,280 --> 01:06:33,760
Bu listenin içindeki belirli bir öğeyi yazdırmak istedim. Aslında elementlere atıfta bulunabilirim

699
01:06:33,760 --> 01:06:40,960
indekslerine göre. Yani bu listenin içindeki öğelerin her birinin belirli bir dizini var. Ve indeks

700
01:06:40,960 --> 01:06:46,880
aslında sıfırdan başlıyor. Yani listedeki bu ilk öğenin Kevin'in bir dizini olduğunu söyleyebiliriz.

701
01:06:46,880 --> 01:06:53,200
sıfır. Bu diğer elementin Karen'ın indeksinin bir olduğunu söyleyebiliriz. Ve bu üçüncü unsur

702
01:06:53,200 --> 01:06:59,760
Jim'in indeksi iki olacaktır. Her ne kadar Jim teknik olarak içerideki üçüncü element olsa da

703
01:06:59,760 --> 01:07:07,200
listede iki indeks bulunur. Bunun nedeni, indeks pozisyonunun birincisini indekslemeye başlamamızdır. Ve işte bu

704
01:07:07,200 --> 01:07:13,600
listelerin nasıl çalıştığı gibi. Liste indeksleri bu şekilde çalışır. Yani eğer belirli bir şeye erişmek istersem

705
01:07:13,600 --> 01:07:19,440
arkadaş listemin içindeki öğeye yalnızca dizininden başvurabilirim. Bizden sonra buraya

706
01:07:19,440 --> 01:07:24,480
yazın arkadaşlar, ben sadece açık ve kapalı köşeli parantez yazacağım. Ve bu açıklığın içinde

707
01:07:24,480 --> 01:07:29,840
ve köşeli parantez kapalıysa, öğenin dizinini istediğim listenin içine koymak istiyorum

708
01:07:29,840 --> 01:07:35,760
erişim. Yani eğer bu adama, bu elemente erişmek istersem, sadece sıfır koyabilirim. Yani yapabilirim

709
01:07:35,760 --> 01:07:41,280
arkadaşlar sıfır deyin. Ve şimdi programımı çalıştırdığımda, bu değeri yazdıracak, sadece

710
01:07:41,280 --> 01:07:47,520
Kevin'in çıktısını alacağım. Buradaki Jim değerine erişmek istersem iki koyabilirim. ve bu

711
01:07:47,520 --> 01:07:53,600
bize Jim değerini verecek, tam orada görebilirsiniz. Böylece öğelere dayalı olarak erişebiliriz.

712
01:07:53,600 --> 01:08:00,400
indekslerine göre, indekslerine dayalı öğelere de listenin arkasından erişebiliriz. Yani

713
01:08:00,400 --> 01:08:06,160
örneğin burada negatif bir dersem bu bana bu değere erişim sağlayacak

714
01:08:06,160 --> 01:08:11,120
Jim için buradayım. Ve negatifleri kullandığımızda bunun böyle olduğunu görebilirsiniz, indekslenmeye başlar

715
01:08:11,120 --> 01:08:16,560
listenin arkasından. Yani negatif iki dersem bu bize Karen'ı verir. Ve böylece yapabilirsin

716
01:08:16,560 --> 01:08:21,440
listenin arkasındaki öğelere erişmek için negatifleri kullanın. Yine de aklınızda bulundurun ve bu nazik bir davranıştır

717
01:08:21,440 --> 01:08:29,760
ilginç. Buradaki ilk elemanın indeks konumu sıfır olduğunu söyleyebiliriz, değil mi? Ama yapardık

718
01:08:29,760 --> 01:08:34,960
listenin arkasındaki ilk öğenin dizin konumu negatif olan olduğunu varsayalım. O yüzden bunu sakla

719
01:08:34,960 --> 01:08:39,920
aklımda. Yani aslında bu listenin bazı bölümleri gibi erişebileceğimiz başka yollar da var. Yani için

720
01:08:39,920 --> 01:08:44,800
örneğin, diyelim ki bu listedeki son iki öğeyi seçmek istedim. Ve ben istemedim

721
01:08:44,800 --> 01:08:50,560
İlkini seçmek için. Burada sadece iki nokta üst üste olanını söyleyebilirim. Ve bu,

722
01:08:50,560 --> 01:08:55,840
indeks konumundaki birinci konumdaki öğe ve bundan sonraki tüm öğeler. O halde şimdi hemen yakalamalıyız

723
01:08:55,840 --> 01:09:02,480
Bu sırayla Jim ve Karen veya Karen ve Jim. Ayrıca bir aralık da belirtebilirim. Yani aslında

724
01:09:02,480 --> 01:09:08,160
Bunu daha iyi gösterebilmemiz için birkaç öğe daha ekleyeyim. Bu yüzden iki tane ekleyeceğim

725
01:09:08,160 --> 01:09:13,760
daha fazla isim. Yani eğer istersem, indeks pozisyonundaki eleman gibi birinciye kadar seçim yapabilirdim.

726
01:09:13,760 --> 01:09:20,800
eleman indeks pozisyonu üçte. Yani bunu yakalayacak. Yani bu bir, iki. Ve aslında

727
01:09:20,800 --> 01:09:25,200
üçüncüyü alamayacağım. Yani tüm unsurları yakalayacak ama almayacak

728
01:09:25,200 --> 01:09:30,960
üçü dahil. Yani Karen ve Jim'i yakalayacak. Öyleyse devam edelim ve bunu çalıştıralım. Ve görebilirsin

729
01:09:30,960 --> 01:09:36,000
Karen ve Jim'i yakalar. Yani ya arkasına iki nokta üst üste koyarak bir tane gibi koyabilirsiniz ve sonra

730
01:09:36,000 --> 01:09:41,040
bu indeks konumunu ve ondan sonraki her şeyi alın veya istediğiniz bir aralık gibi belirtebilirsiniz

731
01:09:41,040 --> 01:09:47,600
'dan kapmak. Bu listenin içindeki öğelere bu şekilde erişebiliriz. Ancak öğeleri de değiştirebiliriz.

732
01:09:47,600 --> 01:09:53,440
Mesela buraya gelebilirim, diyelim ki bu değeri burada değiştirmek istiyorum Karen.

733
01:09:53,440 --> 01:09:59,440
Tek yapmam gereken o öğeye erişmek. Yani arkadaşlar ve Karen'ın indekste olduğunu söyleyebilirim

734
01:09:59,440 --> 01:10:04,640
birinci konum. Ve bunu istediğim gibi değiştirebilirim. Yani arkadaşlar endeksinin birinci sırada olduğunu söyleyebilirim

735
01:10:04,640 --> 01:10:11,360
Mike'a eşittir. Ve şimdi arkadaşlar indeksi birinci pozisyona çıktı aldığımızda bu değer şöyle olacak:

736
01:10:11,360 --> 01:10:16,800
güncellendi. Yani Karen demek yerine sadece Mike diyecek. Yani gerçekten yararlı olabilir

737
01:10:16,800 --> 01:10:23,200
dizilerin içindeki değerleri değiştirin. Bu nedenle Python listelerinin içindeki değerleri değiştirmek gerçekten yararlı olabilir.

738
01:10:23,200 --> 01:10:27,840
Yani bunlar Python'da listelerle çalışmanın temelleri. Ve aslında bir sonraki derste,

739
01:10:27,840 --> 01:10:32,160
Sizlere bu listeleri kullanmanın daha da fazla yolunu göstereceğim.

740
01:10:32,160 --> 01:10:37,520
bir listeye öğe eklemeyi, listeden öğe silmeyi, listeleri kopyalamayı ve bir sürü harika şeyi sevmek

741
01:10:38,240 --> 01:10:43,360
bu listelerle. Ancak şimdilik bu, listelerle çalışmanın temelleri gibi oldu.

742
01:10:47,280 --> 01:10:53,200
Bu derste sizlerle Python'da listeli fonksiyonların kullanımı hakkında konuşmak istiyorum.

743
01:10:53,200 --> 01:10:58,960
Ve Python, liste bilgilerimizi saklayabileceğimiz en önemli yapılardan biridir.

744
01:10:58,960 --> 01:11:03,760
Bir liste temel olarak bir grup farklı değeri alıp bunları organize etmenize ve saklamanıza olanak tanır.

745
01:11:03,760 --> 01:11:10,160
kendi küçük liste yapılarının içinde. Burada, programımda iki listem olduğunu görebilirsiniz.

746
01:11:10,160 --> 01:11:14,480
Şanslı numaraların bir listesi var. Ve bu sadece bir grup farklı sayı. Ve sonra benim bir

747
01:11:14,480 --> 01:11:18,880
arkadaş listesi. Yani bu birinin arkadaşlarının listesi gibi olabilir. Ve temelde sadece bir

748
01:11:18,880 --> 01:11:25,120
içinde isimler bulunan bir sürü dize. Yani bu iki liste bir sürü farklı değeri saklıyor.

749
01:11:25,120 --> 01:11:30,000
Ve listeleri harika yapan şey sadece bu kadar çok değeri saklayabilmem değil, yani

750
01:11:30,000 --> 01:11:35,040
yüzlerce, binlerce veya milyonlarca değer. Ve çok fazla veriyle ve çok fazla şeyle çalıştığınızda

751
01:11:35,040 --> 01:11:41,040
Python'da bilgi açısından bu listeler çok değerlidir. Listeler çok önemli olduğundan aslında

752
01:11:41,040 --> 01:11:46,320
listelerle kullanabileceğimiz bir sürü farklı fonksiyon. Ve bu işlevler şunu yapmamıza izin veriyor:

753
01:11:46,320 --> 01:11:52,720
listeleri değiştirmek ve liste hakkında bilgi almak gibi şeyler. Bu eğitimde sadece şunu istiyorum:

754
01:11:52,720 --> 01:11:56,320
Size bu işlevlerden bazılarını göstermek için en yaygın olanlardan bazılarından bahsedeceğiz.

755
01:11:56,320 --> 01:12:01,680
listeleri daha güçlü hale getirmek ve daha iyi hale getirmek için kullanabileceğiniz en popüler işlevler

756
01:12:01,680 --> 01:12:07,440
kullanımı daha kolay. Yani yapabileceğimiz ilk şey elbette bir listenin çıktısını almak. Yani burada,

757
01:12:07,440 --> 01:12:13,520
Bu arkadaş listesinin çıktısını alıyorum. Ve programımı çalıştırmak istediğimde, burada görüyorsunuz,

758
01:12:13,520 --> 01:12:18,160
sadece listedeki tüm öğelerin çıktısını alıyoruz. Bu yüzden çıktı alabilmek her zaman iyidir

759
01:12:18,160 --> 01:12:22,480
bir listenin içindeki tüm öğeler. Ancak kullanabileceğimiz birçok başka işlev var. Bu yüzden

760
01:12:22,480 --> 01:12:27,280
bir işleve genişletme işlevi denir. Ve genişletme işlevi temel olarak izin verecektir

761
01:12:27,280 --> 01:12:34,800
bir liste alıp sonuna başka bir liste eklemeniz gerekir. Yani arkadaşların noktası gibi diyebilirim

762
01:12:34,800 --> 01:12:40,720
uzatın. Ve bu parantezlerin içine eklemek istediğim listeyi aktarabilirim.

763
01:12:40,720 --> 01:12:47,200
arkadaş listesi. Yani şanslı sayılar gibi diyebilirim. Ve şimdi bu arkadaş listesinin çıktısını aldığımda,

764
01:12:47,200 --> 01:12:50,800
sadece arkadaş listesindeki tüm öğelere sahip olmakla kalmayacak, aynı zamanda tüm öğelere de sahip olacak

765
01:12:50,800 --> 01:12:55,760
Şanslı sayılar listesindeki öğeler. Aşağıda gördüğünüz gibi tüm arkadaşlarımız var.

766
01:12:55,760 --> 01:13:00,720
Ve burada da sayılarımız var. Yani bu aslında hoşlanmanın gerçekten kolay bir yolu,

767
01:13:00,720 --> 01:13:07,360
iki listeyi birbirine ekleyin. Ayrıca bir listeye tek tek öğeler de ekleyebiliriz. Böylece gelebildim

768
01:13:07,360 --> 01:13:14,960
burada aşağıda ve arkadaşların nokta eklemesi diyebilirim. Ve bu aslında başka bir öğe eklememe izin verecek

769
01:13:14,960 --> 01:13:20,720
bu listenin sonuna. Yani buraya başka bir isim ekleyebilirim. Yani inanç diyebiliriz çünkü

770
01:13:20,720 --> 01:13:25,680
Mesela şimdi bu listenin sonuna bir arkadaş daha ekliyorum. Yani programı çalıştırdığımda,

771
01:13:26,240 --> 01:13:31,760
Buradaki listede yer alan orijinal öğelerin yanı sıra bu da var

772
01:13:31,760 --> 01:13:36,960
sonunda ek öğe var ve bu ekleme işlevi her zaman öğeyi sonuna ekleyecek

773
01:13:36,960 --> 01:13:41,680
liste. Ancak diyelim ki listenin ortasına bir öğe eklemek istediniz. Yani doğru gibi

774
01:13:41,680 --> 01:13:49,360
burada veya tam burada, insert adı verilen başka bir liste işlevi var. Ve ekleme iki tane alacak

775
01:13:49,360 --> 01:13:54,560
parametreler. İlk parametre, öğeyi eklemek istediğiniz dizin olacaktır. Yani

776
01:13:54,560 --> 01:14:00,000
neden onu buraya indeks pozisyonu 1'e eklemiyoruz? Sadece bir tanesini söyleyeceğim. Ve sonra ben gidiyorum

777
01:14:00,000 --> 01:14:06,160
eklemek istediğim öğenin adını yazın. Yani Kelly gibi diyebiliriz. Ve şimdi indekste

778
01:14:06,160 --> 01:14:11,600
birinci konum, Kelly değerine sahip olacağız ve diğer tüm değerler elde edilecek

779
01:14:11,600 --> 01:14:18,240
yukarı itildiklerinde sağdaki indeks konumuna itilecekler. Şimdi programı çalıştırıyorum,

780
01:14:18,240 --> 01:14:23,600
gördüğünüz gibi elimizde Kevin var, bu yeni element Kelly ve sonra diğer tüm elementler itildi

781
01:14:23,600 --> 01:14:29,360
sağ tarafta öğeleri de kaldırabiliriz. Örneğin, bunu kaldırmak istediğimi varsayalım.

782
01:14:29,360 --> 01:14:36,480
spor salonu değeri, tek yapmam gereken arkadaşlar noktayı kaldır demek. Ve herhangi bir öğeyi yazabilirim

783
01:14:36,480 --> 01:14:42,080
Kaldırmak istiyorum. Bu yüzden bu spor salonu öğesini kaldırmak istiyorum. Ve şimdi programı çalıştırdığımızda,

784
01:14:42,080 --> 01:14:48,320
Jim listeden çıkacak ve elimizde sadece bu dört adam kaldı, siz de listeden kaldırabilirsiniz

785
01:14:48,320 --> 01:14:53,600
listedeki tüm öğeler. Yani eğer listeyi tamamen beğenmek ve sıfırlamak istersem

786
01:14:53,600 --> 01:14:59,040
Her şeyden kurtularak, arkadaşlara net bir şekilde söyleyebilirim. Ve bu bize boş bir liste verecek.

787
01:14:59,040 --> 01:15:04,400
Böylece listedeki her bir öğeden kurtulacak. Ayrıca gerçekten harika bir yöntem daha var.

788
01:15:04,400 --> 01:15:09,280
buna pop denir. Ve bu şekilde pop yazabilirsiniz. Ve temelde pops ne yapacak?

789
01:15:09,280 --> 01:15:14,880
bu listeden bir öğe çıkaracak mı? Oynat butonuna tıkladığımda burayı göreceksiniz

790
01:15:14,880 --> 01:15:22,640
elimizde Kevin, Karen, Jim ve Oscar kaldı. Yani aslında içerideki son elementten de kurtulduk

791
01:15:22,640 --> 01:15:27,680
liste. Pop'un yaptığı da budur; listeden bir öğeyi çıkarır. Yani temelde kaldırır

792
01:15:27,680 --> 01:15:33,440
listedeki son öğe. Yani elimizde bir liste var ama diyelim ki bir

793
01:15:33,440 --> 01:15:38,080
belirli bir öğe bu listedeydi, değil mi, eğer belirli bir değer buradaysa, diyelim ki istedim

794
01:15:38,080 --> 01:15:45,520
arkadaşım Kevin'in bu listede olup olmadığını kontrol etmek için arkadaşlar nokta dizini diyebilirim. Ve içinde

795
01:15:45,520 --> 01:15:53,520
burada sadece bir değer iletebilirim. Şöyle diyebilirim: Kevin ve bu bana endeksi söyleyecek

796
01:15:53,520 --> 01:15:58,960
Kevin'in. Böylece bana Kevin'in listede olup olmadığını söyleyecek. Artık oynat'a tıkladığımda burayı görebilirsiniz,

797
01:15:58,960 --> 01:16:05,920
sıfır diyor. Mesela burada Oscar gibi dersem şimdi bana Oscar'ın indeksini verecek.

798
01:16:05,920 --> 01:16:12,560
Yani bu üç. Ama burada olmayan bir ismi koyarsam, yani Mike'ı koyarsam, bu listede olmaz.

799
01:16:12,560 --> 01:16:18,560
liste. Şimdi yayına geri döneceğiz çünkü Mike'ın listede olmadığı söyleniyor. yani bu

800
01:16:18,560 --> 01:16:23,920
Belirli bir öğenin listenin içinde olup olmadığını anlamanın kolay bir yolu. Ve eğer öyleyse, o zaman biliyorsun

801
01:16:23,920 --> 01:16:29,840
hangi indekste olduğunu listedeki benzer öğelerin sayısını da sayabilirsiniz. Yani ben aslında

802
01:16:29,840 --> 01:16:36,160
buraya gelip bu spor salonu öğesini kopyalayacağız ve buraya başka bir spor salonu öğesi ekleyeceğiz. yani ben

803
01:16:36,160 --> 01:16:43,440
buraya gelebilir ve arkadaşların nokta saydığını söyleyebilirim. Ve spor salonundan geçeceğiz. Ve bu anlatacak

804
01:16:43,440 --> 01:16:50,640
Bu listede spor salonunun değeri kaç kez görünüyor? Yani iki demesi gerekiyor ki öyle de oluyor

805
01:16:50,640 --> 01:16:57,280
aşağıda çünkü text gym'de iki değerimiz var. Ve böylece tüm bu değerlere sahibiz;

806
01:16:57,280 --> 01:17:03,920
bu listeyi de sıralayın. Yani buraya gelebilirim ve arkadaşların nokta sıralaması diyebilirim. Ve bu ne

807
01:17:03,920 --> 01:17:10,320
listeyi artan düzende sıralayacaktır. Burada bir sürü metin var ve göreceksiniz

808
01:17:10,320 --> 01:17:14,800
ne yapar? Temel olarak yapacağı şey, onu alfabetik sıraya koymak olacaktır. Bu yüzden

809
01:17:14,800 --> 01:17:20,880
JK O ve T'nin elimizde olduğunu görebilirsiniz. Böylece liste, biz ne yaparsak yapalım rastgele bir sıralamadan çıktı.

810
01:17:20,880 --> 01:17:26,640
şu ana kadar alfabetik sıradaydı. Ve bu aynı zamanda şanslı sayılar için de işe yarayacak. yani ben

811
01:17:26,640 --> 01:17:34,320
Şanslı sayıların nokta sıralaması gibi diyebiliriz ve sonra şanslı sayıları yazdırırız. Ve bunlar gerekir

812
01:17:34,320 --> 01:17:40,080
şimdi artan sıradalar, ki onların zaten burada olduklarını fark ediyorum. Ama eğer bunu alacak olsaydım

813
01:17:40,080 --> 01:17:48,560
42 ve onu buraya koy, şimdi her şeyi anlayacak ve artan sıraya koyacaktır. Neyse, biz

814
01:17:48,560 --> 01:17:54,000
ayrıca bir listeyi tersine çevirebilir. Yani eğer isteseydim bu şanslı sayılar listesini tersine çevirebilirdim.

815
01:17:54,000 --> 01:18:00,640
Şanslı sayılar noktanın tersini gösterir. Ve şimdi bunu yazdırdığımızda 4815 1623 yerine,

816
01:18:00,640 --> 01:18:07,680
2316 15 842 olacak. Yani aslında listenin sırasının tersi. Ve nihayet,

817
01:18:07,680 --> 01:18:14,000
Size göstermek istediğim bir liste fonksiyonu daha var ki o da kopyadır. Yani aslında yaratabilirdim

818
01:18:14,000 --> 01:18:21,920
başka bir liste, ve bunu bir kopya olarak yapabilirim. Yani arkadaşlara şunu söyleyebilirim ve bunu ayarlayabiliriz

819
01:18:21,920 --> 01:18:29,680
arkadaşların nokta kopyasına eşittir. Ve şimdi arkadaşlar, arkadaşlarla aynı niteliklere sahip olacak.

820
01:18:30,720 --> 01:18:36,080
Çünkü temelde tıpkı kopyalanmış gibi, temelde arkadaş listesinin bir kopyasını aldı. Yani

821
01:18:36,080 --> 01:18:40,320
bunun tamamen aynı şey olduğunu görebilirsiniz ve listeleri kopyalamak birçok durumda kullanışlı olabilir.

822
01:18:40,320 --> 01:18:44,800
farklı durumlar. Yani bunlar sadece bazı temel liste fonksiyonları ve bir nevi,

823
01:18:44,800 --> 01:18:49,040
Bilirsiniz, ayaklarınızı ıslatın ve listelerle çalışın. Açıkçası, onlarla ne kadar çok çalışırsanız,

824
01:18:49,040 --> 01:18:52,880
Bu farklı işlevleri kullanarak ne kadar çok pratik yaparsanız o kadar rahat olursunuz.

825
01:18:52,880 --> 01:18:55,920
Ancak bu, yapabileceklerinize dair temel bir genel bakış gibidir.

826
01:18:55,920 --> 01:19:07,840
Bu derste sizinle Python'daki tuple'lar hakkında konuşmak istiyorum. Artık bir Tuple bir veri türüdür

827
01:19:07,840 --> 01:19:14,240
temel olarak farklı değerleri saklayabileceğimiz bir kap olduğu anlamına gelen yapı. Şimdi eğer

828
01:19:14,240 --> 01:19:21,520
Python'daki listelere alışık olduğumuzdan, tuple aslında listeye çok benzer. Bu temelde bir yapı

829
01:19:21,520 --> 01:19:29,040
birden fazla bilgiyi saklayabileceğimiz yer. Ancak bir demetin listelerden birkaç önemli farkı vardır

830
01:19:29,040 --> 01:19:33,760
Bu eğitimde bunun hakkında konuşacağız. Yapmak istediğim ilk şey sana göstermek istiyorum

831
01:19:33,760 --> 01:19:39,600
bir tuple nasıl oluşturulur. Yani buraya gelip bir Tuple oluşturabilirim. Ve en çok biri

832
01:19:40,640 --> 01:19:46,640
Tuple'ların yaygın örnekleri koordinatlardır. Diyelim ki bir dizi benzer XY koordinatım var.

833
01:19:46,640 --> 01:19:53,280
koordinat adı verilen bir değişken oluşturabilir. Ve bunu açık bir değere eşitleyeceğim ve

834
01:19:53,280 --> 01:19:58,880
kapalı parantez. Ve ne zaman Python'un içinde bir Tuple oluşturmak istersek şunu kullanacağız:

835
01:19:58,880 --> 01:20:03,680
bu açık ve kapalı parantezlerdir. Ve bu parantezlerin içinde şunu yapacağız:

836
01:20:03,680 --> 01:20:10,800
saklamak istediğimiz değerleri koyun. Örneğin sayıların bir listesini koyabilirim. Yani bu olabilir

837
01:20:10,800 --> 01:20:17,680
Koordinatlarım gibi olsaydı dört ve beş gibi bir şey elde edebilirdim. Yani bu benim koordinatları olan tuple'ım olurdu

838
01:20:17,680 --> 01:20:24,240
onun içinde. Ve demetleri benzersiz kılan şeylerden biri de demetlerin değişmez olmasıdır.

839
01:20:24,240 --> 01:20:28,720
Değişmez demetlerden bahsederken bu kelimeyi çok duyacaksınız, temelde şu anlama geliyor:

840
01:20:28,720 --> 01:20:35,600
tuple değiştirilemez veya değiştirilemez. Burada tuple'ımızı oluşturduğumuzda onu değiştiremezsiniz.

841
01:20:35,600 --> 01:20:40,960
onu değiştiremezsiniz, ona öğe ekleyemezsiniz, ondan öğeleri silemezsiniz, yapamazsınız.

842
01:20:40,960 --> 01:20:46,000
Tuple içindeki öğelerden herhangi birini değiştirin. Bir kez yarattığınızda ne görüyorsanız onu alırsınız.

843
01:20:46,000 --> 01:20:51,520
tuple, bu, olduğu gibi, değişemez. Böylece buraya gelip çıktı alabilirim

844
01:20:52,080 --> 01:20:59,680
tuple içindeki bazı özellikler. Ve onlara erişmemin yolu sadece açık bir ağ kullanmak.

845
01:20:59,680 --> 01:21:07,200
kapalı köşeli parantez. Ve buraya bir indeks girebilirim. Böylece tuple'lar sıfırdan başlayarak indekslenir.

846
01:21:07,200 --> 01:21:13,920
Yani teknik olarak, dördün indeks pozisyonunda olduğunu söyleyebiliriz ve üzgünüm, dördü indekste.

847
01:21:13,920 --> 01:21:20,320
sıfır konumu ve beş, dizin konumu birdedir. Yani eğer sıfır koordinatı dersem şimdi yazdırılması gerekir

848
01:21:20,320 --> 01:21:27,440
dört dışarı. Ve burada, dört tanesinin çıktısını alıyoruz. Eğer bu beşlinin çıktısını almak istersem,

849
01:21:27,440 --> 01:21:32,160
bu köşeli parantezlerin içine bir tane koyabiliriz. Şimdi bu beşin çıktısını alacağız. Yani yapabilirim

850
01:21:32,160 --> 01:21:39,680
Bir demet içindeki öğelere erişebildiğimde, her girişe kolayca erişebilirim. Ama eğer gelecek olsaydım

851
01:21:39,680 --> 01:21:46,560
buraya ve elemanlardan birini değiştirmeye çalışın, yani eğer koordinatlar ve koordinatlar bir tane dersem,

852
01:21:46,560 --> 01:21:52,640
ve bunu 10 gibi başka bir şeye eşitlemeye çalıştım, Python aslında bize

853
01:21:52,640 --> 01:21:56,800
Bu programı çalıştırdığımızda hata alıyoruz. Programı çalıştıracağım, görüyorsunuz ki şu hatayı alıyoruz, diyor ki:

854
01:21:57,600 --> 01:22:05,440
type error tuple nesnesi öğe atamasını desteklemiyor çünkü değişmez çünkü yapamıyoruz

855
01:22:05,440 --> 01:22:12,000
değiştir. Yani temelde bunları nasıl yaratabileceğimiz tuple'lardır. Ve bilirsin, bir tuple,

856
01:22:12,000 --> 01:22:16,800
Dediğim gibi, çok basit, sadece onu yaratıyorsunuz ve sonra ona sahip oluyorsunuz. Ve şimdi seninle konuşmak istiyorum

857
01:22:16,800 --> 01:22:23,520
Python'da ortak bir konu olan tuple'lar ve listeler arasındaki fark hakkında konuşuyoruz. Yani

858
01:22:23,520 --> 01:22:28,000
Unutmayın, bir liste temelde listeyle aynı şeyi yapar. Bir liste oluşturmak isteseydik,

859
01:22:28,000 --> 01:22:34,160
bu parantezlerin yerine köşeli parantezleri kullanın. Ve eğer bir liste kullanıyor olsaydım,

860
01:22:34,160 --> 01:22:39,680
farklı değerlere sahip olsaydım, ekleyebileceğim öğelerden herhangi birini temel olarak değiştirebilirdim, silebilirdim,

861
01:22:40,640 --> 01:22:46,480
listede ne istersem, değişikliği değiştir. Ancak Tuple ile bunu yapamayız. Ve bu

862
01:22:46,480 --> 01:22:51,920
bir nevi temel fark. Ve aslında Python bundan daha fazlasını söylemiyor. Temel olarak

863
01:22:51,920 --> 01:22:57,840
sadece bir tanesinin değişmez olduğunu ama bir tanesinin olmadığını söylüyor. Ancak pratik kullanım durumlarında genellikle

864
01:22:57,840 --> 01:23:04,080
insanlar hiçbir zaman değişmeyecek veriler için tuple'ları kullanacak. Yani verileri içinde saklayacaksınız

865
01:23:04,080 --> 01:23:09,680
Bu verinin mutasyona uğraması gerekmediğinde bir Tuple. Bu yüzden koordinatlar gibi bir şey

866
01:23:09,680 --> 01:23:14,400
bir demet için çok iyi bir adaydır, çünkü koordinatlara sahip olduğunuzda muhtemelen

867
01:23:14,400 --> 01:23:19,440
onları değiştirmeyeceğiz, değil mi, başka koordinatlar da ekleyebiliriz. Örneğin, eğer istersem,

868
01:23:19,440 --> 01:23:27,840
Bir tuple listesi oluşturabilirim. Yani 4567 gibi diyebilirim, belki başka koordinatlarımız da vardır,

869
01:23:27,840 --> 01:23:35,440
8034 gibi. İşte burada bir listem var ve onun içinde bu demetler var.

870
01:23:36,800 --> 01:23:42,080
Ancak unutmayın, bu tuple'lar değiştirilemez, değerler değiştirilemez. Yani aslında bu sadece bir

871
01:23:42,080 --> 01:23:47,840
Durum bazında, büyük bir çoğunlukla, çoğu zaman listeleri kullanacağınızı söyleyebilirim.

872
01:23:48,800 --> 01:23:55,280
Tuple'lar daha çok niş bir alan, biliyorsun, daha özel durumları kullanıyorlar. Ama var

873
01:23:55,280 --> 01:23:59,040
Tuple'ları kullanmak istediğiniz birçok durum. Yani depolamak istediğiniz bir durumdaysanız

874
01:23:59,040 --> 01:24:04,960
değiştirilemeyen veya değiştirilemeyen veriler varsa, tuple'lar gidilecek yoldur. Yani evet, bunlar sadece bazı temel bilgiler

875
01:24:04,960 --> 01:24:10,480
demetler hakkında, listeler ve demetler arasındaki farklarla ilgili bazı temel bilgiler. Ve böylece bir demet bir

876
01:24:10,480 --> 01:24:20,560
Python repertuarınıza eklemek için harika bir şey. Bu eğitimde sizinle şunu konuşmak istiyorum:

877
01:24:20,560 --> 01:24:27,120
Python'daki işlevleri kullanma. Artık bir işlev temelde yalnızca bir kod koleksiyonudur,

878
01:24:27,120 --> 01:24:33,120
belirli bir görevi yerine getiren. Böylece temelde şunu yapan bir sürü kod satırı alabilirim:

879
01:24:33,120 --> 01:24:39,200
bir şey, onları bir fonksiyonun içine koyabilirim. Ve sonra o görevi yapmak veya bunu yapmak istediğimde

880
01:24:39,200 --> 01:24:45,200
Fonksiyonun yaptığı tek şey, fonksiyonu çağırabilirim. Ve böylece gerçekten çalışır

881
01:24:45,200 --> 01:24:50,080
kodunuzu çok daha iyi organize etmenize yardımcı olur, kodunuzu bir nevi parçalara ayırmanıza olanak tanır

882
01:24:50,080 --> 01:24:54,560
farklı, bilirsiniz, farklı şeyler yapan küçük parçalar. Ve onlar gerçekten harikalar.

883
01:24:54,560 --> 01:25:00,400
Yani Python'da programlamadan bahsederken işlevler çok temel bir kavramdır. yani ben

884
01:25:00,400 --> 01:25:05,040
Bugün size harika bir fonksiyonun nasıl oluşturulacağını göstereceğim. Diyelim ki amaçlar için

885
01:25:05,040 --> 01:25:11,440
Bu eğitimde kullanıcıya merhaba diyen bir fonksiyon oluşturmak istiyoruz. Yani bizim tek görevimiz

886
01:25:11,440 --> 01:25:17,040
işlevin gerçekleştirdiği, temelde programı yazan kişiye sadece merhaba demekten ibarettir. Yani burada,

887
01:25:17,920 --> 01:25:22,800
Eğer bir fonksiyon yazmak istersem kullanmam gereken ilk şey Python'da bir anahtar kelimedir.

888
01:25:22,800 --> 01:25:29,680
buna ölüm denir. Yani D E F. Ve temel olarak Python bu anahtar kelimeyi gördüğünde şöyle diyecek:

889
01:25:29,680 --> 01:25:36,640
tamam, bu kişi bir işlevi kullanmak istiyor. Yani ölümü yazdıktan sonra bunu vermemiz gerekiyor.

890
01:25:36,640 --> 01:25:43,200
bir isim işlevi görür. Tıpkı değişkenleri yaratırken onlara açıklayıcı adlar verdiğimiz gibi,

891
01:25:43,200 --> 01:25:49,200
aynı şeyi işlevlerle de yapmak istiyoruz. Yani eğer bir fonksiyon yaratıyorsam, şunu verebilirim:

892
01:25:49,200 --> 01:25:53,760
temelde ne yaptığını anlatan belirli bir isim. Yani bir fonksiyon yaratacağız

893
01:25:53,760 --> 01:26:00,720
bu merhaba diyor. Bu fonksiyonu çağıracağım, merhaba diyeceğim, aynen böyle. Ve bir kez yazdığımızda

894
01:26:00,720 --> 01:26:06,720
fonksiyonun adını yazabilirim, böylece alt çizgi olmadan merhaba diyebilir veya yazabilirim

895
01:26:06,720 --> 01:26:13,120
alt çizgiyle merhaba deyin, her ikisi de Python'daki iyi uygulamalar olarak kabul edilir. Pek çok kez,

896
01:26:13,120 --> 01:26:17,600
eğer bunun gibi iki kelimelik basit bir fonksiyonunuz varsa, alt çizgi koymanıza gerek yoktur,

897
01:26:17,600 --> 01:26:22,080
ama oraya bir alt çizgi koyabiliriz. İstesek fonksiyonun adını yazdıktan sonra;

898
01:26:22,080 --> 01:26:28,160
Sadece aç ve kapat parantezlerini yazacağım. Ve sonra iki nokta üst üste yazacağım. Ve temel olarak,

899
01:26:28,160 --> 01:26:34,640
bunun yaptığı şey Python'a bu satırdan sonra gelen tüm kodları söylemektir

900
01:26:34,640 --> 01:26:41,280
fonksiyonumuzun içinde olacak. Ve sonunda olacak olan kodu yazmak için

901
01:26:41,280 --> 01:26:47,120
fonksiyonun içinde aslında onu girintilememiz gerekiyor. Burada, tıkladığımda fark edeceksiniz

902
01:26:47,120 --> 01:26:54,240
girin, metin editörüm otomatik olarak metni girintili hale getirdi. Yani otomatik olarak bu girintiyi kullanmak gibi

903
01:26:54,240 --> 01:26:59,920
burada. Ve bu Python'daki kurallardan birine benziyor, içine giren kod gibi.

904
01:26:59,920 --> 01:27:06,640
bu işlevin girintili olması gerekir. Yani eğer buradaki gibi bir kod yazacak olsaydım, bu artık

905
01:27:06,640 --> 01:27:11,040
fonksiyon içerisinde değerlendirilecektir. Kodu yazarken görebilirsiniz ve açıkçası,

906
01:27:11,040 --> 01:27:17,120
bu gerçek kod değil, ama buraya metin yazarken girintili, bu küçük işaretçi gibi

907
01:27:17,120 --> 01:27:22,560
burada temelde şunu söylemek istiyorum: Ah evet, bu fonksiyonun içinde. Ama sonra kod yazdığımda

908
01:27:22,560 --> 01:27:28,560
buradaki, bu şeyle aynı girinti seviyesinde değil, artık dikkate alınmıyor

909
01:27:28,560 --> 01:27:33,600
fonksiyonun içinde. Yani bu sadece küçük bir şey. Bu işlevin içindeki herhangi bir kodun olması gerekir

910
01:27:33,600 --> 01:27:39,360
girintili. Pekala, fonksiyonumuz kullanıcıya sadece merhaba diyecek. Bu yüzden sadece onu alacağım

911
01:27:39,360 --> 01:27:47,440
Bir metin yazdır, sana merhaba diyecek kullanıcı. Yani bu çok basit bir fonksiyon. Açıkçası,

912
01:27:47,440 --> 01:27:51,600
elimizde sadece bir satır kod var ve bir fonksiyonun içinde, bildiğiniz kadar çok satır olabilir.

913
01:27:51,600 --> 01:27:56,880
İstediğiniz gibi kod. Ancak amacımız doğrultusunda, fonksiyonumuzu yerine getirmek için yalnızca bir satıra ihtiyacımız var.

914
01:27:57,440 --> 01:28:03,680
Şimdi tek yapmamız gereken bu fonksiyonu çağırmak. Yani eğer bunun içindeki kodu çalıştırmak istersem

915
01:28:03,680 --> 01:28:09,440
işlevi, onu çağırmak denilen bir şey yapmam gerekiyor. Yani eğer programımı olduğu gibi çalıştırsaydım

916
01:28:09,440 --> 01:28:15,760
Şu anda onu çalıştıracağım, burada hiçbir şeyin olmadığını göreceksin, değil mi? Yine de

917
01:28:15,760 --> 01:28:21,200
bu fonksiyon merhaba kullanıcıya çıktı veriyor, programı çalıştırdığımda bunu yapmıyor. Ve bu

918
01:28:21,200 --> 01:28:27,200
çünkü bir fonksiyonun içindeki kod varsayılan olarak çalıştırılmayacaktır. İçindeki kod

919
01:28:27,200 --> 01:28:32,640
Bir işlev yalnızca onu yürütmek istediğimizi belirttiğimizde yürütülür. Ve sırayla

920
01:28:32,640 --> 01:28:36,640
bunu yapmak için işlevi çağırmak adı verilen bir şey yapmamız gerekecek. Yani aramak için

921
01:28:36,640 --> 01:28:41,760
İşlev, temel olarak yalnızca işlevin adını ve açma ve kapama parantezlerini yazarsınız.

922
01:28:41,760 --> 01:28:48,560
Bu yüzden sadece merhaba diyeceğim ve parantezleri açıp kapatacağım. Ve şimdi bunu çalıştırdığımızda

923
01:28:48,560 --> 01:28:54,720
programı tekrar çalıştırdığınızda merhaba kullanıcı çıktısını göreceksiniz. Yani kodun içindeki kodu çalıştırıyoruz.

924
01:28:54,720 --> 01:28:59,760
işlev. Ve size burada bir şey daha göstermek istiyorum, sizinle bunun hakkında konuşuyorum.

925
01:28:59,760 --> 01:29:05,680
bu işlevlerin gerçekte nasıl çalıştığını. Yani burada, üstte baskı yapacağım. Ve sonra buradayım, ben

926
01:29:05,680 --> 01:29:12,320
altını yazdıracağım. Bu yüzden size program içindeki bu fonksiyonların akışını göstermek istiyorum. Yani

927
01:29:12,320 --> 01:29:20,160
Bu programı çalıştırdığımda, üst merhaba kullanıcısını ve ardından alttakini yazdırdığımızı göreceksiniz. Yani esasen,

928
01:29:20,160 --> 01:29:25,920
olan şu ki, Python bu programı çalıştırıp çalıştırdığında, program buraya gidiyor

929
01:29:25,920 --> 01:29:31,360
bu ilk satırda diyor ki, tamam, üst kelimesini yazdırmak istiyoruz. Ve sonra buraya iner ve

930
01:29:31,360 --> 01:29:38,240
Tamam, merhaba de işlevini yürütmek istiyoruz diyor. Yani Python aslında ayağa fırlıyor ve gidiyor

931
01:29:38,240 --> 01:29:44,240
bu merhaba fonksiyonuna geçelim ve bu fonksiyonun içindeki tüm kodları çalıştıracaktır.

932
01:29:44,240 --> 01:29:49,440
Yani tüm bu kodun yürütülmesinden geçecek. Ve sonra tüm kodun yürütülmesi bittiğinde

933
01:29:49,440 --> 01:29:53,840
fonksiyonda buraya geri atlayacak ve bir sonraki satıra geçecek,

934
01:29:53,840 --> 01:29:58,800
hangisi altta. Yani bu bir nevi fonksiyonların akışına benziyor. Yine genel olarak işlevlerle birlikte,

935
01:29:58,800 --> 01:30:06,000
bu işlevleri adlandırırken, adlarının tamamının küçük harfle yazılmasını istiyorsunuz. Ve genellikle

936
01:30:06,000 --> 01:30:11,200
Python'da bir şeyleri adlandırırken iki veya daha fazla kelime varsa alt boşluk kullanacağız

937
01:30:11,200 --> 01:30:17,280
veya aralarında bir alt çizgi. Yani bunu alt çizgi yüksek diye yazabilirim. Ama pek çok yerde

938
01:30:17,280 --> 01:30:21,760
Ancak bazı durumlarda adın çok kısa olduğu buna benzer bir işlevim varsa,

939
01:30:21,760 --> 01:30:25,280
alt çizgi olmadan bırakmak daha kolay olur ama neden buraya bir alt çizgi koymuyoruz?

940
01:30:25,280 --> 01:30:32,960
süper bir Python yetkilisi olmak. Pekala, şimdi bu fonksiyonları biraz daha yapabiliriz

941
01:30:32,960 --> 01:30:38,560
daha güçlü. Ve yapabileceğimiz şey onlara bilgi vermektir. Pek çok kez yazdığımızda

942
01:30:38,560 --> 01:30:44,320
bir fonksiyon, aktarılan ek bilgilere sahip olmak isteyeceğiz. Bunlar

943
01:30:44,320 --> 01:30:52,080
parametreler denir. Yani parametre, fonksiyona verdiğimiz bir bilgi parçasıdır. yani bitti

944
01:30:52,080 --> 01:30:57,600
Burada aslında bu fonksiyonun bazı parametreleri alması gerektiğini belirtebilirim. Yani temelde yapabilirim

945
01:30:57,600 --> 01:31:02,240
şöyle deyin: Hey, eğer bu fonksiyonu çağıracaksan, bize biraz bilgi vermen gerekiyor,

946
01:31:02,240 --> 01:31:06,800
bize bazı parametreler vermeniz gerekiyor. Ve bunun için tek yapmam gereken sadece adını yazmak

947
01:31:06,800 --> 01:31:13,600
Almak istediğim parametrenin Peki neden bu işlevi çağıran kodun çalışmasına izin vermiyoruz?

948
01:31:13,600 --> 01:31:19,680
ona hangi isimle merhaba diyeceğini söyle, sadece ismini söyleyebilirim. Ve temel olarak bunun anlamı şu:

949
01:31:19,680 --> 01:31:26,000
bu, merhaba de işlevini çağırdığımda ona bir isim vermemiz gerektiği anlamına gelir. Yani burada, eğer arayacak olsaydım

950
01:31:26,000 --> 01:31:31,920
buraya bir isim eklemem gerekiyor. Yani şöyle diyebilirim Mike ve şimdi yapabileceğimiz şey şu:

951
01:31:31,920 --> 01:31:38,720
aslında fonksiyonumuzun içindeki bu parametreye veya bu değişkene erişin. Böylece buraya gelebilirdim

952
01:31:38,720 --> 01:31:45,200
ve merhaba kullanıcıya demek yerine merhaba adını söyleyebilirim. Ve temel olarak bunun yapacağı şey şu:

953
01:31:45,200 --> 01:31:51,120
burada geçen isim her ne ise ona merhaba diyecek. Yani aslında bunu kopyalayacağım

954
01:31:51,120 --> 01:31:59,760
ve bunu iki kez yapacağız. O yüzden merhaba diyeceğim Mike merhaba Steve. Ve şimdi bu programı çalıştırdığımda,

955
01:31:59,760 --> 01:32:06,080
göreceksiniz ki sadece kullanıcıya merhaba demek yerine, hangi ismi geçtiysem ona merhaba diyor

956
01:32:06,080 --> 01:32:10,640
fonksiyonun içine girin. İşte bu yüzden bu gerçekten faydalı olabilir, değil mi? Fonksiyonu verebiliriz

957
01:32:10,640 --> 01:32:15,440
bilgi ve ona verdiğimiz bilgiye bağlı olarak görevini biraz yerine getirecek

958
01:32:15,440 --> 01:32:20,800
farklı. Birden fazla parametre de dahil edebilirim. Yani teknik olarak yapabilirsin

959
01:32:20,800 --> 01:32:25,360
istediğiniz kadar parametreye sahip olabilirsiniz. Yani buraya bir tane daha koyabilirim, yaş diyebiliriz.

960
01:32:25,360 --> 01:32:31,840
Artık ben de bunlarla birlikte bir çağdan geçmek zorunda kalacağım. Bu yüzden yaşımı geçeceğim ve

961
01:32:31,840 --> 01:32:40,400
Burada bir çağ geçiyor. Ve ben sadece dizeleri aktaracağım. Böylece merhaba ismi söyleyebiliriz.

962
01:32:43,280 --> 01:32:50,560
Sen yaşındasın. Bu yüzden iki bilgi aktarıyorum. Ve şimdi bu programı çalıştırdığımızda,

963
01:32:50,560 --> 01:32:54,960
işlevi çağıracak. Ve bu iki bilgi parçasını da kullanacak. yani ben

964
01:32:54,960 --> 01:33:02,640
merhaba de Mike, 35 yaşındasın. Merhaba Steve, 70 yaşındasın. Yani aslında bu tek satırı yazıyoruz

965
01:33:02,640 --> 01:33:08,720
birine merhaba der gibi basılan kod. Ve bu fonksiyonun almasına izin veriyoruz

966
01:33:08,720 --> 01:33:13,920
iki parametre. Yani isim ve yaş, isme ve yaşa bağlı olarak işlevin işlevi

967
01:33:13,920 --> 01:33:19,600
Merhabayı biraz farklı bir şekilde yazdıracağım. İşlev kullanmanın güzelliği de bu.

968
01:33:19,600 --> 01:33:26,080
Böylece istediğiniz her şeyi bir fonksiyona aktarabilirsiniz. Örneğin bunun yerine bir tam sayı girebilirim

969
01:33:26,080 --> 01:33:31,200
yaşa uygun bir dize. Sayıyı aktarabileceğim gibi, tek fark burada,

970
01:33:31,200 --> 01:33:37,760
bunu bir dizeye dönüştürmemiz gerekecek. Ama yine de işe yarayacak. Yani sen

971
01:33:37,760 --> 01:33:46,080
dizeleri, sayıları, külçeleri, dizileri aktarabilirsiniz; gerçekten her tür veriyi bir

972
01:33:46,080 --> 01:33:50,800
işlevi. Ve işe yarayacak. Burada da gördüğünüz gibi aynı sonucu elde ediyoruz. Yani temel bilgiler bu

973
01:33:50,800 --> 01:33:56,480
işlevler. Python'u kullanmaya başladıkça fonksiyonları giderek daha fazla kullanmaya başlayacaksınız.

974
01:33:56,480 --> 01:34:01,680
Ve genel olarak kodunuzu farklı işlevlere bölmek iyi bir fikirdir. Yani ne zaman istersen

975
01:34:01,680 --> 01:34:07,600
Belirli bir görevi gerçekleştirmek için tasarlanmış bir kod grubuna sahipseniz, bu genellikle iyi bir şeydir.

976
01:34:07,600 --> 01:34:16,000
Bir fonksiyonun içine yerleştirilecek aday. Bu eğitimde sizinle şunu konuşmak istiyorum:

977
01:34:16,000 --> 01:34:23,200
Python fonksiyonlarında return deyimini kullanma. Artık Python işlevi temelde yalnızca bir koleksiyondur

978
01:34:23,200 --> 01:34:29,920
Belirli bir görevi gerçekleştiren Python kodunun. Ve bu görevi Python'umuzda gerçekleştirmek istediğimizde

979
01:34:29,920 --> 01:34:36,080
programlarda bir Python işlevi çağırabiliriz. Ve çoğu zaman bir Python fonksiyonunu çağırdığımızda,

980
01:34:36,080 --> 01:34:41,120
biz onu bir nevi çağırıyoruz ve o da işini yapıyor. Daha sonra programa devam ediyoruz. Ama bazen

981
01:34:41,120 --> 01:34:47,280
Bir fonksiyonu çağırdığımızda aslında o fonksiyondan bilgi almak isteyeceğiz.

982
01:34:47,280 --> 01:34:52,160
Yani fonksiyonu çağırdığımda, temelde görevini yürütmesini istiyorum, tüm işlemleri yürütmesini istiyorum.

983
01:34:52,160 --> 01:34:57,040
kod. Ve sonra bana biraz bilgi vermesini istiyorum. Yani bu belirli bir şey olabilir

984
01:34:57,040 --> 01:35:02,560
değer, bana görevin nasıl gittiğini anlatmak gibi bir şey olabilir. Temel olarak, fonksiyon sadece

985
01:35:02,560 --> 01:35:07,840
bize şu şekilde iletişim kurun: Hey, işte bazı bilgiler. Ve return anahtar sözcüğü de budur

986
01:35:07,840 --> 01:35:14,000
return anahtar sözcüğünü yapmamıza izin verebilir temel olarak Python'un bilgi döndürmesine izin verebilir

987
01:35:14,000 --> 01:35:19,760
bir fonksiyondan. Şimdi size bunu nasıl yapabileceğimizi göstereceğim, çok basit bir şey yaratmak istiyorum.

988
01:35:19,760 --> 01:35:25,680
işlev. Ve bu sadece bir sayının küpünü alacak. Yani bir sayının küpünü aldığımızda bunun üssünü alırız

989
01:35:25,680 --> 01:35:31,600
üç. Yani eğer iki gibi küp yapacak olsaydım, ikinin üç üssü gibi olurdu.

990
01:35:31,600 --> 01:35:36,640
Doğru, oldukça basit bir matematik. Yani bir sayının küpünü alacak bir fonksiyon yapacağız.

991
01:35:36,640 --> 01:35:41,520
Ve size bu return ifadesini nasıl kullanabileceğimizi göstereceğim. Yani yapmak istediğimiz ilk şey

992
01:35:41,520 --> 01:35:48,000
bir fonksiyon, sadece ölüm küpü diyeceğim, fonksiyon küpünü çağıracağız. Ve burada,

993
01:35:48,000 --> 01:35:54,240
bu fonksiyonun alacağı herhangi bir parametreyi belirtebiliriz. Yani temel olarak istediğimiz herhangi bir değer

994
01:35:54,240 --> 01:35:58,560
Bu işlevi vermek için. Yani ona sadece bir sayı olacak bir fonksiyon vereceğiz.

995
01:35:58,560 --> 01:36:03,360
Bu yüzden ona num diyeceğim. Ve sonra buraya iki nokta üst üste yazacağım.

996
01:36:03,360 --> 01:36:09,600
Daha sonra buraya, bu fonksiyona dahil edilmesini istediğimiz herhangi bir kodu koyabiliriz.

997
01:36:09,600 --> 01:36:15,040
Yani temel olarak bu fonksiyon bu sayının küpünü alacak. Yani sadece sayı yazabiliriz,

998
01:36:15,040 --> 01:36:22,960
çarpı sayı, çarpı sayı. Doğru, bu bize sayının küpünü verecek. Yani her şey yolunda ve güzel. Ve

999
01:36:22,960 --> 01:36:28,480
Eğer buraya gelirsem bu işlevi yerine getirebilirim. Yani temelde buna sadece küp diyebilirim.

1000
01:36:28,480 --> 01:36:34,000
Peki neden üçe geçmiyoruz? Bu yüzden devam edip üçe aktaracağım. Ve ben gidiyorum

1001
01:36:34,000 --> 01:36:43,760
Bunu kaydetmek için. Şimdi devam edelim ve bu kodu çalıştıralım. Yani kod üzerindeyiz. Ve aşağıyı göreceksin

1002
01:36:43,760 --> 01:36:50,800
burada hiçbir şey olmadı, değil mi? Yani programımızda hiçbir şey yazdırılmadı. Aslında aradığımızda

1003
01:36:50,800 --> 01:36:56,160
Bu küp işlevi aslında hiçbir işe yaramadı. Bunu yazdırmayı deneyeyim. Yani belki eğer

1004
01:36:56,160 --> 01:37:01,920
Bu fonksiyonun çıktısını alırsak, bize istediğimiz bilgiyi geri verecektir. Öyleyse yazdırın,

1005
01:37:01,920 --> 01:37:06,880
ve fonksiyonun değerini yazdıracağız, sadece oynat'a tıklayacağım. Buraya bakıyorsun,

1006
01:37:06,880 --> 01:37:14,320
hiçbiri diyor. Bu fonksiyonun değerini yazdırdığımda bana hiçbir şey söylemedi. Ama gerçekten

1007
01:37:14,320 --> 01:37:19,840
bu fonksiyonun sayının küpünü alması gerekiyor. İşte return ifadesini nasıl kullanabileceğimiz

1008
01:37:19,840 --> 01:37:26,240
Python'da. Buraya gelebilirim ve sadece geri dön diyebilirim. Ve şimdi Python geri dönecek

1009
01:37:26,240 --> 01:37:32,160
Buraya sağ tarafa koyduğumuz değer ne olursa olsun. Yani bu küp fonksiyonunu çağırdığımda ve ona bir

1010
01:37:32,160 --> 01:37:37,600
üç, Python kapanacak, bu işlevi yürütecek. Bu dönüşü gördüğünde

1011
01:37:37,600 --> 01:37:43,600
ifadesi, şunu söyleyecektir, tamam, bu işlevin çağrılmasına karşılık olarak bir değer vermek istiyorum.

1012
01:37:43,600 --> 01:37:50,960
Ve bu değeri döndürecek. Şimdi üçüncü küpün çıktısını aldığımda,

1013
01:37:50,960 --> 01:37:58,080
cevap ver çünkü bir cevap alıyoruz. Yani bunu oynadığımda burada 27 yazdığını göreceksiniz.

1014
01:37:58,080 --> 01:38:02,560
doğru cevabı aldık. Yani bunu her şeyle yapabilirim, neden dört veya

1015
01:38:02,560 --> 01:38:09,040
bir şey mi? Artık bu işin üzerindeyiz. Ve sürekli olarak doğru cevabı aldığımızı görebilirsiniz.

1016
01:38:09,040 --> 01:38:15,120
Bu return deyimini kullanmanın temelleri budur; bir değeri geri döndürmemize olanak tanır.

1017
01:38:15,120 --> 01:38:20,000
arayan. Başka bir deyişle, işlevi çağıran şeye geri dönelim. Bu yüzden sadece bunu göstermek istiyorum

1018
01:38:20,000 --> 01:38:23,920
Biraz daha ileriye gelin, buraya geleceğim, aslında bir değişken yaratacağım.

1019
01:38:23,920 --> 01:38:30,400
Sonuç adında bir değişken yaratacağım. Ve bunu küp dört'e eşitleyeceğim.

1020
01:38:30,400 --> 01:38:37,760
Bu değişken sonuç, küp işlevinden döndürülen değeri saklayacak. Yani bu

1021
01:38:37,760 --> 01:38:43,040
küp dört gibi saklanmayacak, yürütmeden döndürülen değeri saklayacak

1022
01:38:43,040 --> 01:38:47,840
bu işlev. Şimdi buraya gelip sonucu yazdırırsam, aslında

1023
01:38:47,840 --> 01:38:53,120
Tekrar 64'ü yazdırın, çünkü sakladığı değer budur. Yani bu return ifadesi şöyle olabilir:

1024
01:38:53,120 --> 01:38:58,320
Bir işlevden bilgi almak gibi konularda gerçekten yararlı olduğundan, şunun gibi bir şey kullanabiliriz:

1025
01:38:58,320 --> 01:39:03,920
parametre olarak bu dörtlüyü parametre olarak kullanabiliriz ve bir fonksiyona bilgi verebiliriz. Ve sonra biz

1026
01:39:03,920 --> 01:39:09,920
Bir işlevden bilgi almak için return ifadesini kullanabiliriz. Ve sadece şunu belirtmek istiyorum

1027
01:39:09,920 --> 01:39:16,160
bir şey daha var, aslında bu return ifadesinden sonra herhangi bir kod koyamıyorum. Yani eğer ben

1028
01:39:16,160 --> 01:39:21,760
buraya gelip basılı bir beyanda bulunmaya çalıştım, bu aslında işe yaramayacak. Yani bu

1029
01:39:21,760 --> 01:39:27,680
hiçbir zaman çıktısı alınmayacak. Yani, bu programı çalıştırdığımızda buraya benzer bir kod yazarsam,

1030
01:39:27,680 --> 01:39:35,280
kod yazmayacak. Bunun nedeni, bu return anahtar sözcüğünü kullandığımda bizi kırmasıdır

1031
01:39:35,280 --> 01:39:40,080
işlevin. Yani Python devam edecek, fonksiyondaki kodu çalıştıracak,

1032
01:39:40,080 --> 01:39:44,800
ne zaman bu return anahtar sözcüğünü görse, geri dönecek ve biz de

1033
01:39:44,800 --> 01:39:50,960
Tamamlandı. Yani bu kod satırına asla ulaşamayacağız. İşte return kullanmanın temelleri

1034
01:39:50,960 --> 01:39:56,320
ifadeler. Ve istediğiniz herhangi bir veri türünü döndürebilirsiniz, kolayca bir dize veya a gibi döndürebiliriz.

1035
01:39:56,320 --> 01:40:01,840
Boolean veya bir dizi, gerçekten önemli değil, ne istersen onu döndürebilirsin. Ve birçok kez

1036
01:40:01,840 --> 01:40:05,440
Çoğu durumda, bir işlevden bir değer geri almak isteyeceksiniz.

1037
01:40:09,440 --> 01:40:15,360
Bu derste sizlerle Python'da if ifadelerinin kullanımı hakkında konuşmak istiyorum. Şimdi eğer ifadeler

1038
01:40:15,360 --> 01:40:22,400
Python'da programlarımızın karar vermesine gerçekten yardımcı olabileceğimiz özel bir yapıdır. Yani

1039
01:40:22,400 --> 01:40:28,080
if ifadesini kullanarak, belirli koşullar doğru olduğunda belirli kodları çalıştırabilirim. Ve yapabilirim

1040
01:40:28,080 --> 01:40:34,320
diğer koşullar doğru olduğunda diğer kodu yürütün. Yani temel olarak ifadeler programlarımızın şunları yapmasına izin veriyorsa

1041
01:40:34,320 --> 01:40:40,800
kendilerine verilen girdiye yanıt verirler. Programda kullandığımız verilere bağlı olarak,

1042
01:40:40,800 --> 01:40:46,080
programlarımız yanıt verebilecektir. Yani belirli veriler belirli değerler olduğunda, belirli işlemleri yapabiliriz.

1043
01:40:46,080 --> 01:40:51,280
şeyler. Ve diğer veriler başka değerler olduğunda başka şeyler yapabiliriz. Yani biliyorsunuz, programlarınız

1044
01:40:51,280 --> 01:40:57,680
aslında çok daha akıllı hale geliyorlar. Ve aslında, eğer ifadeler biz insanlar olarak

1045
01:40:57,680 --> 01:41:02,640
her gün uğraş. Biliyorsunuz, gün boyunca genel olarak şu sorunlarla uğraşırsınız:

1046
01:41:02,640 --> 01:41:07,120
sürekli açıklamalar yapılıyor. Bu yüzden size if ifadelerine kısa bir giriş yapmak istiyorum.

1047
01:41:07,120 --> 01:41:11,040
ve günlük hayatta göreceğiniz bazı yaygın if ifadeleri hakkında konuşacağız.

1048
01:41:11,040 --> 01:41:15,760
Ve sonra devam edeceğiz ve size nasıl olacağını göstermek için gerçekten harika bir örnek yapacağız.

1049
01:41:15,760 --> 01:41:21,280
ifadeler işimize yarayabilir. Burada, metin düzenleyicimde bu küçük metin dosyası var.

1050
01:41:21,280 --> 01:41:27,040
Ve burada, birçok insanın günlük hayatta karşılaşacağı bir sürü if ifadesi yazdım.

1051
01:41:27,040 --> 01:41:34,560
temel. İşte ilki, uyanırım, açsam kahvaltı yaparım diyor. O halde hadi kıralım

1052
01:41:34,560 --> 01:41:40,560
bu biraz yukarıda, aç olup olmadığım yazıyor. Bu da bir koşul, değil mi? Bu

1053
01:41:40,560 --> 01:41:46,960
Ya doğru olacak ya da yanlış olacak, değil mi? Eğer bu doğruysa, devam edeceğim ve

1054
01:41:46,960 --> 01:41:53,440
kahvaltı yap, değil mi? Eğer bu yanlışsa, buradaki her şeyi atlayıp yoluma devam edeceğim.

1055
01:41:53,440 --> 01:41:58,080
değil mi? Yani bu bir if ifadesinin temelidir, değil mi? Bu durumda bir şartımız var:

1056
01:41:58,080 --> 01:42:04,240
aç, eğer koşul doğruysa o zaman eylemi yaparız. Bu yüzden kahvaltı yapıyoruz. Aksi takdirde,

1057
01:42:04,240 --> 01:42:11,280
sadece atlıyoruz. Burada da bir tane daha var, evimden çıkıyorum diyor. Hava bulutluysa

1058
01:42:11,920 --> 01:42:18,160
Bir şemsiye getiriyorum. Aksi takdirde güneş gözlüğü getiririm. Ve bu, bundan biraz daha karmaşık

1059
01:42:18,160 --> 01:42:22,480
az önce baktığımız kişi. Göreceksiniz bizim durumumuzda var, değil mi? Havanın bulutlu olup olmadığı yazıyor

1060
01:42:23,200 --> 01:42:28,720
eğer bu şart doğruysa şemsiyeyi getireceğiz. Ancak bu durumda, eğer koşul

1061
01:42:28,720 --> 01:42:34,160
false, yapmak istediğimiz başka bir şey var. Yani buradaki durumda, eğer bu durum

1062
01:42:34,160 --> 01:42:39,680
yanlış, daha yeni yola çıktık. Ama şimdi eğer bu koşul yanlışsa o zaman devam edeceğiz ve şunu getireceğiz:

1063
01:42:39,680 --> 01:42:44,960
güneş gözlüğü. Bu da if ifadesinin başka bir örneği, biraz daha karmaşık.

1064
01:42:44,960 --> 01:42:49,360
Son olarak burada bir tane daha var ve bu daha da karmaşık, bir restoranda olduğumu söylüyor.

1065
01:42:50,000 --> 01:42:56,720
Et istersem biftek sipariş ederim. Yani bu koşul doğruysa bifteği sipariş ederiz. Ama eğer bu

1066
01:42:56,720 --> 01:43:02,000
koşul yanlışsa, devam edeceğiz ve aslında başka bir koşulu kontrol edeceğiz.

1067
01:43:02,000 --> 01:43:08,080
Yani aksini söyleyeceğim, eğer makarna istersem spagetti ve köfte sipariş ederim. Bu başka bir şey

1068
01:43:08,080 --> 01:43:14,160
durum. Bu koşul doğruysa spagettiyi alırız. Eğer bu doğru değilse, o zaman son olarak,

1069
01:43:14,160 --> 01:43:20,160
aşağıya doğru ilerleyeceğiz ve varsayılan olarak salata siparişini vereceğiz. Yani üçü de

1070
01:43:20,160 --> 01:43:25,840
bu if ifadeleri geçerlidir if ifadeleri, ancak aşağıya indikçe daha karmaşık hale gelirler

1071
01:43:25,840 --> 01:43:30,320
liste. Yani umarım bu, bilirsiniz, ne olursa olsun ifadeleri hakkında kafanızı sarabilir

1072
01:43:30,320 --> 01:43:35,120
temel olarak koşulları mı belirliyoruz? Eğer bu koşullar doğruysa, belirli şeyler yapacağız

1073
01:43:35,120 --> 01:43:40,960
şeyler. Ve eğer bu koşullar yanlışsa başka şeyler yapabiliriz veya başka koşulları kontrol edebiliriz.

1074
01:43:40,960 --> 01:43:45,040
Pekala, hadi Python dosyamıza gidelim ve gerçek bir Python yazmaya başlayalım.

1075
01:43:45,920 --> 01:43:51,520
Yani burada uygulama nokta Python dosyamda bir if ifadesi oluşturmak istiyorum. Ve göstereceğim

1076
01:43:51,520 --> 01:43:56,000
Bu eğitimde çok basit bir if ifadesi bulacaksınız. Ve bir sonraki derste şunları yapacağız:

1077
01:43:56,000 --> 01:44:02,720
biraz daha gelişmiş if ifadelerine bakın. Ve yapmak istediğim şey bir Boolean değişkeni yaratmak.

1078
01:44:02,720 --> 01:44:07,760
Bu yüzden kullanıcının bir posta olup olmadığını saklayacak bir Boolean değişkeni yaratacağım.

1079
01:44:07,760 --> 01:44:13,520
Yani sadece alt çizgi postası olarak adlandırılacak. Ve bunu true'ya eşitleyeceğim,

1080
01:44:13,520 --> 01:44:19,120
çünkü ben bir erkeğim. Yani elimizde bir Boolean değişkeni var, değil mi? Ve şu anda ayarladık

1081
01:44:19,120 --> 01:44:25,920
doğruya eşittir. Bu değişkenin değerinin ne olduğunu görmek için aslında bir if ifadesi kullanabilirim.

1082
01:44:25,920 --> 01:44:31,120
öyle. Ve eğer bu doğruysa, bir şeyler yapabilirim. Yani eğer if ifadesini kullanmak istersem tek yapmam gereken

1083
01:44:31,120 --> 01:44:38,400
sadece if yazmam gerekiyor ve sonra sadece bir koşul yazmam gerekiyor. Yani temelde yazmam gerekirdi

1084
01:44:38,400 --> 01:44:44,480
doğru ya da yanlış olacak bir şeymiş gibi. Mesela diğer sayfada olduğu gibi,

1085
01:44:44,480 --> 01:44:50,240
Aç olup olmadığımı veya havanın bulutlu olup olmadığını belirtiyordum, burada sadece olup olmadığını kontrol edeceğiz

1086
01:44:50,240 --> 01:44:57,680
postadır. Yani başka bir deyişle, kişi erkekse. Ve unutmayın, bu bir şey olmalı, öyle olmalı

1087
01:44:57,680 --> 01:45:03,680
doğru veya yanlış değere indirgenebilir. Yani bizim durumumuzda sadece Boolean kullanıyoruz,

1088
01:45:03,680 --> 01:45:10,320
çünkü bu yapabileceğimiz en kolay şey gibi. Ben de dedim ki, eğer doğru ya da yanlış durumumu belirtirsem,

1089
01:45:11,120 --> 01:45:16,800
ve şimdi sadece iki nokta üst üste yazmak istiyorum. Ve şimdi yapmak istediğim şey yeni bir hat yapmak. Ve böylece

1090
01:45:16,800 --> 01:45:24,320
bunun altına girinti ile koyduğum her şey aslında o zaman yürütülecek

1091
01:45:24,320 --> 01:45:30,480
koşullar doğrudur. Böylece baskı koyabildim. Ve burada, senin bir erkek olduğunu söyleyebilirim.

1092
01:45:32,000 --> 01:45:36,000
Ve şimdi bu programı çalıştırdığımda ne olacağını göreceksiniz, buraya inecek,

1093
01:45:36,000 --> 01:45:42,560
ve senin bir erkek olduğunu söyleyecek. Ama eğer değişirsem mail false olur. Yani bunun yerine

1094
01:45:42,560 --> 01:45:47,760
doğru olduğu için onu yanlış olarak değiştiriyorum. Şimdi aniden hiçbir şey basmayacak. Yani

1095
01:45:47,760 --> 01:45:53,760
burası sadece boş olacak. Çünkü bu durum doğru değildi. Yani herhangi bir şey

1096
01:45:53,760 --> 01:46:01,120
bunun altına if beyanını koydum ve bunun gibi bir girinti yürütülecek

1097
01:46:01,120 --> 01:46:08,080
if ifadesi doğru olduğunda. Python'da else olarak adlandırılan başka bir anahtar kelimeyi de kullanabiliriz.

1098
01:46:08,080 --> 01:46:14,480
Ve aksi temelde başka türlü olacak. Hava bulutluysa şunu söylemeden önce hatırlıyorsunuz:

1099
01:46:14,480 --> 01:46:19,760
Bir şemsiye getireceğim. Aksi halde güneş gözlüğü getireceğim. Bu bizim gibi olacak

1100
01:46:19,760 --> 01:46:26,480
aksi takdirde. Yani burada başka bir şey söyleyebilirim. Ve şimdi başkasının altına koyduğum her şey elde edilecek

1101
01:46:26,480 --> 01:46:31,520
bu koşul doğru olmadığında yazdırılır. O halde neden senin erkek olmadığını belirtmiyoruz?

1102
01:46:32,480 --> 01:46:37,680
Artık bu değişken için her iki durumu da kapsayabiliyoruz. Eğer yanlışsa,

1103
01:46:37,680 --> 01:46:42,560
bu durumu ele alabiliriz. Yani erkek değilsin diyor. Eğer bu doğruysa,

1104
01:46:43,760 --> 01:46:48,720
bu durumu da ele alabiliriz. Yani erkek olduğunuzu söyleyecektir. Yani bu oldukça hoş.

1105
01:46:49,600 --> 01:46:54,800
Ancak bunları daha karmaşık hale de getirebiliriz. Ve aslında bunun hakkında konuşmadan önce,

1106
01:46:54,800 --> 01:46:58,880
if ifadesinin içine istediğiniz kadar kod koyabilirsiniz. Yani şunu isteyebilirdim:

1107
01:46:58,880 --> 01:47:03,920
bilirsin, istesem onlarca satır kod. Size çok basit bir örnek veriyorum.

1108
01:47:03,920 --> 01:47:09,760
Peki neden bunu daha karmaşık hale getirmiyoruz? Ve karışıma başka bir değişken ekleyeceğim. Yani

1109
01:47:09,760 --> 01:47:14,640
Bu karışıma başka bir Boole özelliği ekleyeceğim. Başka bir değişken yapacağım

1110
01:47:14,640 --> 01:47:22,080
uzun olduğu söyleniyor. Bunu da true değerine eşitleyeceğiz. Yani şimdi iki değişkenim var

1111
01:47:22,080 --> 01:47:28,240
karışım. Diyelim ki bu değişkenlerin her ikisini de kontrol edecek bir if ifadesi yazmak istedim. yani ben

1112
01:47:28,240 --> 01:47:32,960
şöyle bir if ifadesi yazabilir: eğer erkekseler ve uzunsalar veya eğer erkekseler ve

1113
01:47:32,960 --> 01:47:37,680
uzun değiller ya da erkek değillerse ve uzunlarsa, sanki bir sürü şöyle yazabilirim:

1114
01:47:37,680 --> 01:47:44,560
Bu değişkenlerin kombinasyonunu kontrol etmek için ifadeler. Ve bunu yapabilmemin yolu şunu kullanmaktır:

1115
01:47:44,560 --> 01:47:51,360
iki anahtar kelimeden biri. Size göstermek istediğim ilk anahtar kelime or anahtar kelimesidir. Böylece gelebilirim

1116
01:47:51,360 --> 01:47:59,360
burada, erkek mi, yoksa uzun boylu mu olduğunu söyleyebilirim. Ve bunun temelde yapacağı şey şu:

1117
01:47:59,360 --> 01:48:07,280
kişi erkekse veya uzunsa, o zaman bir şeyler yapmak istediğimizi söyleyecektir. Bu yüzden

1118
01:48:08,240 --> 01:48:14,400
bu yalnızca bu değerlerden biri doğru olduğunda, bu değerlerden biri veya her ikisi de doğru olduğunda doğru olacaktır.

1119
01:48:14,400 --> 01:48:21,200
bu doğru. Yani buraya, aslında sen bir erkeksin yerine, sen bir erkeksin yazabiliriz.

1120
01:48:21,200 --> 01:48:27,680
ya da uzun ya da her ikisi de, bu daha uygun olacaktır. Ve sonra burada, öyle olduğunu söylerdik

1121
01:48:29,920 --> 01:48:36,480
ne erkek ne de uzun. Çünkü eğer kodu bunun içinde çalıştırırsak,

1122
01:48:36,480 --> 01:48:42,320
Bu, bu adamların her ikisinin de sahte olduğu anlamına gelir. Doğru, yani erkek mi yoksa uzun mu olduklarını söylüyorum

1123
01:48:42,320 --> 01:48:48,320
Burada ne varsa onu uygulayacağız. Aksi halde bu ne erkek ne de uzun boylu oldukları anlamına gelir. biz

1124
01:48:48,320 --> 01:48:53,320
bunu burada uygulayacağım. Size bunun nasıl çalıştığını göstereyim. Oynat'a tıklayacağım. Ve

1125
01:48:53,320 --> 01:48:59,320
bunların ikisi de doğrudur. Yani erkek olduğunuzu, uzun boylu olduğunuzu veya her ikisini birden söyleyecektir. Eğer bunlardan birini ayarlasaydım

1126
01:48:59,320 --> 01:49:06,320
bunlar yanlıştır. Öyleyse erkek eşittir false değerini ayarlayalım. Şimdi hâlâ erkek olduğun söylenecek

1127
01:49:06,320 --> 01:49:13,320
ya da uzun ya da her ikisi. Ama ikisini de false olarak ayarlarsam, şimdi ikisi de olmadığını söyleyecektir

1128
01:49:13,320 --> 01:49:21,320
erkek ve uzun boylu değil. İşte or operatörünü kullanmanın temelleri budur. Ve başka bir operatör daha var

1129
01:49:21,320 --> 01:49:27,320
ve olarak adlandırılanı kullanabiliriz ve temel olarak bu koşulların her ikisine benzer veya her ikisi dışındadır

1130
01:49:27,320 --> 01:49:34,320
doğru olmalı. Yani bu temelde şunu söylüyor: Eğer kişi erkekse ve aynı zamanda uzunsa,

1131
01:49:34,320 --> 01:49:39,320
o zaman burada ne varsa onu uygulayacağız. Yani aslında bu metni şunu söyleyecek şekilde değiştirebiliriz:

1132
01:49:39,320 --> 01:49:46,320
uzun boylu bir erkek, çünkü eğer bu idam ediliyorsa ikisinin de erkek olduğunu kesin olarak biliyoruz

1133
01:49:46,320 --> 01:49:54,320
ve uzun. Bu print ifadesini buradan da değiştirebiliriz. Bu sizin ya erkek olmadığınızı söyleyebilir

1134
01:49:54,320 --> 01:50:02,320
ya da uzun değil ya da her ikisi de. Yani temelde sadece sizin ya onlardan biri olmadığınızı söylemek olduğunu görebilirsiniz

1135
01:50:02,320 --> 01:50:08,320
ya da ikisi de değilsin. Oynat butonuna tıklıyoruz ve göreceksiniz çünkü ikisi de yanlış

1136
01:50:08,320 --> 01:50:14,320
ya erkek değilsin ya da uzun değilsin ya da her ikisi de diyecek. Ama eğer ikisini de doğru yaparsam,

1137
01:50:14,320 --> 01:50:21,320
şimdi senin uzun boylu bir erkek olduğunu söyleyecek. Eğer bunlardan birini yanlış yapacak olsaydım,

1138
01:50:21,320 --> 01:50:27,320
yine de, hadi uzun boylu yanlış yapalım. Şimdi bu ilk print ifadesini yürütmeyecek.

1139
01:50:27,320 --> 01:50:32,320
Diğerinin içindekini çalıştıracak. Yani ya erkek değilsin ya da uzun değilsin

1140
01:50:32,320 --> 01:50:39,320
veya her ikisi. İşte ve'nin temelleri budur ve if'inizi kullandığınız gibi bunları da çok fazla kullanacaksınız.

1141
01:50:39,320 --> 01:50:45,320
ifadeler. Ama aslında yapabileceğimiz bir şey daha var. Daha başka koşullar da ekleyebiliriz.

1142
01:50:45,320 --> 01:50:51,320
Burada erkek olup olmadıklarını ve uzun olup olmadıklarını kontrol ediyorum. Peki ya onların olup olmadığını kontrol etmek istersem

1143
01:50:51,320 --> 01:50:58,320
ve onlar uzun değil mi? Yani eğer kısa boylu bir erkeğe benziyorlarsa, Python'daki başka bir anahtar kelimeyi kullanabilirim:

1144
01:50:58,320 --> 01:51:05,320
else if veya gerçekten sadece E L I F yazılmıştır ve else if ve after this anlamına gelir

1145
01:51:05,320 --> 01:51:11,320
başka bir durum. Burada erkek olup olmadıklarını ve uzun olmadıklarını kontrol etmek istiyorum.

1146
01:51:11,320 --> 01:51:19,320
Yani else eğer erkek erkekse diyeceğim ve şimdi uzun boylu değil yazabilirim ve bunu nasıl yapabilirim

1147
01:51:19,320 --> 01:51:25,320
Bir açık ve kapalı parantez değil diyerek uzun boylu söylemektir. Ve temel olarak bunu kullandığımda

1148
01:51:25,320 --> 01:51:32,320
işlevini yerine getirmezse, buranın içinde ne varsa onu boşa çıkaracak. Yani eğer bu doğruysa,

1149
01:51:32,320 --> 01:51:37,320
bu yanlıştır ve eğer bu yanlışsa, onu doğru yapacaktır. Yani temel olarak bu bize şunu söyleyecektir:

1150
01:51:37,320 --> 01:51:44,320
uzun değiller. Ve sonra iki nokta üst üste kullanacağım ve şimdi burada, buranın içinde, temelde

1151
01:51:44,320 --> 01:51:50,320
Bu koşul doğru olduğunda gerçekleşmesini istediğimiz herhangi bir kodu yazacağım. yani aşağı

1152
01:51:50,320 --> 01:51:58,320
burada kısa boylu bir erkek olduğunuzun çıktısını alabiliriz ve aslında istediğimiz bir durum daha var

1153
01:51:58,320 --> 01:52:05,320
erkek değillerse ve uzunlarsa hangisi olacağını kontrol etmek için. Yani eğer bir tane daha yapabiliriz

1154
01:52:05,320 --> 01:52:13,320
ve aslında bu adamı kopyalayacağım ve buraya yapıştıracağım. Ve şunu söylemek istiyorum:

1155
01:52:13,320 --> 01:52:23,320
erkek değil ve uzun boylu. Şimdi onların erkek olup olmadıklarını veya erkek olmadıklarını kontrol ediyoruz

1156
01:52:23,320 --> 01:52:33,320
ve uzunlar. Yani burada sizin bir erkek olmadığınızı ama uzun boylu olduğunuzu söyleyebiliriz. Yani aslında

1157
01:52:33,320 --> 01:52:39,320
burada bu iki değişken için her bir koşulu kapsayacak bir if ifademiz var. Yani

1158
01:52:39,320 --> 01:52:44,320
bu değişkenlerin iki değerinin her bir durumunda yazdırabileceğiz

1159
01:52:44,320 --> 01:52:50,320
bunun için bir şeyler var. Yani eğer bunların ikisini de doğru yaparsam, bu aslında bize sizin bir

1160
01:52:50,320 --> 01:52:59,320
uzun boylu erkek. Eğer erkek sahtesi yaparsam bu bize sizin erkek olmadığınızı ama uzun boylu olduğunuzu söyleyecektir. Eğer ben yaptıysam

1161
01:52:59,320 --> 01:53:08,320
erkek doğru ve uzun yanlış ise bu bize sizin kısa boylu bir erkek olduğunuzu söyleyecektir. Ve eğer ikisini de yapsaydım

1162
01:53:08,320 --> 01:53:14,320
bunlar yanlış, bize ya erkek olmadığınızı ya da uzun boylu olmadığınızı ya da her ikisini de söyleyecek. Ve aslında buna ihtiyacımız var

1163
01:53:14,320 --> 01:53:22,320
bunu değiştir. Yani bu sizin erkek olmadığınızı ve uzun boylu olmadığınızı söylemelidir. Yani bu daha iyi bir çıktı olurdu

1164
01:53:22,320 --> 01:53:31,320
bu durum için. Yani temel olarak if else ifs ve else'i işimize yardımcı olmak için nasıl kullanabileceğimizi görebilirsiniz.

1165
01:53:31,320 --> 01:53:37,320
Karar vermek ve programlarımızdaki farklı verilere gerçekten yanıt vermek için program. Yani yapabiliyorum

1166
01:53:37,320 --> 01:53:44,320
bu iki değişkenin değerlerinin her kombinasyonuna yanıt vermek. Ve bu gerçekten harika. yani

1167
01:53:44,320 --> 01:53:50,320
bu örnekte sadece basit Boolean değişkenlerini kullanıyorduk ama bir sonraki derste size göstereceğim

1168
01:53:50,320 --> 01:53:55,320
arkadaşlar, karşılaştırma operatörleri adı verilen bir şeyi aslında nasıl kullanabileceğinizi öğrenin. Yani iki gibi karşılaştırabiliriz

1169
01:53:55,320 --> 01:54:01,320
sayılar veya iki dize ve bunları koşullarımız olarak kullanabiliriz. Ama şimdilik bunun iyi bir şey olduğunu düşünüyorum

1170
01:54:01,320 --> 01:54:11,320
if ifadelerine giriş. Bir sonraki eğitimde görüşürüz arkadaşlar. Bu eğitimde istiyorum

1171
01:54:11,320 --> 01:54:16,320
Python'daki if ifadeleri hakkında biraz daha konuşmak istiyorum. Daha spesifik olarak arayacağız

1172
01:54:16,320 --> 01:54:22,320
if ifadelerimizin içindeki karşılaştırmaları kullanma konusunda. Yani eğer kursla birlikte takip ediyorsanız

1173
01:54:22,320 --> 01:54:27,320
Son dersimizde sizlerle if ifadelerinin temelleri hakkında konuşmuştum ve birkaç tane kullanmıştık.

1174
01:54:27,320 --> 01:54:32,320
farklı Boolean değişkenleri. Ve bu külçelerin değerlerine bağlı olarak belirli şeyler yapabildik.

1175
01:54:32,320 --> 01:54:37,320
şeyler. Bu derste if ifadelerini kullanmanın başka bir yoluna bakacağız:

1176
01:54:37,320 --> 01:54:44,320
karşılaştırmalar. Yani sadece Boole değerlerini kullanmak yerine aslında farklı değerleri karşılaştırabiliriz. yani ben

1177
01:54:44,320 --> 01:54:49,320
birkaç sayıyı karşılaştırabilirim veya birkaç diziyi karşılaştırabilirim. Ve sonuçlarına bağlı olarak

1178
01:54:49,320 --> 01:54:55,320
bu karşılaştırmalarla bazı şeyleri yapabiliriz. Yani bu oldukça hoş olacak. Ve bu gerçekten

1179
01:54:55,320 --> 01:55:01,320
if ifadeleriyle neler yapabileceğinizi tam olarak anlamanızı sağlayacağım. Yani bunun için

1180
01:55:01,320 --> 01:55:07,320
öğretici Aslında bir Python işlevi oluşturmak istiyorum. Ve bu fonksiyon bize şunu verecek:

1181
01:55:07,320 --> 01:55:14,320
içine aktaracağımız maksimum sayı. Yani bu fonksiyon girdi olarak üç parametre alacak ve

1182
01:55:14,320 --> 01:55:20,320
verdiğimiz en büyük sayıyı yazdıracak. O halde bu fonksiyonu oluşturalım. ben

1183
01:55:20,320 --> 01:55:28,320
sadece ölüm diyeceğim. Ve buna maksimum sayı diyeceğim. Ve bu parantezlerin içinde ben

1184
01:55:28,320 --> 01:55:34,320
Giriş olarak üç parametre istediğimi belirteceğim. Bu yüzden bir numara, iki numara diyeceğim ve

1185
01:55:34,320 --> 01:55:42,320
üç numara. Yani temelde ona üç sayı aktarıyoruz ve bu fonksiyon en büyüğünü döndürecek

1186
01:55:42,320 --> 01:55:48,320
üçünden. Bu sayılardan hangisinin en büyük olduğunu bulmak için yapmamız gereken şey

1187
01:55:48,320 --> 01:55:55,320
if ifadesini kullanın. Yani burada bir koşul belirtmem gerekiyorsa söyleyebilirim, bu yüzden şunu belirtmem gerekiyor:

1188
01:55:55,320 --> 01:56:01,320
doğru veya yanlış bir değer gibi koyun. Ve aslında yapabileceğimiz şey, bu farklıları karşılaştırabilmektir.

1189
01:56:01,320 --> 01:56:12,320
sayılar. Yani bir numaranın iki numaradan büyük veya ona eşit olup olmadığını söyleyebilirim. Ve bir numara daha büyük

1190
01:56:12,320 --> 01:56:18,320
üç numaraya eşit veya daha fazla. Yani temelde burada yaptığım şey, bu farklı

1191
01:56:18,320 --> 01:56:23,320
sayılar. Yani birinci sayının ikinci sayıdan büyük veya ona eşit olup olmadığını söylüyorum. Ve

1192
01:56:23,320 --> 01:56:29,320
bu bir karşılaştırma. Yani bunu düşündüğünüzde, bu iki sayıyı karşılaştırdığımızda,

1193
01:56:29,320 --> 01:56:35,320
doğru veya yanlış bir değerle sonuçlanır. Doğru, bir numara ya iki numaradan büyük ya da eşit ya da

1194
01:56:35,320 --> 01:56:42,320
değil. Bu aslında bir Boolean değeridir, ya doğrudur ya da yanlıştır. Burada da aynı şey var.

1195
01:56:42,320 --> 01:56:48,320
Bu karşılaştırmanın sonucu ya doğrudur ya da yanlıştır. Yani teknik olarak doğru veya

1196
01:56:48,320 --> 01:56:55,320
orada yanlış değer var. Ben sadece bir karşılaştırma kullanarak bu doğru veya yanlış değeri alıyorum. Ve sen

1197
01:56:55,320 --> 01:57:00,320
Burada karşılaştırma operatörü adı verilen bir şey kullandığımıza dikkat edin. Ve temelde bu sadece

1198
01:57:00,320 --> 01:57:05,320
onları nasıl karşılaştırmak istediğimiz gibi. Yani bu durumda büyük veya eşit diyoruz.

1199
01:57:05,320 --> 01:57:12,320
Yani burada, eğer bu koşulun tamamı doğruysa, diğer bir deyişle, eğer bu ikisinin sonuçları

1200
01:57:12,320 --> 01:57:18,320
karşılaştırmalar doğru çıkarsa, o zaman bir numaranın en büyüğü olduğunu biliriz. Böylece geri dönebilirim

1201
01:57:18,320 --> 01:57:24,320
bir numara, bir numarayı döndür diyebilirim. Ancak diğer bazı koşulları da kontrol etmek istiyoruz. Yani yapabilirim

1202
01:57:24,320 --> 01:57:32,320
L ise deyin ve şimdi başka bir karşılaştırma yapmak istiyorum. Yani iki numara daha büyükse else diyeceğim

1203
01:57:32,320 --> 01:57:39,320
bir numaraya eşit veya daha büyük. Ve iki numara, üç numaradan büyük veya ona eşit. yani yapıyorum

1204
01:57:39,320 --> 01:57:44,320
esasen burada yaptığım şeyi yaptım, iki numara hariç. Tekrar söylüyorum, bu farklıları karşılaştırıyorum

1205
01:57:44,320 --> 01:57:50,320
sayılar. Ve bu, sonucuna bağlı olarak doğru ya da yanlış bir değer olarak sonuçlanacak.

1206
01:57:50,320 --> 01:57:57,320
karşılaştırma. Burada yine iki numarayı döndürebiliriz, çünkü eğer bunların hepsi doğruysa,

1207
01:57:57,320 --> 01:58:03,320
bu da sonunda iki numarayı geri getireceğimiz anlamına geliyor. Ve son olarak başka bir şey söyleyebiliriz.

1208
01:58:03,320 --> 01:58:09,320
Yani eğer bir numara en büyüğü değilse ve iki numara da en büyüğü değilse, o zaman hemen hemen yapabiliriz

1209
01:58:09,320 --> 01:58:17,320
üç numaranın en büyüğü olduğunu varsayalım. Artık fonksiyonumuz var. Yani buradayım, aslında

1210
01:58:17,320 --> 01:58:21,320
sadece bu fonksiyonu çağıracağım. Yani şunu söyleyeceğim, aslında çıktısını alacağım

1211
01:58:21,320 --> 01:58:28,320
sonuç. Bu yüzden maksimum sayı diyeceğim ve üç, dört, beş gibi geçeceğiz. Yani biz temelde

1212
01:58:28,320 --> 01:58:35,320
az önce yaptığımız yeni işlevi çağırmak. Ve devam edip bu programı çalıştıracağım.

1213
01:58:35,320 --> 01:58:40,320
Burada, çıktıda gördüğünüz gibi, bunu beş olarak yazdırdık, çünkü bu en büyüğüydü.

1214
01:58:40,320 --> 01:58:45,320
Eğer ortadakini en büyüğüyle değiştirseydim, böylece ortadakini 140 yapardık, şimdi mümkün olacak

1215
01:58:45,320 --> 01:58:51,320
bu durumu üstlenmek. Ve sonunda bunu 300 gibi yapabilirim.

1216
01:58:51,320 --> 01:58:56,320
bu. Yani hangi numara bir numara iki veya numara üç en büyük olursa olsun,

1217
01:58:56,320 --> 01:59:03,320
bize sorunsuz bir şekilde söyleyebiliyor. Yani bu karşılaştırmalar gerçekten, gerçekten, gerçekten

1218
01:59:03,320 --> 01:59:08,320
if ifadeleri oluşturmanın yaygın yolu. Ve çoğu zaman karşılaştırma yapmak isteyeceksiniz

1219
01:59:08,320 --> 01:59:14,320
Python'un içindeki farklı değerler. Burada sayıları karşılaştırıyoruz ama şunu da yapabiliriz:

1220
01:59:14,320 --> 01:59:19,320
dizeleri karşılaştırın. Yani ikisini de kolaylıkla şöyle yapabilirim, bilirsiniz, bunu şöyle yapabilirim

1221
01:59:19,320 --> 01:59:25,320
köpek ve bu köpeği yapabilirim. Ve farklı bir operatör diyebilirim. yani şunu söyleyebilirim

1222
01:59:25,320 --> 01:59:30,320
bu çift eşittir işareti eşit anlamına gelir. Yani temelde şunu söyleyebilirim, eğer bu dize

1223
01:59:30,320 --> 01:59:35,320
bu dizeye eşittir, böylece temel olarak tüm farklı veri türlerini karşılaştırabilirsiniz.

1224
01:59:35,320 --> 01:59:41,320
biliyorum, sayıları, dizileri karşılaştırabilirim, külçeleri de karşılaştırabilirsin. Yani bir kez daha,

1225
01:59:41,320 --> 01:59:46,320
bunlar karşılaştırma operatörleridir. Ve bu büyüktür ya da eşittir, ama bir tane var

1226
01:59:46,320 --> 01:59:51,320
kullanabileceğimiz bir sürü başka karşılaştırma operatörü. Yani en temel şey sadece olacak

1227
01:59:51,320 --> 01:59:56,320
çift eşittir işareti. Ve bu temelde iki değerin eşit olup olmadığını kontrol eder. Yani olacak

1228
01:59:56,320 --> 02:00:03,320
Mesela bir numara iki numaraya eşitse eşit değildir de diyebiliriz. Ve bu

1229
02:00:03,320 --> 02:00:11,320
ve bu ünlem işareti temelde eşit değil anlamına gelecektir. Yani eğer bir numara eşit değilse

1230
02:00:11,320 --> 02:00:18,320
İkinci olarak, aynı zamanda büyük, küçük, büyük veya eşit, küçük veya eşittir

1231
02:00:18,320 --> 02:00:23,320
için. Ve bunlar bir nevi operatörlerin hepsi, bilirsiniz, temel karşılaştırmalar

1232
02:00:23,320 --> 02:00:28,320
Python'da kullanacağınız operatörler. Karşılaştırmaları kullanmak gerçekten harika.

1233
02:00:28,320 --> 02:00:32,320
Ve Python'un içinde gideceğiniz yerde tonlarca durum olacak

1234
02:00:32,320 --> 02:00:40,320
farklı değerleri karşılaştırmak istemek. Yani bunlar son derece yararlı olabilir. Bu eğitimde,

1235
02:00:40,320 --> 02:00:45,320
Sizlerle Python'da hesap makinesi oluşturma hakkında konuşacağım. Şimdi, eğer

1236
02:00:45,320 --> 02:00:49,320
Bu kursu takip ettiğinizde, kursun başında aslında

1237
02:00:49,320 --> 02:00:55,320
çok basit bir hesap makinesi yarattı. Temel olarak, kullanıcı yalnızca iki sayı girebilir ve

1238
02:00:55,320 --> 02:01:00,320
hesap makinemiz sayıları toplayacak ve cevabı verecektir. Bu eğitimde,

1239
02:01:00,320 --> 02:01:05,320
Size daha gelişmiş bir hesap makinesinin nasıl oluşturulacağını göstermek istiyorum. Yani bu hesap makinesi

1240
02:01:05,320 --> 02:01:10,320
Temel aritmetik işlemlerin tümünü gerçekleştirebilecektir. Yani ekleyebiliriz, çıkartabiliriz,

1241
02:01:10,320 --> 02:01:15,320
çoğalın ve bölün. Ve aslında kullanıcının bunlardan hangisini istediğini belirtmesine izin vereceğiz.

1242
02:01:15,320 --> 02:01:21,320
yapmak istiyorum. Yani kullanıcı bir sayı girecek, istediği operatöre girecek

1243
02:01:21,320 --> 02:01:26,320
kullanmak. Yani artı eksi böl, çarp. Daha sonra ikinci sayıyı girecekler ve

1244
02:01:26,320 --> 02:01:30,320
onlar adına ameliyatı biz gerçekleştireceğiz. Yani bu oldukça hoş olabilir. Ve bunu gösterecek

1245
02:01:30,320 --> 02:01:36,320
if ifadelerini pratik bir uygulama gibi nasıl kullanabileceğimizi öğrenin. Öyleyse başlayalım.

1246
02:01:36,320 --> 02:01:41,320
Yapmamız gereken ilk şey kullanıcıdan girdi almaktır. Bu yüzden üç tane yaratacağım

1247
02:01:41,320 --> 02:01:46,320
değişkenler; biri birinci sayı için, biri ikinci sayı için ve biri de operatör için.

1248
02:01:46,320 --> 02:01:51,320
Ve temel olarak kullanıcının bu değişkenlere girdiği değerleri saklayacağız. Yani ilk

1249
02:01:51,320 --> 02:01:57,320
biri sadece bir numara olacak. Ve bunu girişe eşitleyeceğim. Ve biz gidiyoruz

1250
02:01:57,320 --> 02:02:04,320
buna bir bilgi ver. Bu yüzden ilk numarayı girin diyeceğim. Ve aslında olay şu ki

1251
02:02:04,320 --> 02:02:10,320
Kullanıcı ne girerse girsin, onu bir sayıya dönüştürmek isteyeceğiz. Yani genel olarak

1252
02:02:10,320 --> 02:02:15,320
Python, kullanıcıdan girdi aldığımızda, ne koyarsa koysun, dönüştürülür

1253
02:02:15,320 --> 02:02:20,320
bir dizeye. Ancak bir dize istemiyoruz çünkü eklememiz gerekecek veya

1254
02:02:20,320 --> 02:02:25,320
bu sayıların çıkarılması veya çarpılması. Yani numarayı her girdiklerinde,

1255
02:02:25,320 --> 02:02:30,320
Sadece onu hemen gerçek bir benzer sayı veri türüne dönüştürmek istiyorum.

1256
02:02:30,320 --> 02:02:36,320
dize. Yani yapabileceğim şey aslında süzülmek diyebilirim ve tüm bu alanı çevreleyebilirim

1257
02:02:36,320 --> 02:02:42,320
parantezli giriş etiketi. Ve şimdi bunun yapacağı şey şu: hemen

1258
02:02:42,320 --> 02:02:48,320
kullanıcının girdiği her şeyi bir kayan noktaya dönüştürün. Şimdi bu onların gidecekleri anlamına geliyor

1259
02:02:48,320 --> 02:02:52,320
bir sayı girmemiz gerekiyor, aksi takdirde hata alırız. Ancak çoğunlukla bu,

1260
02:02:52,320 --> 02:02:58,320
bizim için çalışın. Yani aslında bu adamı kopyalayacağım. Ve devam edip yapıştıracağız

1261
02:02:58,320 --> 02:03:03,320
burada. Ve bir kez daha yapıştıracağız. Yani aslında sadece üç tane almaya çalışıyoruz

1262
02:03:03,320 --> 02:03:08,320
kullanıcıdan gelen girdi parçaları. Yani almak istediğimiz ikinci şey operatördür. yani ben

1263
02:03:08,320 --> 02:03:15,320
sadece operatör için op diyeceğim. Ve aslında bu şamandıradan kurtulacağım çünkü biz

1264
02:03:15,320 --> 02:03:21,320
bunu bir dize olarak tutmak istiyorum. Ben de sadece operatöre girin diyeceğim. Yani bu olacak

1265
02:03:21,320 --> 02:03:27,320
artı eksi çarpma gibi, her neyse. Ve sonunda burada, ikinci numarayı alacağız.

1266
02:03:27,320 --> 02:03:33,320
Ve yine bunu bir şamandıraya dönüştürmek isteyeceğiz. O halde ikinci sayıyı girin diyeceğim.

1267
02:03:33,320 --> 02:03:37,320
Yani şimdi temel olarak yaptığımız şey şu, ilk sayıyı alıyoruz,

1268
02:03:37,320 --> 02:03:43,320
operatöründen ikinci numarayı alıyoruz. Yani şimdi yapmamız gereken şey

1269
02:03:43,320 --> 02:03:49,320
Bu operasyonun içinde ne olduğunu bulmamız gerekiyor. Başka bir deyişle, şunu anlamamız gerekiyor:

1270
02:03:49,320 --> 02:03:54,320
kullanıcının hangi operatörü yapmaya çalıştığı. Peki toplama mı yapmaya çalışıyorlar yoksa deniyorlar mı

1271
02:03:54,320 --> 02:04:00,320
bunu bulmak istediğimiz gibi çıkarma işlemi yapmak. Yani sırayla if ifadesini kullanabiliriz

1272
02:04:00,320 --> 02:04:05,320
bunu çözmek için. Bu yüzden buraya geleceğim ve temelde sadece yaratacağım

1273
02:04:05,320 --> 02:04:10,320
bir if ifadesi. Yani eğer varsa diyeceğim ve bir durumu kontrol etmek istiyoruz. Yani ben temelde

1274
02:04:10,320 --> 02:04:18,320
Bu operatörün artı işaretine eşit olup olmadığını kontrol edeceğim. Yani op'un eşit olup olmadığını söyleyebilirim

1275
02:04:18,320 --> 02:04:25,320
artı işareti. Ve şimdi eğer operatör artı işaretine eşitse, çıktısını alacağım

1276
02:04:25,320 --> 02:04:30,320
bir numara artı iki numara. Ama diyelim ki artı işareti yerine bir şeye girdiler

1277
02:04:30,320 --> 02:04:37,320
başka. Yani op'un eşit olup olmadığını söyleyebiliriz ve şimdi bunun eksi işareti olup olmadığını kontrol edeceğiz.

1278
02:04:37,320 --> 02:04:44,320
Ve böylece burada sadece bir numara eksi iki numarayı yazdıracağız. Ve aslında iki nokta üst üste koymayı unuttum

1279
02:04:44,320 --> 02:04:53,320
burada. Yani bunları her şey için yapabiliriz. Şimdi eğer op bölmeye eşitse L diyebiliriz

1280
02:04:53,320 --> 02:05:00,320
ve burada sadece iki sayıyı böleceğiz, böylece bir sayının ikiye bölünmesinin çıktısını alabilirim.

1281
02:05:00,320 --> 02:05:07,320
Son olarak çarpma işlemi için de aynı şeyi yapacağız. Yani eğer op eşitse l diyeceğim

1282
02:05:07,320 --> 02:05:16,320
yıldız işaretine. Ve biz sadece numara bir çarpı iki numarayı yazdıracağız. Tamam, temelde bitti

1283
02:05:16,320 --> 02:05:22,320
burada her türlü koşula sahibiz. Ama aynı zamanda bir else ifadesi de koymak istiyorum. Yani

1284
02:05:22,320 --> 02:05:28,320
kullanıcının bir işleme girmesi durumunda, bu bizim kullandığımız dört işlemden birine benzemez

1285
02:05:28,320 --> 02:05:32,320
Burada belirtilen, sadece bir hata atmak istiyorum. Yani sadece op diyeceğim ya da aslında

1286
02:05:32,320 --> 02:05:40,820
biz sadece başkasını söylüyoruz. Ve burada geçersiz operatör gibi çıktı alacağız. Peki bu

1287
02:05:40,820 --> 02:05:46,320
if ifadesi bize istediğimiz her şeyi vermelidir. Temel olarak, sadece olup olmadığını kontrol ediyorum

1288
02:05:46,320 --> 02:05:51,320
bir artı işaretine, bir eksi işaretine, bir bölme işaretine veya bir çarpma işaretine eşittir. bağlı olarak

1289
02:05:51,320 --> 02:05:55,320
hangisine eşitse farklı bir işlem yapacağız. Öyleyse devam edelim ve bunu çalıştıralım

1290
02:05:55,320 --> 02:06:01,320
programlayın ve nasıl yaptığımızı görün. Bu programı çalıştıracağım ve ilk sayıyı girin diyor.

1291
02:06:01,320 --> 02:06:08,320
Beş tane girelim, bir operatör girelim. Öyleyse neden toplama işlemini yapıp bir saniye girmiyoruz?

1292
02:06:08,320 --> 02:06:15,320
numara. Hadi 23'ü yapalım. Şimdi 28'in cevabını yazdırıyor. Yani hesap makinesi gerçekten işe yarıyor.

1293
02:06:15,320 --> 02:06:22,320
Emin olmak için başka bir operatör deneyelim. O halde altı tane yapacağız ve neden çarpmıyoruz

1294
02:06:22,320 --> 02:06:29,320
5.23'e kadar, bilmiyorum. Şimdi çıkıyoruz ve çarpma işlemini yapıyoruz ve şöyle görünüyor

1295
02:06:29,320 --> 02:06:34,320
cevabımızı aldık. Hesap makinemiz çalışıyor gibi görünüyor. Ve temelde yaptığımız tek şey

1296
02:06:34,320 --> 02:06:40,320
kullanıcıdan girdi aldık ve sonra ne istediklerini anlamak için if ifadelerini kullandık.

1297
02:06:40,320 --> 02:06:45,320
yapmak istedim. Böylece ekleme isteyip istemediklerini kontrol edebiliriz. olup olmadıklarını kontrol edebiliriz

1298
02:06:45,320 --> 02:06:49,320
çıkarma veya bölme veya çarpma istedi. Ayrıca girip girmediklerini de kontrol edebiliriz.

1299
02:06:49,320 --> 02:06:56,320
geçersiz bir operatörde. Aslında neden bunu da denemiyoruz? Bu yüzden beş gibi gireceğim

1300
02:06:56,320 --> 02:07:02,320
ve şimdi aç ve kapat parantezleri ve dört gibi gireceğiz. Yani yapabilirsin

1301
02:07:02,320 --> 02:07:07,320
bakın burada programın bunun bir şey olmadığını bilecek kadar akıllı olduğunu söyleyebiliyor

1302
02:07:07,320 --> 02:07:11,320
geçerli operatör. Yani bu if ifadeleri gerçekten güçlü olabilir ve bunları

1303
02:07:11,320 --> 02:07:20,320
küçük bir hesap makinesi oluşturmak için kullanıcı girişinin alınmasıyla kombinasyon. Bu eğitimde

1304
02:07:20,320 --> 02:07:26,320
Sizlerle Python'da sözlüklerin kullanımı hakkında konuşmak istiyorum. Artık sözlük özel bir şey

1305
02:07:26,320 --> 02:07:32,320
Python'da bilgiyi anahtar değer olarak adlandırılan yerde saklamamıza olanak sağlayan yapı

1306
02:07:32,320 --> 02:07:38,320
çiftler. Yani aslında bu farklı anahtar değer çiftlerinden bir grup oluşturabilirim ve

1307
02:07:38,320 --> 02:07:43,320
daha sonra sözlüğün içindeki belirli bir bilgiye erişmek istediğimde

1308
02:07:43,320 --> 02:07:49,320
ona sadece anahtarıyla başvurabilir. Yani kelime sözlüğü aslında oldukça uygun

1309
02:07:49,320 --> 02:07:53,320
burada. Eğer normal bir sözlüğe aşina iseniz normal bir sözlükte biliyorsunuzdur

1310
02:07:53,320 --> 02:07:59,320
bir kelimeniz olur ve sonra bu kelimeyle ilişkilendirilen bir tanımınız olur. Yani bunda

1311
02:07:59,320 --> 02:08:04,320
durumda anahtar kelime olacaktır. Başka bir deyişle, kelime benzersiz bir şeye benziyor

1312
02:08:04,320 --> 02:08:10,320
onu sözlüğün içinde tanımlar ve ardından değer gerçek tanım olur.

1313
02:08:10,320 --> 02:08:15,320
Yani bununla çalışmaya başladığımızda bu daha anlamlı olacak ama ben sadece istedim

1314
02:08:15,320 --> 02:08:19,320
size hızlı bir giriş yapmak için. Bu derste biraz oluşturmak istiyorum

1315
02:08:19,320 --> 02:08:26,320
üç haneli bir ay adını tam ay adına dönüştürmemizi sağlayacak program.

1316
02:08:26,320 --> 02:08:36,320
Yani örneğin JAN'ı Ocak'a dönüştürebilirim veya M A R'yi şuna dönüştürebilirim:

1317
02:08:36,320 --> 02:08:41,320
Mart. Sanki bunu bizim için yapabilecek bir programa sahip olmak istiyorum ve bu aslında

1318
02:08:41,320 --> 02:08:45,320
bir sözlük için oldukça iyi bir kullanım örneği. Yani aslında bir tane yaratacağız

1319
02:08:45,320 --> 02:08:49,320
sözlük ve size bunu nasıl yapabileceğimizi göstereceğim. Yani yapacağımız ilk şey

1320
02:08:49,320 --> 02:08:54,320
Sözlük oluştururken yapmanız gereken sadece ona bir isim vermektir. Bu yüzden buna bir vermek istiyorum

1321
02:08:54,320 --> 02:09:01,320
özel isim. Bu yüzden bu ay dönüşümleri arayacağım. Ve şimdi sadece istiyorum

1322
02:09:01,320 --> 02:09:06,320
bunu açık ve kapalı bir küme parantezine eşit olarak ayarlayın. Yani ne zaman bir sözlük oluştursak

1323
02:09:06,320 --> 02:09:12,320
Python'da bunu her zaman bu açık ve kapalı küme parantezlerinin içinde oluşturmak isteyeceğiz.

1324
02:09:12,320 --> 02:09:18,320
Artık sözlüğün içinde anahtar değer olarak adlandırılan şeyi tanımlamaya başlayabiliriz.

1325
02:09:18,320 --> 02:09:24,320
çiftler. Böylece bir anahtar tanımlayabilirim ve sonra ona karşılık gelen bir değer verebilirim. Ve

1326
02:09:24,320 --> 02:09:27,320
Bunu yapabilmemizin yolu sadece anahtarı yazıp ardından değeri yazmaktır.

1327
02:09:27,320 --> 02:09:32,320
Yani bizim durumumuzda üç haneli ay adlarını tam aya dönüştürüyoruz

1328
02:09:32,320 --> 02:09:38,320
isimler. Yani örneğin JAN yazmak isterim ve sonra iki nokta üst üste yazabilirim

1329
02:09:38,320 --> 02:09:43,320
ve Ocak diyebilmemiz için onunla ilişkilendirmek istediğim değeri yazmak istiyorum.

1330
02:09:43,320 --> 02:09:50,320
Temel olarak bunu her kombinasyon için yapabilirim. Yani şubat gibi diyebilirim ve bu olurdu

1331
02:09:50,320 --> 02:09:55,320
Şubat. Ve aslında bunların her birinden sonra virgül koymamız gerekecek.

1332
02:09:55,320 --> 02:10:01,320
Yani aynısını Mart için de yapabilirim, diyelim ki M.A.R.

1333
02:10:01,320 --> 02:10:08,320
Yani aslında yapabileceğim şey, her biri için bu sözlüğün içinde bir girdi belirleyebilmek.

1334
02:10:08,320 --> 02:10:14,320
bunlardan biri. Yani burası anahtar olacak ve burası da anahtar olacak

1335
02:10:14,320 --> 02:10:20,320
değer. Ve burada bir şey var ki, bu anahtarların hepsinin benzersiz olması gerekiyor. Yani eğer ben

1336
02:10:20,320 --> 02:10:24,320
buraya gelin ve bunu JAN olarak değiştirin, bu aslında bize biraz şey kazandıracak

1337
02:10:24,320 --> 02:10:29,320
uyarı. Burada gördüğünüz gibi, sözlüğün yinelenen anahtarlar içerdiği yazıyor.

1338
02:10:29,320 --> 02:10:33,320
Sözlükler oluştururken bu bir hayır hayırdır. Yani her zaman emin olmak istiyorsun

1339
02:10:33,320 --> 02:10:37,320
anahtarların benzersiz olduğunu. Elbette. Bu yüzden devam edip bunlardan birini yaratacağım

1340
02:10:37,320 --> 02:10:41,320
bunlar her ay için olacak ve sonra geri döneceğiz ve bunun hakkında konuşacağız.

1341
02:10:41,320 --> 02:10:47,320
Elbette. Bu yüzden devam ettim ve 12 ayın tamamı için bir giriş oluşturdum. yani şimdi

1342
02:10:47,320 --> 02:10:52,320
bir sürü benzersiz anahtarımız var ve bu anahtarların her biri bir anahtarla ilişkilendiriliyor

1343
02:10:52,320 --> 02:10:57,320
farklı değer. İşte bir sözlük oluşturmanın temeli budur; bir grup sözlüğümüz var

1344
02:10:57,320 --> 02:11:02,320
bu farklı anahtar değer çiftlerinden. Ve şimdi aslında yapabileceğimiz şey şu:

1345
02:11:02,320 --> 02:11:07,320
bunlara bu sözlüğün içinden erişebilirsiniz. Yani eğer bir şeye erişmek istersem

1346
02:11:07,320 --> 02:11:12,320
belirli bir anahtar veya belirli bir değer, tek yapmam gereken buraya gelmek ve

1347
02:11:12,320 --> 02:11:16,320
Aslında görebilmemiz için bunu ekrana yazdıracağım. sahip olduğum tek şey

1348
02:11:16,320 --> 02:11:21,320
Yapılacak şey sözlüğe ismiyle bakmaktır. Yani buna sadece ay dönüşümleri deniyor.

1349
02:11:21,320 --> 02:11:27,320
Ve aslında bu ay adlarına erişmenin birçok farklı yolu var.

1350
02:11:27,320 --> 02:11:33,320
Böylece bu sözlüğün içindeki farklı girdilere erişebildim. İlk yol sadece

1351
02:11:33,320 --> 02:11:39,320
açık ve kapalı bir köşeli parantez oluşturarak buraya sadece bir tane yazabilirim

1352
02:11:39,320 --> 02:11:44,320
anahtarlardan. Mesela buraya NOV yazabilirim. Ve bu ne olmalı

1353
02:11:44,320 --> 02:11:49,320
Kasım ayının tam adını bize geri vermeli. Yani bunu yazdırdığımda

1354
02:11:49,320 --> 02:11:55,320
Kasım ayında buraya geri döneceğimizi göreceksiniz. Yani ben de aynı şeyi yapabilirdim

1355
02:11:55,320 --> 02:12:00,320
çünkü, bilirsiniz, bunlardan herhangi birini M A R gibi söyleyebiliriz. Ve şimdi şunu elde etmeliyiz:

1356
02:12:00,320 --> 02:12:05,320
Geri yürüyün. Böylece anahtara başvurabiliyorum. Ve şuraya girecek:

1357
02:12:05,320 --> 02:12:09,320
sözlüğü değiştiriyorum ve bana bu anahtarla ilişkili değeri verecek.

1358
02:12:09,320 --> 02:12:14,320
Aslında bunu yapmanın başka bir yolu da var. Yani ay dönüşümleri diyebilirim

1359
02:12:14,320 --> 02:12:20,320
Buranın içine bir nokta girelim. Ayrıca bir anahtarın adını da geçebilirim. Böylece geçebilirdim

1360
02:12:20,320 --> 02:12:28,320
D E C gibi. Ve şimdi Aralık ayının çıktısını alacağız. Ve kullanmanın nesi güzel

1361
02:12:28,320 --> 02:12:33,320
bu get işlevi aslında istediğim varsayılan değeri belirleyebilmemdir

1362
02:12:33,320 --> 02:12:38,320
bu anahtar bulunamazsa kullanın. Yani bazı durumlar olacak

1363
02:12:38,320 --> 02:12:41,320
bir anahtarı koyacağınız sözlüklerle uğraşmak

1364
02:12:41,320 --> 02:12:47,320
mutlaka sözlüğün içindeki bir değerle eşleştirin. Yani geçersiz bir anahtar koydunuz.

1365
02:12:47,320 --> 02:12:52,320
Öyleyse bunu yapmaya çalışalım. Yani L U V gibi yazacağım. Bu bir ay değil

1366
02:12:52,320 --> 02:12:58,320
kısaltma. Yani bunu çalıştırmayı denediğimde, burada hiçbirinin olmadığını göreceksiniz.

1367
02:12:58,320 --> 02:13:03,320
Ve çoğu durumda, bir çeşit varsayılan oluşturmak isteyeceksiniz.

1368
02:13:03,320 --> 02:13:08,320
değer. Yani herhangi bir anahtarla eşleştirilemeyen bir anahtarım olduğu bir durumdaysam

1369
02:13:08,320 --> 02:13:14,320
Bu sözlüğün içindeki değerlere göre, aslında ona varsayılan bir değer iletebilirim. Yani

1370
02:13:14,320 --> 02:13:19,320
bu nokta get fonksiyonunun içine virgül koyabilirim. Ve şimdi bir gibi geçebilirim

1371
02:13:19,320 --> 02:13:25,320
yazdırılacak varsayılan değer. Yani geçerli bir anahtar olmadığını söyleyebilirim. Ve şimdi ben

1372
02:13:25,320 --> 02:13:30,320
geçersiz anahtarı girin, yok demek yerine devam edin ve hayır diyecek

1373
02:13:30,320 --> 02:13:35,320
geçerli bir anahtar. Yani bu bize düşebileceğimiz varsayılan bir değer verecek

1374
02:13:35,320 --> 02:13:41,320
geri dön. Yani bu sözlükler gerçekten harika. Ve buradaki anahtarlar

1375
02:13:41,320 --> 02:13:45,320
dize olmalı. Yani sayıları da kullanabilirsiniz. Mesela şunu söyleyebilirim

1376
02:13:45,320 --> 02:13:52,320
Sıfır, bir, 10 gibi, istediğim herhangi bir sayıyı buraya anahtar olarak koyabileceğim gibi

1377
02:13:52,320 --> 02:13:56,320
benzersiz oldukları için. Ve sonra normalde yaptığım gibi bu anahtarlara erişebildim

1378
02:13:56,320 --> 02:14:01,320
burada bu get işleviyle veya şu açık ve kapalı köşeli parantezlerle olurdu.

1379
02:14:01,320 --> 02:14:05,320
İşte sözlük kullanmanın temelleri böyle. Gerçekten faydalı olabilir

1380
02:14:05,320 --> 02:14:10,320
anahtar değer çiftlerini saklayın. Ve dürüst olmak gerekirse, bunları Python'da çok kullanacaksınız.

1381
02:14:10,320 --> 02:14:18,320
farklı veri türlerini depolayın. Bu eğitimde sizinle şunu konuşmak istiyorum:

1382
02:14:18,320 --> 02:14:24,320
Python'da while döngüleri. Şimdi bir while döngüsü temel olarak Python'daki bir yapıdır.

1383
02:14:24,320 --> 02:14:31,320
bir kod bloğunu birden çok kez çalıştırmamıza ve çalıştırmamıza olanak tanır. Yani yapabilirim

1384
02:14:31,320 --> 02:14:36,320
birkaç farklı kod satırı gibi belirtin ve sonra bu kodu bir

1385
02:14:36,320 --> 02:14:41,320
while döngüsü. Ve temel olarak bu kodun üzerinden geçerek onu tekrar tekrar çalıştırırdı.

1386
02:14:41,320 --> 02:14:46,320
belirli bir koşul yanlış olana kadar. Yani while döngüleri harika olabilir. Ve orada

1387
02:14:46,320 --> 02:14:50,320
Python'da belirli durumlar arasında geçiş yapmak isteyeceğimiz pek çok durum

1388
02:14:50,320 --> 02:14:54,320
kod satırları. Bu derste size sadece benzerlerini göstermek istiyorum

1389
02:14:54,320 --> 02:14:58,320
while döngülerinin nasıl çalıştığının temelleri. Daha sonra gelecek eğitimlerde bunu kullanacağız.

1390
02:14:58,320 --> 02:15:02,320
Küçük oyunlar ve bunun gibi şeyler yaratmak için döngüler yaparken. Öyleyse konuşalım

1391
02:15:02,320 --> 02:15:08,320
döngüler sırasında. While döngümü oluşturduğumda aslında yapmak istediğim ilk şey

1392
02:15:08,320 --> 02:15:13,320
bir tamsayı oluşturun. Temel olarak sayı olan bir değişken yaratıyorum ve siz yapmıyorsunuz

1393
02:15:13,320 --> 02:15:17,320
Bunu bir süreliğine yapmam gerekiyor, ama sadece gösterimimiz için yapacağım. Yani

1394
02:15:17,320 --> 02:15:22,320
Buna ben diyeceğim ve bunu bire eşitleyeceğim. Ve şimdi ben ne

1395
02:15:22,320 --> 02:15:26,320
yapmak istediğim şey, bir while döngüsü oluşturmak istiyorum. Yani temelde sadece şunu söyleyeceğim

1396
02:15:26,320 --> 02:15:34,320
süre. Ve burada bir koşul belirtmek istiyorum. Ve buna bizim adımız veriliyor

1397
02:15:34,320 --> 02:15:39,320
döngü koşulu veya buna döngü koruması olarak da başvurabilirsiniz. Ve temelde biz

1398
02:15:39,320 --> 02:15:44,320
bu olduğu sürece while döngüsünün içindeki kodda döngü yapmaya devam edeceğim

1399
02:15:44,320 --> 02:15:50,320
durum doğrudur. Yani buraya koyduğum koşul ne olursa olsun, bu doğru olduğu sürece, biz

1400
02:15:50,320 --> 02:15:53,320
while döngüsünün içindeki kodda döngü yapmaya devam edeceğim. Yani sadece şunu söyleyeceğim

1401
02:15:53,320 --> 02:16:02,320
ben 10'dan küçük veya ona eşitken. Şimdi iki nokta üst üste koyacağım ve gidiyorum

1402
02:16:02,320 --> 02:16:07,320
yeni bir hat yapmak için. Ve bu while döngüsü bildiriminin altındaki her şey ve

1403
02:16:07,320 --> 02:16:13,320
bu şekilde girintili olan bu sürenin içindeki kod olarak kabul edilecektir

1404
02:16:13,320 --> 02:16:18,320
döngü. Ve böylece bu koşul devam ederken kod tekrar tekrar çalıştırılacak

1405
02:16:18,320 --> 02:16:23,320
burası doğru. Buraya çok basit bir kod satırı koyacağım. biz

1406
02:16:23,320 --> 02:16:27,320
sadece I'nin değerini yazdıracağım. Ve sonra burada aslında şunu yapacağım:

1407
02:16:27,320 --> 02:16:34,320
I'yi artıracağım ve buna bir ekleyeceğim, I'in I artı bire eşit olduğunu söyleyeceğim.

1408
02:16:34,320 --> 02:16:39,320
Yani temelde bu değeri alıyorum ve ona bir tane ekliyorum. Aslında bir tane var

1409
02:16:39,320 --> 02:16:44,320
Python'da buna benzer bir şey yapmak için kullanabileceğimiz kısa yol, ancak şunu söyleyebilirim

1410
02:16:44,320 --> 02:16:51,320
I artı bire eşittir ve bu otomatik olarak I'e bir ekleyecektir.

1411
02:16:51,320 --> 02:16:56,320
küçük bir kısaltma ve Python'daki insanların bunu çok kullandığını göreceksiniz. Yani burada

1412
02:16:56,320 --> 02:17:02,320
Temelde while döngümüz var. Yani bir süre döngüsünün taslağına sahibim. Yani biz

1413
02:17:02,320 --> 02:17:06,320
bu değişkeni burada tanımlıyoruz ve kodun içinde döngüye devam edeceğiz

1414
02:17:06,320 --> 02:17:12,320
Buradaki koşul doğru olduğu sürece while döngüsünün içinde. Yani eğer bu

1415
02:17:12,320 --> 02:17:17,320
koşul yanlıştır, örneğin eğer ben on bire eşitsem o zaman bunu yapmayacağız

1416
02:17:17,320 --> 02:17:21,320
Artık bu kodun üzerinden geçin ve devam edeceğiz. İşte buradayım

1417
02:17:21,320 --> 02:17:27,320
aslında sadece baskıya gidiyorum. Döngü ile işim bitti. Yani bu bir nevi örnek teşkil edecek

1418
02:17:27,320 --> 02:17:32,320
bu bizim için. Pekala, devam edelim ve bu programı çalıştıralım. sadece koşacağım

1419
02:17:32,320 --> 02:17:38,320
o. Ve burada bazı çıktılar elde ettiğimizi göreceksiniz. Yani aslında şunu elde edeceğiz

1420
02:17:38,320 --> 02:17:43,320
sayılar birden ona kadar basılıyor ve sonra biz yazdırıyoruz

1421
02:17:43,320 --> 02:17:48,320
döngü ile yapılır. Yani temelde olan şu ki, her şeyin çıktısını alıyoruz

1422
02:17:48,320 --> 02:17:53,320
Bu döngüden geçtiğimiz zaman. Yani başlangıçta I bir sağa eşit. İlk şey

1423
02:17:53,320 --> 02:17:56,320
Python'un bu while döngüsüne geldiğinde yapacağı şey kontrol edecek

1424
02:17:56,320 --> 02:18:00,320
bu durum. Yani başka bir şey yapmadan önce bunu kontrol edecek

1425
02:18:00,320 --> 02:18:05,320
koşul ve tamam diyecek, bir ondan küçük veya ona eşit ve bu da

1426
02:18:05,320 --> 02:18:10,320
doğru. Yani bu adam doğru olduğu sürece devam edeceğiz ve döngüye gireceğiz

1427
02:18:10,320 --> 02:18:14,320
tüm kodlar burada. Yani i'nin çıktısını alacağız.

1428
02:18:14,320 --> 02:18:19,320
Birin değerini ve sonra i'ye bir ekleyeceğiz. Şimdi buradan gideceğim

1429
02:18:19,320 --> 02:18:24,320
bire iki. Şimdi yapacağımız şey, en yukarıya doğru gitmek olacak

1430
02:18:24,320 --> 02:18:29,320
İşte bu while döngüsü bildirimine ve koşulu tekrar kontrol edeceğiz.

1431
02:18:29,320 --> 02:18:33,320
Bu yüzden, durumu ilk kez kontrol ettiğimi ve ardından hepsini tekrarladığımı unutmayın.

1432
02:18:33,320 --> 02:18:38,320
kodu sonra tekrar en üste çıkıyorum ve tekrar kontrol ediyorum. O yüzden şunu söyleyeceğim

1433
02:18:38,320 --> 02:18:44,320
tamam ondan küçük müyüm yoksa ona eşit miyim? Bu noktada i ikiye eşittir. ben de öyleyim

1434
02:18:44,320 --> 02:18:48,320
ondan küçük veya ona eşit. Şimdi devam edeceğiz ve uygulayacağız

1435
02:18:48,320 --> 02:18:52,320
tüm bu kod tekrar. Yani i'nin çıktısını alacağım yani iki olacak ve ben

1436
02:18:52,320 --> 02:18:57,320
i'ye bir tane ekleyeceğim, yani şimdi elimizde üç tane var. O zaman Python sonuna kadar gidecek

1437
02:18:57,320 --> 02:19:02,320
en üste geri dönün ve durumu tekrar kontrol edecek. Yani her seferinde

1438
02:19:02,320 --> 02:19:06,320
Python bu döngünün içinde olanı yapmadan önce döngü boyunca yineleme

1439
02:19:06,320 --> 02:19:11,320
bu durumu kontrol edeceğim. Ve koşul doğru kaldığı sürece biz

1440
02:19:11,320 --> 02:19:15,320
Döngü içindeki kodu çalıştırmaya devam edeceğiz. Nihayetinde bu konuda

1441
02:19:15,320 --> 02:19:20,320
program i sonunda on bir olacağım. Yani son yinelemede bu olacak

1442
02:19:20,320 --> 02:19:24,320
sonunda on bir olmak. Buraya geri döneceğiz ve hmm diyeceğiz

1443
02:19:24,320 --> 02:19:29,320
on bir ondan küçük mü yoksa ona eşit mi? Hayır. Ve hayır olduğuna göre gidiyoruz

1444
02:19:29,320 --> 02:19:33,320
buraya gelip bunu döngü çizgisiyle yazdıracağız. İşte bu

1445
02:19:33,320 --> 02:19:38,320
bu while döngülerinin nasıl çalıştığının temelleri. sürece bir döngü koşulu belirliyoruz

1446
02:19:38,320 --> 02:19:42,320
bu koşul doğru olduğundan, kodu döngünün içinde çalıştırmaya devam edeceğiz.

1447
02:19:42,320 --> 02:19:46,320
Ve döngünün her yürütülmesinden sonra geri gelip kontrol edeceğiz.

1448
02:19:46,320 --> 02:19:52,320
yine durum. İşte bu çıktıyı burada bu şekilde elde ediyoruz. Yani

1449
02:19:52,320 --> 02:19:57,320
while döngüsünün temelleri budur. Ve bunların hepsini yapmak için bu while döngülerini kullanabiliriz

1450
02:19:57,320 --> 02:20:05,320
türlü şeyler. Mesela while döngüleri çok çok güçlü. Bu eğitimde ben

1451
02:20:05,320 --> 02:20:10,320
Sizlere Python'da temel bir tahmin oyununun nasıl oluşturulacağını göstereceğim. Ve bunda

1452
02:20:10,320 --> 02:20:14,320
tahmin oyunu aslında her türlü harika programlamayı kullanacağız

1453
02:20:14,320 --> 02:20:17,320
Bu noktaya kadar kursta öğrendiğimiz yapılar. Yani biz gidiyoruz

1454
02:20:17,320 --> 02:20:21,320
if ifadeleri, while döngüleri ve değişkenler gibi şeyleri kullanıyor olmak ve tüm bunlar

1455
02:20:21,320 --> 02:20:26,320
Bu oyunu geliştirmek için harika şeyler. Yani temel fikir şu: belirteceğiz

1456
02:20:26,320 --> 02:20:31,320
gizli bir kelime gibi. Böylece programımızın içinde sakladığımız gizli bir kelimemiz olacak.

1457
02:20:31,320 --> 02:20:36,320
Daha sonra kullanıcı programla etkileşime girebilir ve gizli kelimeyi tahmin etmeye çalışabilir.

1458
02:20:36,320 --> 02:20:40,320
Ve böylece olmasını istediğimiz şey, kullanıcının

1459
02:20:40,320 --> 02:20:44,320
Gizli kelimenin ne olduğunu tahmin edin ve farklı yanıtlar yazmaya devam edin.

1460
02:20:44,320 --> 02:20:50,320
gizli kelimeyi doğru söyle. İşte bu oyunun ne olacağına dair temel bilgiler.

1461
02:20:50,320 --> 02:20:54,320
Şimdi devam edelim ve onu yaratalım. Bu yüzden yapmak istediğimiz ilk şey bir

1462
02:20:54,320 --> 02:21:01,320
gizli kelimemizi saklayacak değişken. Böylece gizli kelimeyi söyleyebilirim ve biz sadece

1463
02:21:01,320 --> 02:21:04,320
bunu gizli bir kelimeye eşitleyeceğiz. O halde neden taslak haline getirmiyoruz? bu

1464
02:21:04,320 --> 02:21:08,320
oldukça güzel bir gizli kelime. Ve şimdi yapmak istediğimiz şey, bir

1465
02:21:08,320 --> 02:21:13,320
Kullanıcının yanıtını saklayacak değişken. Bu yüzden bunu sağlayacak bir değişken istiyorum

1466
02:21:13,320 --> 02:21:18,320
kullanıcının yaptığı tüm tahminleri saklayın. O yüzden bunu arayacağım

1467
02:21:18,320 --> 02:21:23,320
tahmin et. Ve şimdi bunu boş bir dizeye eşitleyeceğim. Yani şimdi biz

1468
02:21:23,320 --> 02:21:28,320
gizli kelimemiz var ve kullanıcının tahminini saklayacak bir değişkenimiz var. Ve

1469
02:21:28,320 --> 02:21:33,320
yapmamız gereken, kullanıcıdan sırrı girmesini isteyebilmemiz gerektiğidir

1470
02:21:33,320 --> 02:21:38,320
kelime. Ama sorun şu ki. Gerçekleşmesini istediğimiz şey, onların

1471
02:21:38,320 --> 02:21:42,320
gizli kelime. Ve eğer doğru tahmin etmezlerse, onlardan şunu yapmalarını istiyoruz:

1472
02:21:42,320 --> 02:21:48,320
tekrar girin. Yani tek bir input ifadesi kullanamayız. Aslında elimizde

1473
02:21:48,320 --> 02:21:53,320
while döngüsü adı verilen bir şeyi kullanmak için. Ve şunu yapmak için while döngüsünü kullanabiliriz:

1474
02:21:53,320 --> 02:21:59,320
Kişiden, doğru tahmin edene kadar sürekli olarak kelimeyi tahmin etmesini isteyin. Bu yüzden

1475
02:21:59,320 --> 02:22:03,320
Hadi devam edelim ve while döngümüzü oluşturalım. Bu yüzden bir süre söyleyeceğim. Ve benden sonra

1476
02:22:03,320 --> 02:22:09,320
diyelim ki bir döngü koşulu veya döngü koruması belirtmem gerekiyor. Temel olarak,

1477
02:22:09,320 --> 02:22:13,320
bu doğru olduğu sürece tekrarlamaya devam edeceğimiz bir şey

1478
02:22:13,320 --> 02:22:18,320
bu döngü. Temel olarak, döngü devam ettiği sürece devam etmek istediğimi söylemek istiyorum.

1479
02:22:18,320 --> 02:22:25,320
kullanıcının tahmini gizli kelimeye eşit değildir. Yani tahmin etmedikleri sürece

1480
02:22:25,320 --> 02:22:31,320
gizli kelime, bu döngüden geçmeye devam edeceğim. Ve bunun içinde

1481
02:22:31,320 --> 02:22:35,320
Döngüde yapacağımız şey, onlardan gizli kelimeyi girmelerini isteyeceğiz. Yani

1482
02:22:35,320 --> 02:22:42,320
Bu tahmin değişkenini alıp girdiye eşitleyebilirim. Ve ben sadece gidiyorum

1483
02:22:42,320 --> 02:22:49,320
tahmin girin demek. Ve burada, temel olarak kullanıcıya içeri girmesini söylüyoruz

1484
02:22:49,320 --> 02:22:56,320
onların tahmini. Bu tahmin değişkeninin içine girdikleri her şeyi saklıyorum. Ve

1485
02:22:56,320 --> 02:22:59,320
o zaman ne olacak, buraya geri döneceğiz. Kontrol edeceğiz

1486
02:22:59,320 --> 02:23:04,320
Tahminin gizli kelimeye eşit olup olmadığını görmek için. Tahmin eşit değilse

1487
02:23:04,320 --> 02:23:08,320
gizli kelime, sonra tekrar yapacağız. Ancak tahmin şuna eşitse:

1488
02:23:08,320 --> 02:23:13,320
gizli kelime, o zaman bu döngüden kurtulacağız. Ve böylece aşağı inebiliriz

1489
02:23:13,320 --> 02:23:20,320
burada. Ve bir başarı mesajı yazdırabiliriz. Kazandığını söyleyebilirim çünkü

1490
02:23:20,320 --> 02:23:25,320
gizli kelimeyi buldular. Yani bu çok çok basit bir program. Ama bu

1491
02:23:25,320 --> 02:23:30,320
esasen böyle bir oyun geliştirebilmemiz için ihtiyacımız olan kodun tamamı. Yani

1492
02:23:30,320 --> 02:23:35,320
hadi devam edelim ve oyunumuzu oynayalım. Çalıştırıp nasıl yaptığımızı görebiliriz. Yani ben gidiyorum

1493
02:23:35,320 --> 02:23:40,320
oynat'ı tıklayın. Ve burada, bizi bir tahminde bulunmaya teşvik ettiğini görebilirsiniz. yani ben

1494
02:23:40,320 --> 02:23:44,320
sadece rastgele bir metin yazacağım, ne istersek yazabiliriz

1495
02:23:44,320 --> 02:23:48,320
istiyorum. Ve o gizli kelimeyi girmediğimiz sürece, bu saklı kalacak

1496
02:23:48,320 --> 02:23:54,320
farklı bilgiler girmemizi istiyor. Ama eğer gizli kelimeye girersem, eğer

1497
02:23:54,320 --> 02:23:58,320
Taslağa giriyorum, şimdi program aniden sona erecek ve bu

1498
02:23:58,320 --> 02:24:04,320
"Hey, sen kazandın çünkü gizli kelimeyi tahmin edebildik" diyeceğim. yani bu

1499
02:24:04,320 --> 02:24:08,320
Bunu yapabilmemiz için gerçekten harika bir yol gibi. Ve aslında tam olarak

1500
02:24:08,320 --> 02:24:13,320
fonksiyonel tahmin oyunu. Ama bence bu tahmin oyunu aslında

1501
02:24:13,320 --> 02:24:19,320
oldukça iyileşti. Çoğu zaman bir tahmin oyunu yaptığımızda,

1502
02:24:19,320 --> 02:24:24,320
bir sınır belirleyin. Başka bir deyişle, kaç kez yapılacağına dair bir sınır belirlemek istiyorum.

1503
02:24:24,320 --> 02:24:28,320
Kullanıcı kelimeyi tahmin etmeye çalışabilir. Diyelim ki kullanıcının üç denemesi var,

1504
02:24:28,320 --> 02:24:32,320
doğru, kelimeyi tahmin etmek için üç tahminleri var. Ve eğer tahmin edemezlerse

1505
02:24:32,320 --> 02:24:36,320
Üç denemeden sonra kelimeyi söylerlerse oyunu kaybedecekler. Ama eğer yapabilirlerse

1506
02:24:36,320 --> 02:24:40,320
Üç denemede içindeki kelimeyi tahmin edersen oyunu kazanacaklar, değil mi? sanırım

1507
02:24:40,320 --> 02:24:44,320
bu biraz daha eğlenceli bir oyun olurdu. Peki neden programlamayı denemiyoruz?

1508
02:24:44,320 --> 02:24:49,320
o oyun mu? Temel olarak, tahminlerin sayısına bir sınır koyacağız.

1509
02:24:49,320 --> 02:24:54,320
kullanıcı sahip olabilir. Bunu yapabilmek için birkaç tane daha oluşturmamız gerekecek.

1510
02:24:54,320 --> 02:24:58,320
değişkenler burada. Başka bir deyişle, birkaç tane daha depolamamız gerekecek

1511
02:24:58,320 --> 02:25:03,320
bilgi parçaları. Takip etmek istediğim ilk bilgi parçası

1512
02:25:03,320 --> 02:25:08,320
Kullanıcı kaç kez tahmin etti, değil mi? Yani sadece adında bir değişken yapabiliriz

1513
02:25:08,320 --> 02:25:13,320
sayımı tahmin et. Ve bunu sıfıra eşitleyeceğiz çünkü başlangıçta kullanıcı

1514
02:25:13,320 --> 02:25:19,320
Bu while döngüsünde tahminde bulundum. Döngüden her geçtiğimizde, şunu yapmak istiyorum

1515
02:25:19,320 --> 02:25:24,320
tahmin sayısını artırın, değil mi? Yani bu while döngüsünden her geçtiğimizde,

1516
02:25:24,320 --> 02:25:29,320
Bu sayıyı artırmak istiyorum çünkü bu, kullanıcının tahmin edeceği anlamına gelir.

1517
02:25:29,320 --> 02:25:36,320
Yani burada tahmin sayımı artı bire eşit diyeceğim. Ve bu sadece gidiyor

1518
02:25:36,320 --> 02:25:42,320
tahmin sayısına bir tane eklemek için, aslında eyvah. Tamam, her birinden sonra

1519
02:25:42,320 --> 02:25:46,320
Bu döngünün yinelenmesinde devam edeceğiz ve tahmin sayısına bir tane ekleyeceğiz.

1520
02:25:46,320 --> 02:25:49,320
Tamam, ihtiyacımız olacak ilk değişken bu. Biz de gidiyoruz

1521
02:25:49,320 --> 02:25:54,320
başka bir değişkeni saklamak istiyorum. Ve buna tahmin sınırı denecek. Ve

1522
02:25:54,320 --> 02:25:59,320
Temel olarak bu bize kullanıcının kelimeyi kaç kez tahmin edebileceğini söyleyecektir.

1523
02:25:59,320 --> 02:26:04,320
Bu yüzden tahmin sınırı olacak. Ve temelde sadece üç diyeceğiz.

1524
02:26:04,320 --> 02:26:08,320
Diyelim ki kullanıcının üç vuruş kelimesini tahmin etmek için üç denemesi var ve

1525
02:26:08,320 --> 02:26:13,320
dışarıdasın. Yani kullanıcı, eğer üç denemede de başaramazsa, o zaman biz

1526
02:26:13,320 --> 02:26:17,320
temelde oyunu kaybettiklerini söylüyorlar. Ayrıca bir taneye daha ihtiyacım olacak

1527
02:26:17,320 --> 02:26:25,320
Burada tahminlerden yola çıkarak adlandıracağımız değişken. Ve ben sadece ayarlayacağım

1528
02:26:25,320 --> 02:26:30,320
bu başlangıçta false'a eşittir. Yani bu tahmin dışı değişken bir olacak

1529
02:26:30,320 --> 02:26:35,320
Boolean. Ve bize kullanıcının tahminlerin dışında olup olmadığını söyleyecek. Yani eğer

1530
02:26:35,320 --> 02:26:39,320
Tahminlerin dışında doğru, bu da artık tahminlerinin olmadığı anlamına geliyor, değil mi? Onlar temelde

1531
02:26:39,320 --> 02:26:44,320
oyunu kaybetti. Ve eğer tahminler yanlışsa, bu onların hala var olduğu anlamına gelir

1532
02:26:44,320 --> 02:26:48,320
oynamaya devam edebilmeleri için bazı tahminler kaldı. Pekala, hadi bunları kullanalım

1533
02:26:48,320 --> 02:26:53,320
Programımızı daha işlevsel hale getirmek için farklı değişkenler. Yani ilk

1534
02:26:53,320 --> 02:26:58,320
Yapmak istediğim şey bu döngüden geçtiğimde emin olmak için kontrol etmek istiyorum

1535
02:26:58,320 --> 02:27:04,320
kullanıcının daha fazla tahmini var, değil mi? Başka bir deyişle, kullanıcıya izin vermeden önce

1536
02:27:04,320 --> 02:27:08,320
bir tahmin girin, hepsini tüketmediklerini kontrol etmek istiyorum

1537
02:27:08,320 --> 02:27:13,320
onların tahminleri. Yani burada bir if ifadesi yapabilirim. Eğer ve içeride diyebilirim

1538
02:27:13,320 --> 02:27:21,320
koşulun, tahmin sayısının tahmin sınırından az olup olmadığını kontrol etmek istiyorum.

1539
02:27:21,320 --> 02:27:27,320
Tahmin sayısı tahmin sınırından azsa bu, tahmin etmedikleri anlamına gelir.

1540
02:27:27,320 --> 02:27:32,320
sahip oldukları toplam tahmin sayısı. Yani bazı tahminleri kaldı. Ve eğer öyleyse

1541
02:27:32,320 --> 02:27:38,320
durum ve eğer bu doğruysa, o zaman devam edip onlara bir tahminde bulunacağım ve

1542
02:27:38,320 --> 02:27:43,320
daha sonra tahmin sayısını artıracağız. Eğer bu doğru değilse, başka bir deyişle, eğer

1543
02:27:43,320 --> 02:27:50,320
Tahmin sınırına ulaşıldıysa, o zaman tahminlerden çıkmak isteyeceğim

1544
02:27:50,320 --> 02:27:54,320
doğruya eşit çünkü tahminlerin dışındalar, değil mi? Artık tahminleri kalmadı

1545
02:27:54,320 --> 02:27:58,320
çünkü tahmin sayısı tahmin sınırından az değildi. Ve bu şu anlama geliyor

1546
02:27:58,320 --> 02:28:02,320
tahminlerin dışındalar. Yani artık tahminleri yok. Yani aslında bir tane daha var

1547
02:28:02,320 --> 02:28:07,320
bu while döngüsünün içinde yapmamız gereken şey, başka bir koşul eklememiz gerekiyor

1548
02:28:07,320 --> 02:28:11,320
bu döngü korumasına geçin. Yani şu anda, döngü devam ettiği sürece devam edeceğiz.

1549
02:28:11,320 --> 02:28:17,320
tahmin gizli kelimeye eşit değildir. Ancak unutmayın, eğer kullanıcının tahminleri bittiyse,

1550
02:28:17,320 --> 02:28:21,320
diğer bir deyişle tahmin sınırına ulaşmışlarsa tahmin etmelerini istemeyiz

1551
02:28:21,320 --> 02:28:25,320
artık, değil mi? Yani eğer tahminleri biterse, o zaman esas olarak bu tahminden çıkmak isteriz.

1552
02:28:25,320 --> 02:28:29,320
Bu döngüyü tamamlayın ve onlara daha fazla tahmin vermeyin. O halde devam edip ekleyeceğim

1553
02:28:29,320 --> 02:28:33,320
burada başka bir koşul var. Ve şunu söyleyeceğim, onlar henüz tahmin etmemişken

1554
02:28:33,320 --> 02:28:41,320
gizli kelime ve tahminlerden ibaret değil. Yani dışarı çıkmayacak

1555
02:28:41,320 --> 02:28:47,320
tahminler. Daha sonra döngüye devam edeceğiz. Kelimeyi tahmin etmedikleri sürece,

1556
02:28:47,320 --> 02:28:51,320
ve ellerinde hâlâ bazı tahminler kaldığı sürece döngüye devam edeceğiz. Ama

1557
02:28:51,320 --> 02:28:56,320
aksi halde döngünün dışına çıkacağız. Ve burada, çıktısını alıyoruz

1558
02:28:56,320 --> 02:29:01,320
sen kazandın. Ama aslında bu döngüden çıktığımızda iki şey olacak

1559
02:29:01,320 --> 02:29:07,320
olası senaryolar. Tekrar ediyorum, bu döngünün sona ermesinin iki olası yolu var;

1560
02:29:07,320 --> 02:29:11,320
değil mi? Ya gizli kelimeye eşit tahminler. Yani kullanıcı ya tahmin etti

1561
02:29:11,320 --> 02:29:17,320
kelimeyi doğru kullanmış veya kullanıcının tahminleri kalmamış. Ve böylece iki durum var

1562
02:29:17,320 --> 02:29:21,320
burada hesap vermemiz gereken şey var. Ve bu yüzden bir if ifadesi kullanacağım

1563
02:29:21,320 --> 02:29:27,320
hangisinin hangisi olduğunu anlayın. Yani eğer diyeceğim ve sadece yazacağız

1564
02:29:27,320 --> 02:29:35,320
tahminlerden ibaret. Ve eğer kullanıcının tahminleri bittiyse, o zaman çıktı almak istiyorum

1565
02:29:35,320 --> 02:29:41,320
kaybedersin. Yani temelde şöyle olacağız: Oyunu kaybettin. Aksi takdirde,

1566
02:29:41,320 --> 02:29:45,320
Eğer tahminleri bitmemişse bu, kelimeyi doğru tahmin ettikleri anlamına gelir. Yani

1567
02:29:45,320 --> 02:29:50,320
kazandığınızı yazdıracağız. Tamam, şimdi tüm mantığımıza sahibiz

1568
02:29:50,320 --> 02:29:54,320
bu küçük tahmin oyunu kurulumu. Bakalım bunu çalıştırıp oynayabilecek miyiz?

1569
02:29:54,320 --> 02:29:59,320
o. Bu yüzden bu programı çalıştıracağım. Ve şimdi bize şunu söyleyecektir:

1570
02:29:59,320 --> 02:30:03,320
bir tahmin girin. Peki neden sahip olduğumuzdan daha fazla tahmin girmiyoruz? Yani biz gidiyoruz

1571
02:30:03,320 --> 02:30:07,320
oyunu kaybetmeye çalışın. O yüzden sadece bir tahmin, iki tahmin gireceğim. Ve şimdi ben

1572
02:30:07,320 --> 02:30:12,320
son tahminime göre. Yani eğer bunu burada anlayamazsam aslında oyunu kaybetmemiz gerekir. Ve

1573
02:30:12,320 --> 02:30:17,320
tahminlere dayanarak kaybettiğinizi söylediğini görebilirsiniz. O yüzden tahmin edemedik

1574
02:30:17,320 --> 02:30:22,320
yaptığımız deneme sayısı. Programı tekrar çalıştıralım ve kazanmaya çalışalım.

1575
02:30:22,320 --> 02:30:27,320
oyun. Bu yüzden birkaç yanlış anlayacağız. Diyelim ki son tahminimizdeyiz. Ben de şöyleyim:

1576
02:30:27,320 --> 02:30:34,320
Tamam, bunu yapabilirim. Ben de kelimeyi yazdım ve bam, oyunu kazandık. Biz de böyleyiz

1577
02:30:34,320 --> 02:30:39,320
temelde tahmin sınırımızın olduğu bir oyun yaratabiliriz. Yani bu çok fazla kod.

1578
02:30:39,320 --> 02:30:42,320
Size bu konuda bir kez daha rehberlik etmeme izin verin, böylece tam bir deneyim elde edebilirsiniz.

1579
02:30:42,320 --> 02:30:47,320
ne yaptığımızı anlıyoruz. Burada birkaç farklı değişken oluşturdum. Biz

1580
02:30:47,320 --> 02:30:52,320
bu gizli kelime değişkenini yarattık ve biz de bu tahmin değişkenini yarattık. Ve sonra biz

1581
02:30:52,320 --> 02:30:57,320
ayrıca bazı değişkenler daha yarattı. Böylece bu tahmin sayısı değişkenini yarattık. Ve bu

1582
02:30:57,320 --> 02:31:03,320
kullanıcının kelimeyi kaç kez tahmin ettiğini takip eder. Ve görebilirsin

1583
02:31:03,320 --> 02:31:10,320
Burada onlara her tahmin verdiğimizde tahmin sayısını artırıyoruz. Biz de

1584
02:31:10,320 --> 02:31:15,320
Tahmin sınırı var. Tahmin sınırı ise programa kullanıcının kaç kez tahminde bulunabileceğini söylemektir.

1585
02:31:15,320 --> 02:31:20,320
tahmin et. Bu while döngüsüne geçmeden önce yaptığım ilk şey şu:

1586
02:31:20,320 --> 02:31:25,320
Tahmin sayısının tahmin sınırından az olup olmadığını kontrol etmek. Başka bir deyişle,

1587
02:31:25,320 --> 02:31:30,320
hala bazı tahminleri kaldı mı? Eğer yaparlarsa, o zaman alacağız

1588
02:31:30,320 --> 02:31:36,320
kullanıcıdan giriş. Aksi halde, burada başka bir değişkene "out of" adı verilir.

1589
02:31:36,320 --> 02:31:40,320
tahminler. Ve tahminlerin dışında bize onların bazı tahminleri olup olmadığını söyleyecek

1590
02:31:40,320 --> 02:31:45,320
Sol. Yani eğer bu yanlışa eşitse, bu onların bazı tahminleri olduğu anlamına gelir. eğer öyleyse

1591
02:31:45,320 --> 02:31:50,320
doğruya eşit, ancak artık zar yok, tahmin yok, hepsi bitti demektir. Yani

1592
02:31:50,320 --> 02:31:54,320
oyunu kaybettiler. Yapmamız gereken son şey ek bir özellik belirtmekti.

1593
02:31:54,320 --> 02:32:00,320
durum burada. Yani bunun içindeki kodda döngü yapmaya devam edeceğiz

1594
02:32:00,320 --> 02:32:06,320
Buradaki koşullar doğru olduğu sürece döngü. Yani onlar yapmadıkları sürece

1595
02:32:06,320 --> 02:32:13,320
kelimeyi tahmin ettim ve tahminlerin dışında kalmadıkları sürece tahminlerimizi sürdüreceğiz

1596
02:32:13,320 --> 02:32:18,320
döngü halinde geçiyor. Ve sonunda kullanıcı bu döngüden çıktığında,

1597
02:32:18,320 --> 02:32:22,320
iki olası durum olacak. İlk durum, kaçmaları

1598
02:32:22,320 --> 02:32:26,320
tahminlerin dışında. Durumun bu olup olmadığını kontrol etmek istiyoruz. istiyorum

1599
02:32:26,320 --> 02:32:30,320
tahminlerin kalıp kalmadığını kontrol edin. Eğer öyleyse, bir yenilginin çıktısını alacağız

1600
02:32:30,320 --> 02:32:34,320
mesaj. Değilse, o zaman doğru tahmin etmiş olmalılar. Yani kazanıyorlar. Ve böylece

1601
02:32:34,320 --> 02:32:38,320
while döngülerini, if ifadelerini ve ayrıca değişkenleri bu şekilde kullanabiliriz.

1602
02:32:38,320 --> 02:32:43,320
oldukça harika bir tahmin oyunu oluşturmak için birbirleriyle kombinasyon halinde.

1603
02:32:47,320 --> 02:32:52,320
Bu derste sizlerle Python'da for döngülerinin kullanımı hakkında konuşmak istiyorum. Şimdi

1604
02:32:52,320 --> 02:32:57,320
for döngüsü Python'da döngü yapmamızı sağlayan özel bir döngü türüdür

1605
02:32:57,320 --> 02:33:03,320
farklı ürün koleksiyonları. Python'da çoğu zaman for döngülerini kullanacağız.

1606
02:33:03,320 --> 02:33:08,320
farklı diziler arasında döngü gibi veya içindeki harfler gibi döngü yapabiliriz

1607
02:33:08,320 --> 02:33:13,320
bir dizenin, ya da bir dizi sayı gibi döngüler halinde dolaşabiliriz. Yani döngüler için

1608
02:33:13,320 --> 02:33:18,320
çok özel bir amaç sağlar. Ve kafanı sarmanın en kolay yolu

1609
02:33:18,320 --> 02:33:21,320
for döngülerinin neden yararlı olduğuyla ilgili olarak size bir sürü şey göstereceğim.

1610
02:33:21,320 --> 02:33:25,320
farklı örnekler. Ben de tam olarak bunu yapacağım. Biz bakacağız

1611
02:33:25,320 --> 02:33:31,320
for döngüleri neden harika? Yani burada, metin dosyamda ve Python dosyamda, ben

1612
02:33:31,320 --> 02:33:34,320
Birkaç farklı for döngüsü yazacağım. Yani bir yaratma şeklimiz

1613
02:33:34,320 --> 02:33:41,320
for döngüsü sadece for diyerek yapılır. Şimdi yapmak istediğim şey bir değişken belirtmek.

1614
02:33:41,320 --> 02:33:48,320
Ve bu değişken aslında her seferinde farklı bir değeri temsil edecek.

1615
02:33:48,320 --> 02:33:53,320
bu for döngüsünü uygulayın. Birazdan bunun nasıl çalıştığını göreceksiniz. Ama

1616
02:33:53,320 --> 02:33:58,320
sadece bu değişkenin for değişkenimizin her yinelemesinde kullanılacağını bilin.

1617
02:33:58,320 --> 02:34:04,320
döngü. Ve her seferinde büyük olasılıkla farklı bir değere sahip olacaktır. Yani bizim durumumuzda,

1618
02:34:04,320 --> 02:34:10,320
Bu mektubu arayacağım. Ve mektup için şunu söyleyeceğim. Ve şimdi

1619
02:34:10,320 --> 02:34:15,320
yapmak istediğim şey, üzerinde döngü yapmak istediğim bir koleksiyon belirtmek istiyorum.

1620
02:34:15,320 --> 02:34:19,320
Bunun bir örneği bir dize gibi olabilir. Yani buraya bir dize koyabilirim.

1621
02:34:19,320 --> 02:34:24,320
Taslak Akademi gibi koyabilirim. Ve şimdi iki nokta üst üste koyabilirim. Ve böylece

1622
02:34:24,320 --> 02:34:29,320
Temel olarak bunun söyleyeceği şey, içindeki her harf için şunu söyleyecektir

1623
02:34:29,320 --> 02:34:35,320
Taslak Akademisi'nden bir şeyler yapmak istiyorum. Ve burada, bu for döngüsünün içinde

1624
02:34:35,320 --> 02:34:40,320
ve yine, bunu girintilememiz gerekiyor. Her harfin yanına yapmak istediklerimizi koyabiliriz.

1625
02:34:40,320 --> 02:34:44,320
Size bunun temelde ne yapacağını göstereyim. Böylece yazdırabilirim

1626
02:34:44,320 --> 02:34:49,320
bir harf yazdırırım böylece bu harf değişkenini yazdırabilirim. Ve aslında olacak

1627
02:34:49,320 --> 02:34:54,320
Bu Akademi taslağı dizisinin her sayfasına farklı bir harf yazdırın.

1628
02:34:54,320 --> 02:35:01,320
bu döngünün tek yinelemesi. Bu yüzden bu programı çalıştıracağım. Ve burada aşağıda

1629
02:35:01,320 --> 02:35:06,320
konsolumun içinde, aslında Akademi taslağının çıktısını aldığımı göreceksiniz.

1630
02:35:06,320 --> 02:35:11,320
Döngünün ilk tekrarında taslaktaki ilk harfi yazdırdım

1631
02:35:11,320 --> 02:35:16,320
Akademi, G idi. Döngünün ikinci yinelemesinde, I çıktısını aldım

1632
02:35:16,320 --> 02:35:22,320
dedi ki, üçüncüsü R, dördüncüsü A. Yani aslında sadece bunların üzerinden geçiyorum

1633
02:35:22,320 --> 02:35:28,320
Taslak Akademi'nin içindeki harfler. Taslaktaki her harf için söylüyorum

1634
02:35:28,320 --> 02:35:33,320
Akademi, o mektubun çıktısını almak istiyorum. Ve bu da bir nevi dört gibi

1635
02:35:33,320 --> 02:35:39,320
döngüler kullanılabilir. Bir değişken tanımlayabiliriz. Ve bu değişken her seferinde değişecek

1636
02:35:39,320 --> 02:35:43,320
döngünün yinelenmesi, değil mi? Yani döngünün ilk tekrarında bu harf

1637
02:35:43,320 --> 02:35:47,320
değişken bir G'yi temsil ediyordu. Döngünün ikinci yinelemesinde harf

1638
02:35:47,320 --> 02:35:52,320
I değerinde saklanan değişken vb. Doğru. Böylece tüm bu diziyi inceledik,

1639
02:35:52,320 --> 02:35:57,320
ve her mektubun çıktısını alabildik. Yani bunu şununla kullanmanın yanı sıra

1640
02:35:57,320 --> 02:36:01,320
dizeler gibi, bunu diğer koleksiyonlarla da kullanabiliriz, örneğin

1641
02:36:01,320 --> 02:36:06,320
dizi. Yani eğer burada bir dizi oluşturduysam, buna arkadaşlar diyelim, şunu yapacağım:

1642
02:36:06,320 --> 02:36:10,320
bunu bir grup farklı değere eşitleyin. Böylece bir liste gibi koyabiliriz

1643
02:36:10,320 --> 02:36:16,320
Buradaki arkadaşlara şunu söylemek yerine Jim, Karen ve Kevin gibi diyebiliriz.

1644
02:36:16,320 --> 02:36:25,320
mektup, neden bu arkadaşımızı aramıyoruz? Ve arkadaşlar içinde arkadaş için söyleyebilirim. Ve şimdi

1645
02:36:25,320 --> 02:36:31,320
arkadaşın çıktısını alacağız. Yani burada, içerideki her arkadaş için söylüyorum

1646
02:36:31,320 --> 02:36:36,320
bu arkadaşlar dizisini, arkadaşın çıktısını almak istiyorum. Yani şimdi aslında bunu başarabileceğiz

1647
02:36:36,320 --> 02:36:40,320
o dizinin içindeki her öğeyi yazdırmak için. Yani aşağıda, göreceksiniz ki biz

1648
02:36:40,320 --> 02:36:44,320
Jim'in çıktısını alıyoruz ve ikinci yinelemede Karen'ın çıktısını alıyoruz,

1649
02:36:44,320 --> 02:36:48,320
ve üçüncüsünde Kevin'in çıktısını alıyoruz. Böylece tüm işlemler arasında dolaşabiliyorum

1650
02:36:48,320 --> 02:36:53,320
dizinin içindeki değerler. Ve bilginiz olsun diye söylüyorum, buna isim verebilirsiniz

1651
02:36:53,320 --> 02:36:57,320
değişken, ne istersen. Yani isim verebilirim, bunu rastgele herhangi bir şekilde verebilirim

1652
02:36:57,320 --> 02:37:03,320
isim. Ve eğer ona erişmek istersem aynı adı kullanarak erişmem gerekiyor.

1653
02:37:03,320 --> 02:37:07,320
Yani bir dizi gibi bir şeyin içinde döngü yapabiliriz, aynı zamanda döngünün içinde de olabiliriz

1654
02:37:07,320 --> 02:37:13,320
bir dizi sayı. Yani burada indeks diyebilirim. Ve yine söylüyorum, bu herhangi bir şey olabilir.

1655
02:37:13,320 --> 02:37:18,320
Ben buna indeks diyeceğim. Yani aralıktaki indeks için söyleyebiliriz ve sonra da

1656
02:37:18,320 --> 02:37:24,320
buraya bir sayı girebilirim. Yani mesela 10 gibi geçebilirim. Ve burada,

1657
02:37:24,320 --> 02:37:28,320
Sadece endeksin çıktısını alacağım. Bu programı çalıştırdığımda şunu göreceksiniz.

1658
02:37:28,320 --> 02:37:33,320
temelde sıfırdan 10'a kadar olan aralıktaki her sayıyı yazdıracak,

1659
02:37:33,320 --> 02:37:38,320
10 hariç. Yani sıfırdan başlayarak sıfır, bir, iki yazacak.

1660
02:37:38,320 --> 02:37:43,320
üç, dört, beş, altı, yedi, sekiz, dokuz. Ancak 10'u yazdırmadığına dikkat edin.

1661
02:37:43,320 --> 02:37:48,320
Yani aslında sıfır ile 10 arasındaki tüm sayıların çıktısını almaktan ibaret.

1662
02:37:48,320 --> 02:37:54,320
10 hariç. Ayrıca bir sayı aralığı da belirleyebilirsiniz. Yani şunu söyleyebilirim ki

1663
02:37:54,320 --> 02:37:59,320
örneğin, üç ve 10 gibi. Ve şimdi bu, aradaki tüm sayıları yazdıracak

1664
02:37:59,320 --> 02:38:06,320
üç ve 10, 10 hariç. Bu programdayız. Ve yazdırdığımızı görebilirsiniz

1665
02:38:06,320 --> 02:38:11,320
üç, dört, beş, altı, yedi, sekiz, dokuz ve 10 değil.

1666
02:38:11,320 --> 02:38:17,320
buraya bu ikinci konuma koyduğunuz aralıkta yer almayacaktır.

1667
02:38:17,320 --> 02:38:22,320
Ve aralıklar gerçekten yararlı olabilir. Örneğin, döngü için bir aralık kullanabilirim

1668
02:38:22,320 --> 02:38:27,320
tıpkı daha önce yaptığımız gibi bir dizi aracılığıyla. Yani eğer isteseydim bir şeyler söyleyebilirdim

1669
02:38:27,320 --> 02:38:34,320
aralıktaki dört dizin gibi. Ve şimdi bu aralığın içinde, bu uzunluktan geçebilirim

1670
02:38:34,320 --> 02:38:40,320
dizi. Bilginiz olsun diye söylüyorum, eğer bunun uzunluğunu almak istersem

1671
02:38:40,320 --> 02:38:44,320
dizi, başka bir deyişle, içinde kaç öğe olduğunu bulmak istersem

1672
02:38:44,320 --> 02:38:49,320
bunun için sadece LEN yazıp parantezlerin içine adını yazabilirim.

1673
02:38:49,320 --> 02:38:54,320
dizi. Ve bu da üç tane çıkaracak çünkü üç element var

1674
02:38:54,320 --> 02:38:59,320
Buranın içinde, değil mi? Biraz mantıklı. Yani yapabileceğim şey şu, burada şunu söyleyebilirim

1675
02:38:59,320 --> 02:39:06,320
bu aralık fonksiyonunun içine sadece LEN ve ardından arkadaşlar yazabilirim. Peki ne

1676
02:39:06,320 --> 02:39:11,320
bu bana aslında sıfır ile sıfır arasında bir aralık verecek

1677
02:39:11,320 --> 02:39:16,320
ve bu listedeki arkadaş sayısı. Yani buraya aslında yazabilirim

1678
02:39:16,320 --> 02:39:23,320
arkadaşlar dizini dışarı. Ve bu içerideki her arkadaşıma erişmemi sağlayacak

1679
02:39:23,320 --> 02:39:28,320
tıpkı daha önce yaptığımız gibi bu listenin. Ama şimdi bunu bir aralıkla yapıyorum. Yani sen

1680
02:39:28,320 --> 02:39:34,320
Jim, Karen ve Kevin'i yazdığımı görebiliyorum. Yani aslında her yineleme için

1681
02:39:34,320 --> 02:39:41,320
Bu döngü aracılığıyla, temelde arkadaşlar sıfır, arkadaşlar bir, yazdırılacak,

1682
02:39:41,320 --> 02:39:46,320
ve sonra arkadaş iki, çünkü burada üçlüden geçiyoruz. Ve unutma,

1683
02:39:46,320 --> 02:39:50,320
ne zaman oradan geçsem sıfırdan şuraya kadar değişecek

1684
02:39:50,320 --> 02:39:54,320
sayı, ancak bu sayı dahil değil. Bu da yazdırabileceğimiz başka bir yol

1685
02:39:54,320 --> 02:39:59,320
dizideki tüm elemanları dışarı çıkarın. Ve bir dizi gibi bir şeyin içinden geçiyoruz

1686
02:39:59,320 --> 02:40:04,320
aslında for döngülerinin çok çok yaygın bir kullanım durumudur. Ama dediğim gibi yapabiliriz

1687
02:40:04,320 --> 02:40:08,320
Sahip olduğumuz herhangi bir koleksiyonda döngü yapmak için for döngülerini kullanın. Yani yapabiliriz

1688
02:40:08,320 --> 02:40:12,320
bir sicim gibi döngü halinde de geçebilirdik, bilirsiniz, bir şey gibi

1689
02:40:12,320 --> 02:40:18,320
dizi. Yani bu gerçekten faydalı olabilir. Ve bu for döngülerinin temellerinden biridir

1690
02:40:18,320 --> 02:40:22,320
Python. Ayrıca hazır buradayken size bir örnek daha göstermek istiyorum.

1691
02:40:22,320 --> 02:40:28,320
Öyleyse neden devam edip beşe kadar bir aralık yazdırmıyoruz, değil mi? Yani bu sadece

1692
02:40:28,320 --> 02:40:33,320
basit bir program olsun. Bu for döngülerinin içinde her türlü mantığı kullanabilirsiniz. Yani

1693
02:40:33,320 --> 02:40:37,320
diyelim ki ilk yinelemede özel bir şey yapmak istedim

1694
02:40:37,320 --> 02:40:44,320
döngü. Yani indeksin sıfıra eşit olup olmadığını söyleyebilirim. Ve eğer endeks sıfırsa, o zaman

1695
02:40:44,320 --> 02:40:47,320
Bunun döngünün ilk yinelemesi olduğunu biliyorum. Böylece özel bir şey yapabilirdim, yapabilirdim

1696
02:40:47,320 --> 02:40:55,320
ilk yinelemeyi yazdırmak gibi. Aksi takdirde, sanki yokmuş gibi yazdırabiliriz

1697
02:40:55,320 --> 02:40:59,320
ilk. Yani bu şöyle bir örnek olabilir, belki de bir şeyler yapmak istersiniz

1698
02:40:59,320 --> 02:41:04,320
döngünün ilk yinelemesinde ve sonraki yinelemede başka bir şey yapın. Yani eğer oynarsam

1699
02:41:04,320 --> 02:41:08,320
bu, yalnızca ilk yinelemede bunu yazdırdığını göreceksiniz. Ve

1700
02:41:08,320 --> 02:41:12,320
aksi halde başka şeyler yazdırıyor demektir. Yani, biliyorsun, biraz koymaktan korkma

1701
02:41:12,320 --> 02:41:17,320
bu for döngülerinin içindeki karmaşık mantık, çünkü programınızı gerçekten daha iyi hale getirebilir.

1702
02:41:17,320 --> 02:41:24,320
daha güçlüdür. Bu derste size nasıl bir bina inşa edeceğinizi göstereceğim.

1703
02:41:24,320 --> 02:41:29,320
üs fonksiyonu. Şimdi bir üs fonksiyonu temel olarak bir almamıza izin verecek.

1704
02:41:29,320 --> 02:41:34,320
belirli bir sayı ve onu belirli bir güce yükseltin. Yani Python'da aslında bir

1705
02:41:34,320 --> 02:41:39,320
bunu yapmanın gerçekten kolay yolu. Buraya gelebilirim ve yazdırabilirim, şöyle diyebiliriz

1706
02:41:39,320 --> 02:41:45,320
iki ve sadece iki çarpma işareti yapabiliriz. Ve üç diyebilirim. Ve bu

1707
02:41:45,320 --> 02:41:51,320
temelde sadece ikinin üçüncü kuvveti olacak. Yani burada görebilirsin, yapabilirim

1708
02:41:51,320 --> 02:41:55,320
sadece şunu yazdır ve sekiz tane elde edelim, çünkü bu çok tatlı. Yani gerçekten

1709
02:41:55,320 --> 02:42:00,320
Python'da üslü sayıları yapmak kolaydır. Ama size nasıl kullanabileceğimizi göstermek istiyorum.

1710
02:42:00,320 --> 02:42:05,320
kendimize ait böyle bir fonksiyon yaratmak için for döngüsüne benzer bir şey.

1711
02:42:05,320 --> 02:42:10,320
Aslında temelde bunu yapacak bir üslü fonksiyon yaratacağız ve

1712
02:42:10,320 --> 02:42:15,320
Bunu yapmak için for döngülerini kullanacağız. O halde bir fonksiyon yaratalım. Yani sadece şunu söyleyeceğim

1713
02:42:15,320 --> 02:42:19,320
Def. Şimdi bu fonksiyona bir isim vermemiz gerekiyor. Öyleyse neden onu aramıyoruz?

1714
02:42:19,320 --> 02:42:25,320
iktidara yükseltin. Ve buranın içinde iki parametreyi kabul edeceğim. İlk

1715
02:42:25,320 --> 02:42:30,320
parametresi taban numarası olacak. Ve sonra ikinci parametre olacak

1716
02:42:30,320 --> 02:42:35,320
güç numarası olsun. Yani taban sayısını alıp onu 1'e yükselteceğiz.

1717
02:42:35,320 --> 02:42:42,320
güç numarası. Yani burada iki nokta üst üste yapabiliriz. Şimdi, bu fonksiyonun içinde,

1718
02:42:42,320 --> 02:42:46,320
biraz kod yazmaya başlamamız gerekiyor. İşte olay şu. Fonksiyonun içinde bunu yapmıyoruz

1719
02:42:46,320 --> 02:42:52,320
Bu poundun değerini mutlaka bilin. Sağ. Örneğin, eğer bunu bildiğimizi bilseydik

1720
02:42:52,320 --> 02:42:57,320
sadece bu sayının karesini veya bu sayının küpünü almaya çalışıyordum, sadece

1721
02:42:57,320 --> 02:43:04,320
taban sayı çarpı taban sayı gibi bir sonuç elde edersiniz, değil mi? Bu sayının karesini alırdı yoksa ben de yapabilirdim

1722
02:43:04,320 --> 02:43:08,320
sayı tabanı sayısının küpü. Çok doğru. Yani bu sayının küpü gibi olacaktır.

1723
02:43:08,320 --> 02:43:12,320
Ancak sorun şu ki, bu değerin ne olacağını ilk anda bilmiyoruz

1724
02:43:12,320 --> 02:43:17,320
ol. Sağ. Bu, kullanıcının buna karar vermesiyle değişebilir. Yani bunu yazmak için

1725
02:43:17,320 --> 02:43:21,320
işlevi için aslında bir for döngüsü kullanmamız gerekecek. Ve sana göstereceğim

1726
02:43:21,320 --> 02:43:25,320
arkadaşlar bunu temel olarak çözmek için for döngüsünü nasıl kullanabiliriz. Yani ilk yaptığım şey

1727
02:43:25,320 --> 02:43:29,320
Yapmak istediğim bir değişken yaratmak. Ve ben buna sonuç diyeceğim. Ve biz

1728
02:43:29,320 --> 02:43:34,320
sonucu bire eşitleyeceğiz. Bu yüzden buna bir anda başlayacağız. Şimdi

1729
02:43:34,320 --> 02:43:41,320
For döngüsü oluşturmak istiyorum. Yani temelde sadece dört diyeceğim. Ve burada,

1730
02:43:41,320 --> 02:43:47,320
Temelde bir indeks gibi belirtmek istiyorum. Bu yüzden indeks girişi diyeceğim ve şimdi

1731
02:43:47,320 --> 02:43:52,320
Bir aralık belirtmek istiyorum ve bir aralık temel olarak bizi bir koleksiyon boyunca sıralayacak

1732
02:43:52,320 --> 02:43:58,320
sayıların. Yani temel olarak, taban sayısını kendisi ile çarpmak istiyorum

1733
02:43:58,320 --> 02:44:05,320
güç numarasının belirttiği zamanlar. Sağ. Yani burada bunu bir aralık haline getirebilirim

1734
02:44:05,320 --> 02:44:12,320
güç numarası Sağ. Ve böylece temel olarak bu for döngüsünü birçok kez tekrarlayacağız

1735
02:44:12,320 --> 02:44:17,320
onları döverken. Yani eğer pound onları iki ise, bunu iki kez geçeceğiz. Eğer onları döversen

1736
02:44:17,320 --> 02:44:20,320
dört ise, bunun üzerinden dört kez geçeceğiz. Ve döngü boyunca her seferinde

1737
02:44:20,320 --> 02:44:24,320
taban sayısını kendisiyle çarpın. Veya aslında bunu şununla çarpacağımızı göreceksiniz:

1738
02:44:24,320 --> 02:44:30,320
bu sonuç. Yani bu for döngüsünün içinde, temelde şunu söyleyebilirim: sonuç

1739
02:44:30,320 --> 02:44:37,320
sonuç çarpı taban sayısına eşittir. Bu aslında bize ihtiyacımız olan her şeyi vermeli

1740
02:44:37,320 --> 02:44:43,320
bu sayıyı özgül kuvvete alın. Yani gerçek beğeni sonucu, bilirsiniz,

1741
02:44:43,320 --> 02:44:48,320
matematik yapmak bu sonuç değişkeninin içinde saklanacak. Yani

1742
02:44:48,320 --> 02:44:53,320
Döngüyü ilk kez tamamladığımızda sadece taban sayısını bir ile çarpıyoruz. Sağ. Ve

1743
02:44:53,320 --> 02:44:58,320
yani şimdi sonuç taban sayısıyla aynı değer olacak. İkinci kez

1744
02:44:58,320 --> 02:45:02,320
döngü aracılığıyla. Eğer sayının karesini alsaydık bu olurdu, temelde

1745
02:45:02,320 --> 02:45:06,320
sonucu tekrar taban sayısıyla çarpıyorum. Yani aslında sadece temel sayı çarpı

1746
02:45:06,320 --> 02:45:10,320
taban numarası Döngüyü üçüncü kez tamamladığımızda sonuç ile taban sayısını çarpıyoruz.

1747
02:45:10,320 --> 02:45:14,320
Yani aslında sayının küpünü almak gibiyiz. Yani aslında bu

1748
02:45:14,320 --> 02:45:19,320
for döngüsü bizim için yapıyor. Yani yapmak istediğim son şey tam burada aşağıda

1749
02:45:19,320 --> 02:45:24,320
bu for döngüsü, sadece sonucu döndüreceğim. Böylece geri dönebileceğiz

1750
02:45:24,320 --> 02:45:28,320
sayıyı güce yükseltmenin sonucu ne olursa olsun. Elbette. Öyleyse hadi

1751
02:45:28,320 --> 02:45:32,320
Bu fonksiyondan sonra aşağı inin. Ve biz onu arayacağız. O yüzden sadece gidiyorum

1752
02:45:32,320 --> 02:45:37,320
aslında cevabı yazdıracağımızı söylemek gerekirse. Bu yüzden iktidara yükseltin diyeceğim.

1753
02:45:37,320 --> 02:45:41,320
Ve bu parantezlerin içine iki sayıyı geçebileceğimizi unutmayın. Öyleyse hadi

1754
02:45:41,320 --> 02:45:46,320
üçün ikinci kuvvetini artır. Yani sadece üçüncü kareye gideceğiz. Ve göreceğiz

1755
02:45:46,320 --> 02:45:51,320
bu nasıl çalışıyor? O halde programı çalıştırın. Ve burada, konsolda görebilirsiniz

1756
02:45:51,320 --> 02:45:56,320
dokuz alıyoruz. Biraz daha çılgın bir şey deneyelim. Üç tane deneyelim

1757
02:45:56,320 --> 02:46:01,320
dördüncü güç. Bunu çalıştırıp 81 elde edeceğiz. Yani bu üç üzeri dördüncü

1758
02:46:01,320 --> 02:46:06,320
güç. Hadi ikinin üçüncü kuvvetini deneyelim. Ve sekiz alıyoruz. Evet, bu da demek oluyor

1759
02:46:06,320 --> 02:46:12,320
mantıklı. Yani güç yükseltme fonksiyonumuz tam beklendiği gibi çalışıyor. Ve ben sadece

1760
02:46:12,320 --> 02:46:16,320
Size bir kez daha anlatacağım. Yani bu fonksiyonun içinde şunu alıyoruz:

1761
02:46:16,320 --> 02:46:20,320
iki parçalı girdide, bir temel sayı alıyoruz ve bir

1762
02:46:20,320 --> 02:46:24,320
güç numarası. Yani bu, taban sayısının üssüne alınacak gibi

1763
02:46:24,320 --> 02:46:29,320
numara. I'm defining a variable here called result. And result is where we're going

1764
02:46:29,320 --> 02:46:35,320
to store the actual result of doing the math. Now we specify this for loop. Ve

1765
02:46:35,320 --> 02:46:40,320
Temel olarak bu sayı aralığında döngü yapmak istediğimi söylüyorum. koyduğumda

1766
02:46:40,320 --> 02:46:44,320
buraya pound, temelde sıfırdan sonuna kadar değişecek ama değil

1767
02:46:44,320 --> 02:46:49,320
including the power number. So we'll basically loop through power number of

1768
02:46:49,320 --> 02:46:52,320
eğer mantıklıysa. Ve döngü boyunca her seferinde, biz sadece

1769
02:46:52,320 --> 02:46:57,320
sonucun taban sayıyla çarpılması. Ve sonra sadece sonuçları döndürüyoruz. yani bu

1770
02:46:57,320 --> 02:47:01,320
Bir güç fonksiyonu oluşturmanın temelleri. Ve açıkçası, sanki sadece deniyormuşsun gibi

1771
02:47:01,320 --> 02:47:05,320
bir sayının üssünü almak ve Python'da bu gerçekten çok kolay. Ama bu sana şunu gösteriyor

1772
02:47:05,320 --> 02:47:09,320
tıpkı iç işleyiş gibi, değil mi? Böyle bir fonksiyonun çalışması için şunu yapardık:

1773
02:47:09,320 --> 02:47:17,320
aslında böyle bir şey yazmak için. Ve bu eğitimde konuşmak istiyorum

1774
02:47:17,320 --> 02:47:21,320
Sizlere Python'daki iki farklı kavramdan bahsedeceğim. Oldukça havalı olacak

1775
02:47:21,320 --> 02:47:26,320
ders. Size göstermek istediğim ilk şey iki boyutlu listeler. Yani

1776
02:47:26,320 --> 02:47:32,320
Burada, Python dosyamızda basit bir liste oluşturmak istiyorum. O yüzden sadece gidiyorum

1777
02:47:32,320 --> 02:47:37,320
Bu numara tablosunu aramak için Ve bunu normal bir listeye eşitleyeceğim

1778
02:47:37,320 --> 02:47:43,320
aynen böyle. Şimdi normalde eğer bir liste oluşturuyorsak, içine bir tane koyabilirim.

1779
02:47:43,320 --> 02:47:47,320
bir sürü nitelik ve bir sürü unsur, değil mi? Ve şimdi tüm bu unsurlar

1780
02:47:47,320 --> 02:47:53,320
bu sayı tablosu listesinin içinde. Herkes mutlu. Ama yapabileceğim başka bir şey de

1781
02:47:53,320 --> 02:48:00,320
Bu sayı ızgara listesi listelerinin içindeki tüm öğeleri yapabilirsiniz. Yani ilk madde

1782
02:48:00,320 --> 02:48:04,320
sayı ızgarası listesinde bir liste olacak. Sayı tablosundaki ikinci öğe

1783
02:48:04,320 --> 02:48:08,320
liste bir liste vb. şeklinde olacak. Size bunun nasıl yapılacağını göstereceğim. ben

1784
02:48:08,320 --> 02:48:12,320
temelde buraya ve normalde ilk elemanı koyacağım yere gelebilirim

1785
02:48:12,320 --> 02:48:16,320
listede başka bir dizi oluşturabilirim. Bu yüzden sadece bir açılış yapacağım

1786
02:48:16,320 --> 02:48:23,320
ve kapalı köşeli parantez. Şimdi sadece 123 diyeceğim.

1787
02:48:23,320 --> 02:48:30,320
listemdeki bir sonraki öğe. 456 diyebilirim. Bu listeye bir madde daha ekleyelim. ben

1788
02:48:30,320 --> 02:48:36,320
789 diyebiliriz. Son olarak sayının içine bir liste daha koyacağız.

1789
02:48:36,320 --> 02:48:41,320
ızgara listesi. Ve içinde sadece sıfır olacak. Yani bu sayının içinde

1790
02:48:41,320 --> 02:48:48,320
ızgara listesi, sağda, bu üst düzey genel listede dört öğemiz var. Ve hepsi

1791
02:48:48,320 --> 02:48:53,320
bu öğelerin kendisi listelerdir. Yani aslında yaptığımız şey şu:

1792
02:48:53,320 --> 02:49:03,320
bir ızgara oluşturuyoruz, değil mi? Bu ızgarada 1234 satır ve 123 sütun var (sağda, dört)

1793
02:49:03,320 --> 02:49:07,320
satırlar, üç sütun. Ve bu, bunların neden yararlı olabileceğine benziyor:

1794
02:49:07,320 --> 02:49:13,320
İki boyutlu listeleri kullanarak Python'un içinde ızgaraya benzer bir yapı oluşturun. Yani

1795
02:49:13,320 --> 02:49:18,320
bu oldukça hoş bir liste yapısıdır. Ve size nasıl yapabileceğimizi göstermek istiyorum

1796
02:49:18,320 --> 02:49:24,320
bu liste yapısının içindeki ayrı ayrı öğelere erişin. Örneğin,

1797
02:49:24,320 --> 02:49:27,320
diyelim ki bu değerlerden birini yazdırmak istedim. Diyelim ki yazdırmak istedim

1798
02:49:27,320 --> 02:49:34,320
buradakini çıkar. Buna erişebilmemin yolu sayı ızgarasını söylemektir. Ve

1799
02:49:34,320 --> 02:49:38,320
Yapmak istediğim ilk şey açık ve kapalı köşeli parantez yapmak. Ve içinde

1800
02:49:38,320 --> 02:49:44,320
Buraya erişmek istediğim satırın indeksini koymak istiyorum. Yani bu olurdu

1801
02:49:44,320 --> 02:49:49,320
sıfır satırı gibi, çünkü bu dizideki sıfır elemanıdır. Bu birinci sıra olacaktır.

1802
02:49:49,320 --> 02:49:54,320
Birinci indeks pozisyonunda. Bu ikinci satır, üçüncü satır vb. olabilir.

1803
02:49:54,320 --> 02:49:59,320
sıfır satır. Şimdi bunun hemen yanına başka bir köşeli parantez yapacağım.

1804
02:49:59,320 --> 02:50:05,320
Ve sütunun indeksini koymak istiyorum. Yani bu birinci sütun, sütun gibi olur

1805
02:50:05,320 --> 02:50:09,320
iki, üçüncü sütun. Bir sıfır daha koyacağım çünkü burası

1806
02:50:09,320 --> 02:50:15,320
bu ilk dizinin sıfır dizini. O yüzden buraya sıfır sıfır koydum. Artık yapabiliriz

1807
02:50:15,320 --> 02:50:21,320
bu adamı ekrana yazdırın. Ve aşağıda bunu elde ettiğimizi göreceksiniz. yani ben

1808
02:50:21,320 --> 02:50:25,320
örneğin bu sekiz için de bunu yapabiliriz. Yani bu sıfır olacak

1809
02:50:25,320 --> 02:50:31,320
bir iki. İkinci satır ve birinci sütun olacak. Ve şimdi bunu yapabilmeliyiz

1810
02:50:31,320 --> 02:50:37,320
sekizin çıktısını al. Yani temel olarak bunun içindeki öğelere bu şekilde erişebiliriz

1811
02:50:37,320 --> 02:50:43,320
2 boyutlu liste. Size göstermek istediğim bir sonraki şey iç içe for döngüsüdür. Ve iç içe geçmiş bir

1812
02:50:43,320 --> 02:50:48,320
for döngüsü, dediğim gibi, for döngüsünün içinde bir for döngümüzün olduğu bir durumdur.

1813
02:50:48,320 --> 02:50:53,320
Ve size tüm çıktıları almak için bu iç içe geçmiş for döngüsünü nasıl kullanabileceğimizi göstereceğim.

1814
02:50:53,320 --> 02:50:57,320
Bu dizinin içindeki öğeler. Temel olarak size nasıl ayrıştıracağınızı göstereceğim

1815
02:50:57,320 --> 02:51:02,320
iki boyutlu bir liste veya iki boyutlu bir dizi aracılığıyla. Tamam, yani temelde

1816
02:51:02,320 --> 02:51:06,320
sadece normal bir for döngüsü yaratacağız. O yüzden dört diyeceğim ve sadece

1817
02:51:06,320 --> 02:51:12,320
Sayı tablosundaki satır diyeceğim. Ve burada sıra kelimesini kullanıyorum çünkü nazik biriyim

1818
02:51:12,320 --> 02:51:18,320
bu adamları sıra halinde görmek, değil mi? Bunlar bizim küçük dairemizde bir çeşit yatay sıralar.

1819
02:51:18,320 --> 02:51:24,320
ızgara. Yani bu satırların her biri için, sayı tablosunun içindeki öğelerin her biri için, ben

1820
02:51:24,320 --> 02:51:28,320
döngü yapmak istiyorum. Yani aslında şu anda her satırın çıktısını alabilirim. Ve bu

1821
02:51:28,320 --> 02:51:32,320
bu listenin içindeki tüm satırları yazdıracağım. Burada aşağıda görebilirsiniz.

1822
02:51:32,320 --> 02:51:36,320
Temelde tam olarak orada sahip olduğumuz şeyi elde ederiz. Ama yapabilmek istiyorum

1823
02:51:36,320 --> 02:51:42,320
bu dizi öğelerinin her birinin içindeki bu bireysel niteliklerin her birine erişin.

1824
02:51:42,320 --> 02:51:47,320
Böylece aslında başka bir for döngüsü oluşturabiliriz. Ve bunu for döngüsünün içine koyacağım

1825
02:51:47,320 --> 02:51:55,320
buradan. Şimdi satırdaki sütun için şunu söyleyeceğim. Ve temelde bu ne oluyor

1826
02:51:55,320 --> 02:52:01,320
bize bunların içindeki her bir sütun veya her bir öğeyi vermek

1827
02:52:01,320 --> 02:52:06,320
diziler. Örneğin sayı ızgarasının elemanları olan dizilerin içi.

1828
02:52:06,320 --> 02:52:12,320
Umarım bu mantıklıdır. Şimdi burada sütunun çıktısını alabilirim ve bu

1829
02:52:12,320 --> 02:52:17,320
aslında bu iki boyutlu dizinin içindeki her bir değeri yazdırmalıdır.

1830
02:52:17,320 --> 02:52:21,320
Öyleyse devam edelim ve bu programı çalıştıralım. Ve aşağıda, göreceksiniz ki biz

1831
02:52:21,320 --> 02:52:26,320
temelde sıfıra kadar bir tane basmak. Yani hepsini yazdırıyoruz

1832
02:52:26,320 --> 02:52:32,320
sayı ızgarasının içindeki tüm dizilerin içindeki öğelerin. yani bu

1833
02:52:32,320 --> 02:52:36,320
iki boyutlu listeleri ve iç içe geçmiş dört döngüyü bir arada nasıl kullanabiliriz. Ve ikisi de

1834
02:52:36,320 --> 02:52:44,320
bu şeyler aslında Python'da oldukça kullanışlıdır. Bu eğitimde şunu göstereceğim:

1835
02:52:44,320 --> 02:52:50,320
Python'da nasıl temel bir çevirmen oluşturulacağını öğreneceksiniz. Yani aslında şunu alabiliriz:

1836
02:52:50,320 --> 02:52:56,320
dize böylece bir cümle veya kelime gibi alabiliriz ve onu tercüme edebiliriz

1837
02:52:56,320 --> 02:53:01,320
farklı bir dile. Burada küçük bir dosyam var ve temelde

1838
02:53:01,320 --> 02:53:05,320
benim oluşturduğum bu dili belirtir. Bu yüzden buna taslak dil diyorum.

1839
02:53:05,320 --> 02:53:12,320
Taslak dilde tüm sesli harfler G olur.

1840
02:53:12,320 --> 02:53:18,320
İngilizce kelimeyi taslak kelimeye dönüştürüyorum, örneğin köpek kelimesine,

1841
02:53:18,320 --> 02:53:23,320
sesli harfin olduğu her durumda köpek sözcüğü. Yani bizim durumumuzda diyelim ki

1842
02:53:23,320 --> 02:53:31,320
A E I O U, bu sesli harfi G'ye çevirirdim. Yani köpek D G G ile eşleşirdi, kedi ise

1843
02:53:31,320 --> 02:53:36,320
C G T ile eşleştirilelim. Bunlar temel çeviri kurallarıdır. Açıkçası bu

1844
02:53:36,320 --> 02:53:41,320
oldukça basit bir dil, ama her sesli harfin G'ye dönüşeceği noktasını anlıyorsunuz,

1845
02:53:41,320 --> 02:53:46,320
ve sonra taslak dili alacağız. Bu yüzden bir taslak çevirmen oluşturacağız.

1846
02:53:46,320 --> 02:53:51,320
Burada, Python dosyamızda bu çeviriciyi yapmaya başlayalım. İlk şey

1847
02:53:51,320 --> 02:53:56,320
Yapacağım sadece bir çeviri fonksiyonu tanımlamak. Bu yüzden bir fonksiyon yapacağım

1848
02:53:56,320 --> 02:54:01,320
burada ve ben buna tercüme diyeceğim. Ve bu parantezlerin içinde,

1849
02:54:01,320 --> 02:54:06,320
bunun bir parça bilgi almasını istiyoruz, bu da şu ifade olacak

1850
02:54:06,320 --> 02:54:11,320
tercüme etmek istiyoruz. O yüzden sadece bir cümle söyleyeceğim. Ve şimdi bunun içinde

1851
02:54:11,320 --> 02:54:17,320
işlevi yerine getirebilmek için İngilizce'yi dilimize nasıl çevirebileceğimizi bulmamız gerekiyor.

1852
02:54:17,320 --> 02:54:23,320
taslak dili? Unutmayın, kurallar temelde herhangi bir sesli harfin G olması gerektiğidir.

1853
02:54:23,320 --> 02:54:27,320
Yani yapmak istediğim ilk şey bir değişken yaratmak. Ve bu değişken

1854
02:54:27,320 --> 02:54:31,320
çeviri olsun. Yani bu, geri döneceğimiz nihai sonuç gibi olacak

1855
02:54:31,320 --> 02:54:37,320
kullanıcıya. Yani çeviri diyebilirim. Şimdilik bunu şuna eşitleyeceğim:

1856
02:54:37,320 --> 02:54:41,320
boş dize. Yani bu tamamen boş bir dize gibi olacak. değil

1857
02:54:41,320 --> 02:54:47,320
herhangi bir şey yapıyor olacak. Ve şimdi yapmak istediğimiz şey temelde şunu yapmak istiyoruz:

1858
02:54:47,320 --> 02:54:52,320
Bu ifadenin içindeki her harfin üzerinden geçin. Ve eğer bu bir sesli harfse, şunu yapmak istiyoruz:

1859
02:54:52,320 --> 02:54:56,320
onu G olarak değiştirin. Eğer sesli harf değilse, onu olduğu gibi bırakmak istiyoruz. Ve biz

1860
02:54:56,320 --> 02:55:00,320
esasen cümle içinde döngü olacak. Ve şunu ekleyeceğiz:

1861
02:55:00,320 --> 02:55:05,320
Bu tercümeye mektuplar tek tek yazıldı. Şimdi size bunu nasıl yapabileceğimizi göstereyim.

1862
02:55:05,320 --> 02:55:09,320
Bir for döngüsü yapacağım. O yüzden dört diyeceğim. Ve sadece şunu söyleyeceğim

1863
02:55:09,320 --> 02:55:17,320
cümle içindeki mektup. Ve şimdi buradan geçtiğimde her birine erişebiliyorum

1864
02:55:17,320 --> 02:55:23,320
İlettikleri cümlenin içindeki tek harf. Peki yapmak istediğim şey

1865
02:55:23,320 --> 02:55:28,320
Harfin sesli harf olup olmadığını kontrol etmek ister miyim, değil mi? Eğer bu bir

1866
02:55:28,320 --> 02:55:34,320
sesli harfse çeviriye G ekleyebiliriz. Sesli harf değilse ekleyebiliriz

1867
02:55:34,320 --> 02:55:39,320
Zaten çeviride hangi harf olursa olsun. Yani eğer bunu kullanacağım

1868
02:55:39,320 --> 02:55:44,320
ifade. varsa söyleyeceğim. Ve aslında yapabileceğimiz özel bir şey var

1869
02:55:44,320 --> 02:55:49,320
Python'da başka bir şeyin içinde bir şey olup olmadığını kontrol edebiliriz. Yani eğer söyleyebilirim

1870
02:55:49,320 --> 02:55:55,320
Mektubu girin ve buraya, tüm sesli harfleri yazacağım. Yani söyleyeceğiz

1871
02:55:55,320 --> 02:56:02,320
A E I O U ve A E I O U. Yani aslında mektubun içinde olup olmadığını kontrol ediyorum

1872
02:56:02,320 --> 02:56:08,320
bu dizenin. Ve eğer harf buranın içindeyse, o zaman onun sesli harf olduğunu biliyoruz.

1873
02:56:08,320 --> 02:56:15,320
Yani burada bu davayı halledebiliriz. Yani diyebilirim ki, çeviri eşittir

1874
02:56:15,320 --> 02:56:24,320
çeviri artı G. Çünkü eğer bu harf sesli harfse, onu dönüştürmek istiyoruz

1875
02:56:24,320 --> 02:56:32,320
G'ye dönüştürün. Aksi halde, temel olarak şunu söyleyebilirim ki, çeviri şuna eşittir:

1876
02:56:32,320 --> 02:56:39,320
çeviri artı mektup. Yani sesli harfin olduğu durumda üzerine G ekliyorum

1877
02:56:39,320 --> 02:56:43,320
çeviri. Sesli harfimizin olmadığı durumlarda, sadece ne varsa ekliyorum

1878
02:56:43,320 --> 02:56:49,320
Mektup tercüme üzerineydi. Son olarak, bu for döngüsünün altında, sadece şunu istiyoruz:

1879
02:56:49,320 --> 02:56:56,320
Çeviriyi iade etmek için. Bu yüzden sadece çeviriye geri dönüş diyeceğim. Ve şimdi biz

1880
02:56:56,320 --> 02:57:01,320
harika bir çeviri işlevi var ve muhtemelen çalışması gerekir. O halde hadi aşağı gelelim

1881
02:57:01,320 --> 02:57:05,320
burada ve test edeceğiz. Peki neden bir kullanıcının bazı giriş yapmasına izin vermiyoruz?

1882
02:57:05,320 --> 02:57:09,320
bilgi. Yani temelde bu fonksiyonu çağıracağım. Aslında biz

1883
02:57:09,320 --> 02:57:13,320
yazdırın. Yani bunu yazdıracağız. Ve bu fonksiyonu çağıracağım

1884
02:57:13,320 --> 02:57:20,320
tercüme et. Ve buranın içinde, aslında kullanıcı ne olursa olsun onu ileteceğim

1885
02:57:20,320 --> 02:57:26,320
girişler. Yani sadece girdi diyebilirim. Ve bu parantezlerin içinde şunu söyleyebilirim:

1886
02:57:26,320 --> 02:57:32,320
çabuk. O halde bir ifade girin. Ve şimdi temelde tüm bu ifadeleri birleştiriyorum

1887
02:57:32,320 --> 02:57:38,320
birlikte. Kullanıcı ne olursa olsun çevirisini yazdırmak istediğimi söylüyorum

1888
02:57:38,320 --> 02:57:44,320
içeri girer. Öyleyse devam edelim ve bu programı çalıştıralım ve nasıl yapacağımızı görelim. yani ben

1889
02:57:44,320 --> 02:57:49,320
programı çalıştıracağız. Bir cümle girin diyor. Aslında şunu biçimlendireyim

1890
02:57:49,320 --> 02:57:55,320
biraz daha iyi. Tamam aşkım. Elbette. Yani bir girin diyor

1891
02:57:55,320 --> 02:58:00,320
ifade. Öyleyse devam edelim ve bunu yapalım. O halde kullandığımız örneği yazalım

1892
02:58:00,320 --> 02:58:06,320
önce. Köpek diyeceğim. Ve şimdi cevap ortaya çıkıyor: d g g. Yani

1893
02:58:06,320 --> 02:58:10,320
bu çok hoş. Ve bunu istediğimiz kadar çalıştırmaya devam edebiliriz.

1894
02:58:10,320 --> 02:58:15,320
Yani olmak ya da olmamak gibi yazabilirim. Yani bu biraz daha uzun gibi

1895
02:58:15,320 --> 02:58:20,320
bir dize. Ve bunu taslak dilimize çevirdiğini görebilirsiniz. yani bu

1896
02:58:20,320 --> 02:58:25,320
temel olarak küçük tercüman uygulamamızı nasıl oluşturabileceğimiz. Ve bu oldukça hoş.

1897
02:58:25,320 --> 02:58:30,320
Ve böylece for döngüsünü if döngüsüyle birlikte kullandığımızı görebilirsiniz. Ve

1898
02:58:30,320 --> 02:58:34,320
bu gerçekten güçlü bir yapıdır. Ve aslında burada bir yer var

1899
02:58:34,320 --> 02:58:39,320
bunu biraz daha verimli hale getirebiliriz. Yani eğer harf demek yerine

1900
02:58:39,320 --> 02:58:44,320
bu dizede, burada fark edeceksiniz, alt kısımda olup olmadığını kontrol ediyorum

1901
02:58:44,320 --> 02:58:51,320
büyük harf ve büyük harf. Aslında sadece nokta harfinin aşağıya doğru inip inmediğini söyleyebilirim. Ve şimdi

1902
02:58:51,320 --> 02:58:55,320
Sadece küçük harfleri yazmam gerekiyor. Ve hala bunu yapacak

1903
02:58:55,320 --> 02:58:59,320
tam olarak aynı şey. Yani bu biraz hack'e ya da kullanabileceğimiz herhangi bir şeye benziyor. Ve

1904
02:58:59,320 --> 02:59:03,320
Bu programda bir sorun daha var. Burada fark edeceksiniz ki,

1905
02:59:03,320 --> 02:59:08,320
çeviriyi çeviri artı g'ye eşit olarak ayarlıyoruz. Ama sorun şu ki

1906
02:59:08,320 --> 02:59:14,320
cümlenin içinde sözüme büyük sesli harfle başlasaydım. Yani diğerinde

1907
02:59:14,320 --> 02:59:19,320
Eğer böyle dersem, bunun çıktısı alındığında fark edeceksiniz ki

1908
02:59:19,320 --> 02:59:25,320
küçük g harfi olarak yazdırılıyor ve bu nedenle büyük harf sözdizimimizi korumuyor. Ve bu

1909
02:59:25,320 --> 02:59:29,320
bir tür sorun. Yani aslında burada başka bir if ifadesi kullanabiliriz. Ve biz

1910
02:59:29,320 --> 02:59:40,320
Harf noktasının üstte olup olmadığını kontrol edebilirsiniz. Ve eğer harf büyükse, o zaman

1911
02:59:40,320 --> 02:59:48,320
çeviriyi çeviri artı büyük harf G'ye eşit olarak ayarlayabiliriz. Aksi halde,

1912
02:59:48,320 --> 02:59:54,320
bunu küçük g harfine eşitleyebiliriz. Ve böylece artık ikisini de kontrol edebiliyoruz

1913
02:59:54,320 --> 03:00:00,320
bu durumlardan. Hadi bunu test edelim ve işe yarayıp yaramayacağını görelim. Bir cümle girin,

1914
03:00:00,320 --> 03:00:05,320
devam et. Ve şimdi o büyük harfi saklıyoruz. Yani bunlar sadece bir çift

1915
03:00:05,320 --> 03:00:09,320
Bu programı biraz daha iyi hale getirebileceğimiz farklı yollar. Ama

1916
03:00:09,320 --> 03:00:12,320
Temel kavram şu; bir for döngümüz var ve onun içinde de bazı if döngülerimiz var.

1917
03:00:12,320 --> 03:00:17,320
Ve bir kelimeyi bizim için tercüme edebilen bu harika fonksiyona adını veriyoruz.

1918
03:00:17,320 --> 03:00:24,320
Bu derste sizinle Python'daki yorumlar hakkında konuşmak istiyorum. bu

1919
03:00:24,320 --> 03:00:28,320
Oldukça kısa bir eğitim olacak. Size sadece genel bir bakış sunmak istiyorum

1920
03:00:28,320 --> 03:00:33,320
yorumlar nelerdir ve bunları Python programlarımızda nasıl kullanabiliriz. Yani burada

1921
03:00:33,320 --> 03:00:38,320
Python programımda burada sadece bu satır var. Basılı yorumların eğlenceli olduğunu söylüyor. Bu yüzden

1922
03:00:38,320 --> 03:00:43,320
programımı burada konsolun içinde çalıştırırsam çıktısı alınacak

1923
03:00:43,320 --> 03:00:48,320
Bu yorumlar eğlenceli, değil mi? Yani buraya koyduğum herhangi bir kod

1924
03:00:48,320 --> 03:00:54,320
Python tarafından yürütüldü. Ama aslında yazabileceğimiz özel bir kod satırı var

1925
03:00:54,320 --> 03:00:59,320
ve buna yorum denir. Ve yorum aslında Python'umuzun içindeki bir satırdır

1926
03:00:59,320 --> 03:01:03,320
Python tarafından oluşturulmayacak bir dosya. Python bunu gördüğünde,

1927
03:01:03,320 --> 03:01:06,320
sadece görmezden gelecek. Bunu yerine getirmeyecek. Bu olmayacak

1928
03:01:06,320 --> 03:01:10,320
herhangi bir şeyi yazdırın. Bir nevi görmezden gelinecek. Ve yorumlar

1929
03:01:10,320 --> 03:01:15,320
sadece biz insanlar için kullanılacak. Yani bir yorum benim veya başkası için kullanılıyor

1930
03:01:15,320 --> 03:01:20,320
geliştiricinin küçük bir yorum yazmasını, biraz düz metin gibi, bilirsiniz, yorum yapmasını

1931
03:01:20,320 --> 03:01:25,320
bir dosyanın içinde. Yorum oluşturmak için bu hashtag sembolünü kullanabilirim.

1932
03:01:25,320 --> 03:01:30,320
Böylece hashtag'e tıklayabilirim ve şimdi bir yorum yazıyorum. Böylece ne istersem yazabilirim

1933
03:01:30,320 --> 03:01:37,320
burada aranıyordu. Bu programın harika olduğunu söyleyebilirim. Ve bunu yaptığımda fark edeceksin

1934
03:01:37,320 --> 03:01:41,320
programı açtığınızda hiçbir yerde görünmüyor, değil mi? Ne olduğu önemli değil

1935
03:01:41,320 --> 03:01:46,320
Bu hashtag'in arkasına koydum. Bu tıpkı Python'un göz ardı ettiği gibi. Bu sadece benim için

1936
03:01:46,320 --> 03:01:50,320
veya buraya gelip kullanacak başka bir geliştirici. Yani eğer istersen birçok kez

1937
03:01:50,320 --> 03:01:54,320
Python dosyalarınızın içine küçük bir not gibi yazın, ya da belki yazabilirsiniz

1938
03:01:54,320 --> 03:01:59,320
Kendinize küçük bir hatırlatma veya bir satırı açıklamak gibi bir satır yazmak istiyorsanız

1939
03:01:59,320 --> 03:02:03,320
kod. Mesela bu baskıyı açıklayacak bir yorum yazabilirim

1940
03:02:03,320 --> 03:02:08,320
ifade. Yani bunun bir dize yazdırdığını söyleyebilirim, değil mi? Şimdi bakan var mı

1941
03:02:08,320 --> 03:02:12,320
dosyamda bunu okuyabilirler ve şöyle derler: Ah, işte bu

1942
03:02:12,320 --> 03:02:18,320
yapar. Tamam, harika. Yani yorumlar Python'da küçük yorumlar bırakmak için kullanışlıdır

1943
03:02:18,320 --> 03:02:22,320
dosya. Birden fazla satıra yorum yapmak istiyorsanız yeni bir satır oluşturabilirsiniz.

1944
03:02:22,320 --> 03:02:26,320
satırına girin ve başka bir hashtag kullanın. Ve böylece bir sonraki yorumum ne olursa olsun yazabilirim

1945
03:02:26,320 --> 03:02:30,320
öyleydi. Ve genel olarak, birden çok satıra yorum yazacaksanız şunu yapmak istersiniz:

1946
03:02:30,320 --> 03:02:35,320
sadece birden fazla hashtag kullanın. Ama aslında yazmanın başka bir yolu daha var

1947
03:02:35,320 --> 03:02:40,320
yorumlar çıktı. Yani üçlü tırnak işareti kullanabilirsiniz. Bu yüzden yazıyorum

1948
03:02:40,320 --> 03:02:45,320
tek alıntı. Ve bunu üç kez yazıyorum. Yani burada, burada görebilirsiniz, biz

1949
03:02:45,320 --> 03:02:50,320
bunu üç kez aldık, bunu üç kez aldık. Yani burada yapabilirim, bilirsin,

1950
03:02:50,320 --> 03:02:54,320
istediğim yorumu yaz Böylece buraya istediğim kadar metin koyabilirim.

1951
03:02:54,320 --> 03:02:59,320
isterdim. Ve aynı şey, bu programı çalıştırdığımda, hiçbir şey gerçekleşmeyecek

1952
03:02:59,320 --> 03:03:05,320
işlendi. Bu da çok satırlı yorum yapmanın başka bir yoludur. Ama sanki

1953
03:03:05,320 --> 03:03:10,320
resmi Python, stil kılavuzları veya başka bir şey gibi, eğer

1954
03:03:10,320 --> 03:03:14,320
Birden fazla satıra yorum yazacaksanız bu hashtag'leri kullanırsınız. Yani biliyorsun,

1955
03:03:14,320 --> 03:03:17,320
gerçekten ne istersen yapabilirsin. Ama eğer süper Python gibi olmak istiyorsanız

1956
03:03:17,320 --> 03:03:23,320
resmi, ardından bu hashtag'leri kullanın. Yorumlar bir şeyler yapmak için de yararlı olabilir

1957
03:03:23,320 --> 03:03:27,320
bir kod satırını yorumlamak denir. Çoğu zaman bir şeyler yazarken

1958
03:03:27,320 --> 03:03:32,320
programda potansiyel olarak benzer bir kod satırınız olabilir

1959
03:03:32,320 --> 03:03:36,320
işleri karıştırıyorum. Ve böylece yapabileceğiniz şey şu: aslında bunu yorumlayabilirsiniz.

1960
03:03:36,320 --> 03:03:41,320
kod satırı. Böylece bu kod satırının önüne bir yorum koyabilirim. Ve şimdi ne zaman

1961
03:03:41,320 --> 03:03:46,320
Programımı çalıştırıyorum, program çalışacak ama bu satırı kullanmayacak.

1962
03:03:46,320 --> 03:03:50,320
Yani bazen bir kod satırının sorun yaratıp yaratmadığını görmeye çalışıyorsanız

1963
03:03:50,320 --> 03:03:54,320
veya programınızın bir kod satırı olmadan nasıl olacağını görmek istiyorsanız veya

1964
03:03:54,320 --> 03:03:58,320
bir kod bloğu gibi bile, onu yorumlayabilirsiniz. Ve bu şekilde değilsin

1965
03:03:58,320 --> 03:04:03,320
aslında kodu dosyanızdan silmek. Sadece yorum yapıyorsunuz. Yani Python

1966
03:04:03,320 --> 03:04:07,320
görmezden gelecektir. Ve bunlar aslında yorumların iki kullanımıdır: yazmak

1967
03:04:07,320 --> 03:04:12,320
küçük notlar alın, farklı şeyler hakkında küçük yorumlar yazın veya kodu yorumlayın.

1968
03:04:12,320 --> 03:04:17,320
Ve Python'da ilerledikçe yorumların kullanım alanlarını bulacağınızdan eminim.

1969
03:04:17,320 --> 03:04:25,320
Bu derste sizlerle Python'da hataları yakalamak hakkında konuşmak istiyorum.

1970
03:04:25,320 --> 03:04:29,320
Şimdi çoğu zaman Python programlarını çalıştırırken farklı sorunlarla karşılaşırsınız.

1971
03:04:29,320 --> 03:04:33,320
hatalar. Yani farklı durumlar ortaya çıkabilir ve programınız hata verebilir.

1972
03:04:33,320 --> 03:04:37,320
veya bir istisna atabilir. Ve çoğu zaman bu durumlar meydana geldiğinde,

1973
03:04:37,320 --> 03:04:42,320
programınızın çalışmasını tamamen durduracaklar. Ve aslında yapabileceğimiz şey

1974
03:04:42,320 --> 03:04:47,320
ortaya çıkacak belirli hatalara karşı dikkatli olabiliriz

1975
03:04:47,320 --> 03:04:51,320
programımızda ve aslında bunları halledebiliriz. Yani programımız yerine sadece

1976
03:04:51,320 --> 03:04:55,320
kırmak ve yürütmeyi durdurmak, aslında bu hataları halledebilir ve bir şeyler yapabiliriz

1977
03:04:55,320 --> 03:04:59,320
meydana geldiklerinde. Size burada bunu kullanmanın bir örneğini göstermek istiyorum.

1978
03:04:59,320 --> 03:05:04,320
Sayı eşittir int diyorum, bir sayı girin. Temel olarak neler oluyor

1979
03:05:04,320 --> 03:05:09,320
Kullanıcıdan bu giriş komutunu kullanarak bir sayı girmesini istiyorum. Ve sonra

1980
03:05:09,320 --> 03:05:14,320
Girdikleri her şeyi tam sayıya dönüştürüyorum. Yani içeri girdikleri sürece

1981
03:05:14,320 --> 03:05:18,320
geçerli bir tam sayı gibi, onu bir tam sayıya dönüştürebilirim. Böylece onu dönüştürebilirim

1982
03:05:18,320 --> 03:05:22,320
tam sayı gibi ve onu bu sayı değişkeninin içinde saklayabilirim

1983
03:05:22,320 --> 03:05:25,320
sadece çıktısını alıyorum. Şimdi bu programı çalıştırmayı deneyelim. koşacağım

1984
03:05:25,320 --> 03:05:30,320
program ve burada bir sayı girin diyor. Böylece içeri girebiliriz

1985
03:05:30,320 --> 03:05:34,320
örneğin dört gibi. Ve dörde girdiğimde her şey işe yarayacak ve

1986
03:05:34,320 --> 03:05:38,320
sadece dört tane basacak ve dünyada her şey yolunda. Ve

1987
03:05:38,320 --> 03:05:42,320
aslında bunu burada değiştireceğim. Bu yüzden görmek biraz daha kolay. Ancak

1988
03:05:42,320 --> 03:05:46,320
diyelim ki programı tekrar çalıştırdık. Tamam, numaranızı girin diyor. diyelim ki

1989
03:05:46,320 --> 03:05:50,320
kuralları çiğnediğimi ve numara girmediğimi. Bu yüzden ne olduğunu görmezden geliyorum

1990
03:05:50,320 --> 03:05:56,320
istem diyor ve ben de buraya rastgele bir metin koyuyorum. Şimdi buna girdiğimde,

1991
03:05:56,320 --> 03:06:00,320
program hata verecek. Aşağıda görebilirsiniz, değer hatası diyor

1992
03:06:00,320 --> 03:06:06,320
10 tabanındaki int tabanı için geçersiz değişmez değer. Temel olarak, hey, bir giriş yapmadınız

1993
03:06:06,320 --> 03:06:10,320
tamsayı olacağını söylediğin gibi, değil mi? Bir numara girmelerini söyledik. Onlar

1994
03:06:10,320 --> 03:06:16,320
metin olarak girilir. Yani programı bozdu. Ve bu şöyle bir durum:

1995
03:06:16,320 --> 03:06:19,320
çok. Yani bir şeyin öylece gidebileceği pek çok farklı durum var

1996
03:06:19,320 --> 03:06:23,320
programımızda yanlış. Ve ben şu ana kadar bunu bir nevi kabul ettik

1997
03:06:23,320 --> 03:06:28,320
gerçeklik. Ancak gerçek bir canlı Python programı yazıyorsanız, hiçbir şey istemezsiniz.

1998
03:06:28,320 --> 03:06:31,320
programınızı tetiklemek için bunu yapın. Tüm programın kesintiye uğramasını istemezsiniz

1999
03:06:31,320 --> 03:06:35,320
Birisi bir sayı girmeyi unutuyor, değil mi? Başa çıkabilmek istiyorsun

2000
03:06:35,320 --> 03:06:39,320
tüm bu farklı durumlar. Ve bunlarla başa çıkmak için bir şeyler kullanabiliriz

2001
03:06:39,320 --> 03:06:44,320
blok hariç try denir. Ve bir try hariç bloğu temel olarak şunları yapmanıza izin verecektir:

2002
03:06:44,320 --> 03:06:49,320
Bir kod parçasını denemek için program. Ve eğer her şey yolunda giderse, o zaman harikayız demektir.

2003
03:06:49,320 --> 03:06:53,320
Sanki numarayı girmeyi deneyebiliriz. Ve eğer kullanıcı girerse

2004
03:06:53,320 --> 03:06:57,320
doğru numara, harika. Ancak doğru numarayı girmezlerse, o zaman yapabiliriz

2005
03:06:57,320 --> 03:07:00,320
temelde bunun için hesap gibi. Böylece bir dize gibi bir şeye girdiler.

2006
03:07:00,320 --> 03:07:04,320
bir sayı girmeleri gerekiyor, onlara şunu söyleyebiliriz: Hey, girdin

2007
03:07:04,320 --> 03:07:08,320
yanlış şeyde. Şimdi size bu denemeleri nasıl kullanabileceğimizi göstereceğim.

2008
03:07:08,320 --> 03:07:12,320
bloklar. Buraya geleceğim ve sadece dene diyeceğim. yapacağım

2009
03:07:12,320 --> 03:07:17,320
bu kolon. Ve bunların her ikisini de girintili yapmak istiyorum. Yani bunların her ikisi de

2010
03:07:17,320 --> 03:07:21,320
bu try bloğunun içinde olacak. Şimdi yeni bir hat yapacağım. gidiyorum

2011
03:07:21,320 --> 03:07:25,320
buraya gelip sadece yazacağım. Bunun dışında ve ben de gidiyorum

2012
03:07:25,320 --> 03:07:29,320
buraya iki nokta üst üste koy. Ve burada, bir şeyin çıktısını alacağım. Bu yüzden sadece

2013
03:07:29,320 --> 03:07:36,320
geçersiz giriş gibi söyle. Şimdi, bu kodu bu try bloğunun içine koyduğuma göre,

2014
03:07:36,320 --> 03:07:40,320
Kullanıcı yanlış bir şey girerse onu yakalayabilecektir. Yani olacak

2015
03:07:40,320 --> 03:07:45,320
kullanıcının neyi yanlış yaptığını yakalayabilir ve geçersiz girişi yazıcıya yazdırabilir

2016
03:07:45,320 --> 03:07:49,320
ekran. O halde devam edelim ve programımızı çalıştıralım. Ve sadece girin diyecek

2017
03:07:49,320 --> 03:07:53,320
bir sayı. O yüzden bunu görmezden geleceğiz. Bunu gireceğiz. Ve şimdi bunun yerine

2018
03:07:53,320 --> 03:07:58,320
Bize bağırıyor ve programı bozuyor, sadece "Hey, geçersiz giriş" diyor. Öyleydi

2019
03:07:58,320 --> 03:08:03,320
çağrıldıkları hatayı halledebilirler. Geçersiz girişi işlemeyi başardı

2020
03:08:03,320 --> 03:08:09,320
hata. Temel olarak bize şunu söyledi: Hey, artık girdi yok. Yani bu gerçekten güçlü bir

2021
03:08:09,320 --> 03:08:13,320
Python programlarımızda yapabileceğimiz şey. Temelde sadece kendimizi korumak için

2022
03:08:13,320 --> 03:08:17,320
programlar, değil mi? Programımın uzun süre çalışmasını istiyorsam,

2023
03:08:17,320 --> 03:08:21,320
Geçersiz bir giriş kadar basit bir şeye sahip olamam, onu tetikle. Yani yapabilirim

2024
03:08:21,320 --> 03:08:25,320
Bu try kabul bloklarını kullanarak geçersiz girişi yakalayın. Ama olay şu ki.

2025
03:08:25,320 --> 03:08:29,320
Buradaki küçük adamın öne çıktığını fark edeceksiniz. Ve hadi

2026
03:08:29,320 --> 03:08:34,320
sadece ne söylediğine bakın. Yani temelde geniş istisna hükmünü söylüyor.

2027
03:08:34,320 --> 03:08:39,320
Ve bu aldığımız bir mesaj çünkü sadece kabul et dediğimde bu

2028
03:08:39,320 --> 03:08:43,320
güneşin altında herhangi bir hatayı yakalayacaktır. Yani programımda ters gidebilecek her şey

2029
03:08:43,320 --> 03:08:47,320
çoğunlukla bu onu kabul edecek. O halde size bir bilgi vereyim

2030
03:08:47,320 --> 03:08:52,320
örnek. Diyelim ki programımda bir değişken yaratıyordum, değil mi? yani ben

2031
03:08:52,320 --> 03:08:57,320
değer adında bir değişken yaratmak istedim. Ve bunu 10'a bölerek eşitledim

2032
03:08:57,320 --> 03:09:00,320
sıfır. Şimdi, eğer matematik hakkında herhangi bir şey biliyorsanız, bir sayıyı bölemeyeceğinizi bilirsiniz.

2033
03:09:00,320 --> 03:09:05,320
sayı sıfır. Bu mümkün değil. Yani program bunu başaramayacak

2034
03:09:05,320 --> 03:09:08,320
bunu hallet. Ve göreceksiniz ki bu bizim için hataya yol açacak. Yani ben ne zaman

2035
03:09:08,320 --> 03:09:13,320
programı çalıştırın, temelde sıfır bölme hatası sıfıra bölme diyor. biz

2036
03:09:13,320 --> 03:09:18,320
bunu yapmaya izin yok, değil mi? Eğer bunu alsaydım ve bunu bunun içine koysaydım

2037
03:09:18,320 --> 03:09:23,320
kuru blok ve az önce buraya yapıştırdım, buna yakalanacak

2038
03:09:23,320 --> 03:09:27,320
burada yazdığımız istisna. Yani buna kapılacak

2039
03:09:27,320 --> 03:09:32,320
kabul et. Programı çalıştırdığımda geçersiz giriş yazdığını göreceksiniz. Ama

2040
03:09:32,320 --> 03:09:37,320
Sorun şu ki, geçersiz bir şey girmedik, değil mi? Az önce ayrıldık

2041
03:09:37,320 --> 03:09:42,320
sıfıra kadar, ancak bununla başa çıkamadı. Sağ. Yani sıfıra bölünemez

2042
03:09:42,320 --> 03:09:46,320
bir hata yoluyla. Yani geçersiz bir girdi alamamış olmamıza rağmen

2043
03:09:46,320 --> 03:09:50,320
sıfıra böldüğümüz için hala bunun çıktısı alınıyor. Ve bu getiriyor

2044
03:09:50,320 --> 03:09:55,320
başka bir noktaya gelince, gerçekten yakalayabilir miyiz veya belirli bir şeyi kabul edebiliriz

2045
03:09:55,320 --> 03:10:00,320
hata türleri. Örneğin bu durumda sıfıra bölme hatasıyla karşılaştık. içinde

2046
03:10:00,320 --> 03:10:05,320
bu durumda geçersiz bir giriş hatasıyla karşılaştık, değil mi? Yanlış olan bir şeyi koyduk.

2047
03:10:05,320 --> 03:10:09,320
Değeri dönüştüremediniz. Böylece iki farklı kabul bloğu oluşturabilirim

2048
03:10:09,320 --> 03:10:14,320
iki farklı hata türünü yakalayın. Yani burada aşağıda bir boşluk bırakabilirim ve

2049
03:10:14,320 --> 03:10:19,320
Yakalamak istediğim hatanın türünü belirtebilirim. Yani sıfıra böldüğümüzde,

2050
03:10:19,320 --> 03:10:25,320
sıfır bölme hatasıydı. Yani buraya sıfır bölme hatasını koyarsam, şimdi

2051
03:10:25,320 --> 03:10:31,320
sıfır bölme hatasını yakalayacağım. Yani sıfıra bölünebilir diyebilirim. Yapabilirim

2052
03:10:31,320 --> 03:10:36,320
bir başkasının da kabul etmesini sağlayın. Yani kabul et diyebilirim. Ve diğerini yakalayabiliriz

2053
03:10:36,320 --> 03:10:41,320
elimizdeki istisna. Yani bunun bir değer hatası olduğunu düşünüyorum, değil mi? Öyleydi, biz koyduk

2054
03:10:41,320 --> 03:10:47,320
söz konusu girişin içindeki değerin türü. Artık geçersiz girişi yazdırabiliriz. Yani

2055
03:10:47,320 --> 03:10:52,320
bu iki kabul bloğuyla temel olarak bunların her ikisini de halledebiliyoruz

2056
03:10:52,320 --> 03:10:57,320
durumlar. Örneğin, eğer bu programın bozulmasıyla sonuçlanırsa, bu şuna bölünür:

2057
03:10:57,320 --> 03:11:01,320
sıfır, o zaman onu yakalayabilecektir. Yani burada bize şunu söyleyecek: Hey, sen

2058
03:11:01,320 --> 03:11:07,320
sıfıra bölünür. Ama eğer bu kod satırından kurtulacak olsaydım ve az önce girdim

2059
03:11:07,320 --> 03:11:11,320
numarada yanlış. Ben de buraya geldim ve bir dize yerine bir dize girdim.

2060
03:11:11,320 --> 03:11:15,320
sayı. Şimdi bize geçersiz girdiyi söyleyecek. Yani şunları yapabileceğiz:

2061
03:11:15,320 --> 03:11:20,320
belirli şeyler bozulduğunda ne olacağını belirtin. Yani geçerli bir sonuç elde ettiğimizde,

2062
03:11:20,320 --> 03:11:24,320
değer hatası aldığımızda geçersiz girdi diyebiliriz, sıfır bölme hatası aldığımızda ise geçersiz girdi diyebiliriz

2063
03:11:24,320 --> 03:11:29,320
sıfıra bölündüğünü söyleyebiliriz. Yani neyin kırıldığına, ne olduğuna bağlı olarak,

2064
03:11:29,320 --> 03:11:34,320
aslında farklı şeyler yapabiliriz. Ve size bir şey daha göstermek istiyorum

2065
03:11:34,320 --> 03:11:40,320
bunu yapabiliriz, yani bu hatayı aslında bir değişken olarak saklayabiliriz. Yani söyleyebilirim

2066
03:11:40,320 --> 03:11:45,320
kabul ediyorum, olarak söyleyebilirim ve buraya bir isim yazabilirim. Yani çoğu zaman insanlar

2067
03:11:45,320 --> 03:11:51,320
sadece şunu söyle, e r r. Ve burada, gerçek hatayı yazdırabilirim. Yani sadece yapabilirim

2068
03:11:51,320 --> 03:11:58,320
e r r'yi yazdır. Ve böylece sıfıra bölmeyi başarırsak. Yani eğer cevapların eşit olduğunu söylersem

2069
03:11:58,320 --> 03:12:03,320
10 bölü sıfır, bu hatayı atacağız ve çıktısını alacağız

2070
03:12:03,320 --> 03:12:08,320
ne yanlış gitti? Artık bu programı çalıştırabilirim. Ve sadece sıfıra bölme diyor.

2071
03:12:08,320 --> 03:12:13,320
Yani aldığımız hatayı yazdırdı. Bu da başka bir yararlı şey

2072
03:12:13,320 --> 03:12:17,320
Yapabileceğiniz şey, aslında atılan belirli hatayı yazdırmak gibi bir şey olabilir. Şimdi,

2073
03:12:17,320 --> 03:12:22,320
Python'daki en iyi uygulamalardan biri bu belirli hataları kullanmaktır. Yani her zaman istiyorsun

2074
03:12:22,320 --> 03:12:28,320
belirli bir hatayı kabul et ve kabul et. Yapmak istemediğin şey sadece söylemek

2075
03:12:28,320 --> 03:12:35,320
kabul et ve sonra güneşin altındaki her şeyi kabul et. Çok geniş. Ve bu

2076
03:12:35,320 --> 03:12:39,320
Python'da iyi bir uygulama değil. Yani her zaman aşağıdaki gibi belirli hataları yakalamak istersiniz:

2077
03:12:39,320 --> 03:12:47,320
bu. Bu derste sizinle dışarıdan okuma hakkında konuşmak istiyorum.

2078
03:12:47,320 --> 03:12:52,320
Python'daki dosyalar. Artık Python'da çoğu zaman şunu okumak isteyeceksiniz:

2079
03:12:52,320 --> 03:12:57,320
Python dosyanızın dışındaki dosyalar. Yani bilgileri okumak isteyebilirsiniz

2080
03:12:57,320 --> 03:13:03,320
bir metin dosyasından veya bir CSV dosyasından veya bir HTML dosyasından. Ve aslında kullanabilirsiniz

2081
03:13:03,320 --> 03:13:09,320
Python okuma komutu adı verilen bir şey. Ve bir dosyayı okumanıza izin verecek

2082
03:13:09,320 --> 03:13:14,320
Python dosyanızın dışında saklanır. Yani bilgi almak için bu dosyaları kullanabilirsiniz

2083
03:13:14,320 --> 03:13:18,320
veya farklı dosyaları ayrıştırıp farklı şeyler yapabilirsiniz. Yani ben gidiyorum

2084
03:13:18,320 --> 03:13:23,320
Size dosyaları okumanın, dosyaları açmanın, dosyaları kapatmanın ve tüm bunları yapmanın temellerini göstereceğim

2085
03:13:23,320 --> 03:13:30,320
o şeyler. Burada çalışanların nokta metni adında bir dosyam var. Ve temelde

2086
03:13:30,320 --> 03:13:34,320
sadece bir grup farklı çalışanı listeliyor, sanki bunlar

2087
03:13:34,320 --> 03:13:39,320
bir ofis ya da her neyse. Yani sadece tüm bu bilgileri listeliyor. Diyelim ki

2088
03:13:39,320 --> 03:13:45,320
uygulama nokta Python dosyamın içinde, içindeki çalışanları okumak istedim

2089
03:13:45,320 --> 03:13:50,320
o dosya. Yapmam gereken ilk şey aslında o dosyayı içeriden açmak.

2090
03:13:50,320 --> 03:13:56,320
Python'dan. Böylece open adında özel bir komut kullanabilirim. Yani açık diyebilirim. Ve sonra

2091
03:13:56,320 --> 03:14:00,320
buraya açmak istediğim dosyanın adını yazabilirim. Yani bu da

2092
03:14:00,320 --> 03:14:05,320
dosyaya giden göreceli bir yol, dosyaya giden mutlak bir yol veya sadece

2093
03:14:05,320 --> 03:14:11,320
Her iki dosya da aynı dizindeyse dosya adı. Yani benim durumumda uygulama nokta Python

2094
03:14:11,320 --> 03:14:16,320
ve çalışanların nokta metni aynı dizindeymiş gibi aynı klasördedir.

2095
03:14:16,320 --> 03:14:21,320
Böylece dosyanın adını yazabilirim. Çalışanların nokta metni olduğunu söyleyebilirim.

2096
03:14:21,320 --> 03:14:26,320
Ve sonra bu açık fonksiyonun içine bir şey daha koymak istiyorum. Ve bu

2097
03:14:26,320 --> 03:14:30,320
dosyayı açmak istediğim mod olacak. Yani gerçekten açabilirsiniz

2098
03:14:30,320 --> 03:14:35,320
Dosyaları birkaç farklı modda kullanın. Ve ilk moda okuma denir. Yani yapabilirim

2099
03:14:35,320 --> 03:14:39,320
buraya sadece bir R koyun ve bu okuma anlamına gelecektir. Ve bu temelde şu anlama gelir:

2100
03:14:39,320 --> 03:14:43,320
sadece dosyanın içindeki bilgileri okumak istiyorum. Değişiklik yapmak istemiyorum

2101
03:14:43,320 --> 03:14:47,320
o. Bunu değiştirmek istemiyorum. Sadece okumak istiyorum. Sadece içinde ne olduğunu görmek istiyorum

2102
03:14:47,320 --> 03:14:52,320
dosyayı açın ve bu bilgilerle bazı şeyler yapın. Başka bir mod denir

2103
03:14:52,320 --> 03:14:56,320
yaz. Yani bunu w olarak yazabilirim ve yazmak temelde değiştirebileceğiniz anlamına gelir

2104
03:14:56,320 --> 03:15:01,320
dosya, değil mi? Yeni bilgiler yazabilirsiniz. Mevcut bilgileri değiştirebilirsiniz.

2105
03:15:01,320 --> 03:15:06,320
a adında bir tane daha var ve a da ekleme anlamına geliyor. Ve bu temelde şu anlama gelir:

2106
03:15:06,320 --> 03:15:11,320
bilgileri dosyanın sonuna ekleyebilirsiniz. Yani değiştiremezsiniz

2107
03:15:11,320 --> 03:15:15,320
Dosyadaki herhangi bir bilgi. Hiçbir bilgiyi değiştiremezsiniz, ancak

2108
03:15:15,320 --> 03:15:20,320
yeni bilgiler ekleyebilirsiniz. Ve bir tane daha var, o da R artı. Ve bu

2109
03:15:20,320 --> 03:15:25,320
temel olarak okuma ve yazma anlamına gelir. Yani bu sana okumanın tüm gücünü verecek

2110
03:15:25,320 --> 03:15:30,320
ve yazıyor. Yani bizim durumumuzda sadece normal R ile çalışacağız.

2111
03:15:30,320 --> 03:15:35,320
dosyadan okuyacağız. Şimdi bu açık fonksiyon aslında

2112
03:15:35,320 --> 03:15:40,320
dosyayı açmanız yeterli. Yani dosyamızın içindeki o dosyaya gitmek gibi olacak

2113
03:15:40,320 --> 03:15:44,320
sistemi açın ve bu bizim onu okumamıza izin verecek. Ama genel olarak biz

2114
03:15:44,320 --> 03:15:50,320
Bu açılan dosyayı bir değişkenin içinde saklamak isteyeceğim. Böylece bir

2115
03:15:50,320 --> 03:15:55,320
değişkendir ve buna çalışan dosyası diyebiliriz. Ve bunu eşitleyeceğim

2116
03:15:55,320 --> 03:16:01,320
bu açık fonksiyona. Artık açık çalışanlar metin dosyasını noktalıyor ve tüm

2117
03:16:01,320 --> 03:16:07,320
içindeki içerik bu çalışan dosyası değişkeninin içinde saklanır. Şimdi, ne zaman olursa olsun

2118
03:16:07,320 --> 03:16:12,320
Bir dosyayı açtığınızda her zaman dosyayı kapattığınızdan da emin olmak istersiniz. Yani

2119
03:16:12,320 --> 03:16:18,320
Tıpkı bu open komutuna sahip olduğumuz gibi, bir de close fonksiyonumuz var. Böylece gelebilirim

2120
03:16:18,320 --> 03:16:24,320
buraya gelip çalışan dosyasının kapalı olduğunu söyle. Ve bu aslında sadece

2121
03:16:24,320 --> 03:16:29,320
dosyayı kapatın. Bu yüzden artık ona erişemeyeceğiz. Ve genel olarak,

2122
03:16:29,320 --> 03:16:33,320
Bir dosyayı her açtığınızda şundan da emin olmak iyi bir fikirdir:

2123
03:16:33,320 --> 03:16:37,320
bir noktada dosyayı kapatıyorsunuz. Yani genel olarak, okumayı bitirdiğinizde,

2124
03:16:37,320 --> 03:16:41,320
sadece kapatabilirsin. Bu bir nevi bir dosyayı nasıl açıp kapatabileceğimize benziyor.

2125
03:16:41,320 --> 03:16:45,320
Şimdi dosyadan nasıl bilgi alabileceğimizi konuşalım değil mi? hayır

2126
03:16:45,320 --> 03:16:48,320
İçinde ne olduğunu çözemediğimiz bir dosyaya sahip olduğumuza işaret ediyor. Yani aslında var

2127
03:16:48,320 --> 03:16:53,320
ne olduğunu anlamak için bu çalışan dosyasında kullanabileceğimiz birkaç farklı fonksiyon

2128
03:16:53,320 --> 03:16:56,320
onun içinde. Ve size bunlardan bazılarını göstereceğim. Bu yüzden sadece gidiyorum

2129
03:16:56,320 --> 03:17:01,320
bir baskı bildirimi yapın. Ve bu print ifadesinin içinde temelde sadece çıktı alınacak

2130
03:17:01,320 --> 03:17:07,320
çalışan dosyası hakkında bazı bilgiler. Yani yazdırabileceğimiz en temel şey

2131
03:17:07,320 --> 03:17:11,320
dosyanın yalnızca tüm içeriğidir. Ama bunu yapmadan önce sana göstermek istiyorum

2132
03:17:11,320 --> 03:17:16,320
arkadaşlar bir dosyanın okunabilir olduğundan emin olmak için nasıl kontrol edebilirsiniz? Yani herhangi bir şey yapmadan önce

2133
03:17:16,320 --> 03:17:21,320
aksi takdirde, genellikle bu dosyayı okumanın mümkün olduğundan emin olmak iyi bir fikirdir.

2134
03:17:21,320 --> 03:17:26,320
Ve Python'un içinde okunabilir denilen bir fonksiyon var. Yani ben sadece

2135
03:17:26,320 --> 03:17:34,320
Çalışan dosyasını noktasal okunabilir şekilde yazacağım. Ve bu bir değer döndürecek

2136
03:17:34,320 --> 03:17:38,320
Boole değeri. Ve bize bu dosyadan okuyup okuyamayacağımızı söyleyecek.

2137
03:17:38,320 --> 03:17:43,320
Bu yüzden programımı çalıştıracağım. Ve aşağıda göreceksiniz, true değerini elde ediyoruz. Ve

2138
03:17:43,320 --> 03:17:48,320
bunun nedeni dosyayı okuma moduna ayarlamış olmamızdır. Yani okuma modunda, okuyabiliyoruz

2139
03:17:48,320 --> 03:17:54,320
ondan. Eğer buraya bir çift seni koysaydım. Yani şöyle koyarsam, şimdi okunabilir

2140
03:17:54,320 --> 03:17:58,320
false olacak, çünkü artık dosyayı okuyamıyoruz, yalnızca yazabiliyoruz

2141
03:17:58,320 --> 03:18:04,320
dosya. Bunu tekrar bizimkiyle değiştireceğim, böylece okuyabileceğiz. Yani bir kez sen

2142
03:18:04,320 --> 03:18:09,320
dosyanın okunup okunamayacağını anlayalım, hadi gerçekten okuyalım. Yani

2143
03:18:09,320 --> 03:18:13,320
çalışan dosyası nokta okuma adı verilen başka bir işlev daha var. Ve bu temelde sadece

2144
03:18:13,320 --> 03:18:17,320
Dosyalardaki tüm bilgileri tüküreceğim. Yani programı çalıştırdığımda,

2145
03:18:17,320 --> 03:18:21,320
tüm bu bilgileri tüküreceğim, değil mi, tüm bilgileri

2146
03:18:21,320 --> 03:18:26,320
o dosyadaydı. Ben de buraya gelebilirim ve ayrı bir satır okuyabiliriz

2147
03:18:26,320 --> 03:18:31,320
bu dosyanın içinde. Yani çalışan dosyası nokta okuma satırı diyebilirim. Ve bu ne oluyor

2148
03:18:31,320 --> 03:18:36,320
yapılacak şey bu dosyanın içindeki tek bir satırı okumaktır. Yani şimdi ben

2149
03:18:36,320 --> 03:18:41,320
Bu programı çalıştırdığınızda, dosyadaki ilk satırı okuduğunu göreceksiniz. Ve

2150
03:18:41,320 --> 03:18:45,320
bu satır okuma işlevi aslında sadece ilk satırı okuyor. Ve sonra

2151
03:18:45,320 --> 03:18:50,320
temelde küçük bir imleci bir sonraki satıra taşımak gibi. Yani eğer bunu kopyalayacak olsaydım

2152
03:18:50,320 --> 03:18:56,320
kodunu yazın ve sonra tekrar buraya yazdırın, çalışan dosyası nokta okuma satırı diyorum. Yani

2153
03:18:56,320 --> 03:19:00,320
ilk satırı okuyacak. Ve sonra tekrar söylediğimde şunu okuyacak:

2154
03:19:00,320 --> 03:19:03,320
bundan sonraki satır. Yani bu aslında ilkinin basılmasıyla sonuçlanacak

2155
03:19:03,320 --> 03:19:08,320
Dosyada iki satır. Bu programı çalıştırdığımda Jim'in çıktısını aldığımızı göreceksiniz.

2156
03:19:08,320 --> 03:19:13,320
satıcı ve Dwight satıcısı. Yani eğer bunu birden çok kez yapsaydım, tıpkı yapabileceğim gibi

2157
03:19:13,320 --> 03:19:19,320
Teknik olarak bu dosyanın içindeki her satırın çıktısını alın. Ve yapabileceğimizi görebilirsin

2158
03:19:19,320 --> 03:19:23,320
bu. Ve bu, bir dosyadaki birden fazla satırı okumak için oldukça yararlı olabilir. Ama

2159
03:19:23,320 --> 03:19:27,320
aslında bunu daha iyi yapan başka bir işlev var. Ve söyleyebiliriz

2160
03:19:27,320 --> 03:19:32,320
Çalışan dosyası nokta okuma satırı yerine nokta okuma satırı diyebiliriz. Ve bu nedir

2161
03:19:32,320 --> 03:19:36,320
yapacağımız şey dosyamızın içindeki tüm satırları alıp bunları buraya koymak

2162
03:19:36,320 --> 03:19:40,320
bir dizinin içinde. Ve şimdi bunun çıktısını aldığımda, elimizde bunun olduğunu göreceksiniz

2163
03:19:40,320 --> 03:19:45,320
buraya dizilim. Jim satıcısı diyor ki bu dizideki ilk öğe, Dwight

2164
03:19:45,320 --> 03:19:50,320
Satıcı, dizideki ikinci öğe, temel olarak her satırı alıp yerine koyuyor

2165
03:19:50,320 --> 03:19:54,320
bir dizinin içinde. Yani eğer belirli bir hatta erişmek istersem,

2166
03:19:54,320 --> 03:19:59,320
dizideki indeksiyle ona bakın. Yani eğer bir tane söylersem, şimdi bu şunu verecek

2167
03:19:59,320 --> 03:20:04,320
bize şu Dwight satıcısı hattını gösterdik, çünkü bu, indeks pozisyonunda, birin içinde.

2168
03:20:04,320 --> 03:20:10,320
dizi. Bu satır okuma işlevini for döngüsüyle de kullanabilirsiniz. Böylece yukarı gelebilirim

2169
03:20:10,320 --> 03:20:16,320
burada bir for döngüsü oluşturun. Sadece şunu söyleyeceğim ve biz de çalışan diyeceğiz

2170
03:20:16,320 --> 03:20:22,320
çalışan dosyası. Daha sonra her çalışan için bunların çıktısını almak istiyoruz. Yani ve

2171
03:20:22,320 --> 03:20:28,320
Aslında başladık, çalışan dosyası nokta okuma satırlarını buraya koymalıyız. Ve şimdi bu

2172
03:20:28,320 --> 03:20:32,320
bu çalışan dosyasındaki satır dizisini okuyan tüm çalışanlar arasında döngü oluşturacaktır.

2173
03:20:32,320 --> 03:20:38,320
Yani aslında bireysel çalışanın çıktısını alabiliriz. Ve şimdi bu yazdırılacak

2174
03:20:38,320 --> 03:20:42,320
o dosyanın içindeki tüm çalışanları dışarı çıkarın. Yani temelde her birinin çıktısını alıyor

2175
03:20:42,320 --> 03:20:47,320
Dosyadaki satır. Ve bu oldukça faydalı olabilir. Yani bunların hepsini kullanabilirsiniz

2176
03:20:47,320 --> 03:20:52,320
okuma, satır okuma, satır okuma gibi farklı işlevler, okunabilir, bilirsiniz, bir

2177
03:20:52,320 --> 03:20:56,320
Bir dosyadan bilgi almak için yapabileceğimiz birçok farklı şey var. Ve

2178
03:20:56,320 --> 03:20:59,320
yani ayrıştırmak isteyeceğiniz birçok durum var

2179
03:20:59,320 --> 03:21:03,320
bilgiler bir dosyada yer alır. Ve bu bunu yapmanın harika bir yoludur. Özetlemek gerekirse,

2180
03:21:03,320 --> 03:21:07,320
Bir dosyayı açmak ve ondan okumak istediğinizde, bu açma komutunu kullanabilirsiniz.

2181
03:21:07,320 --> 03:21:11,320
işlevine, dosyanın adını ve ardından bizim durumumuzda devam edecek olan modu yazın.

2182
03:21:11,320 --> 03:21:15,320
bizim olursan onunla her türlü şeyi yapabilirsin. Ve her zaman yapmak istiyorsun

2183
03:21:15,320 --> 03:21:19,320
işiniz bittiğinde kapattığınızdan emin olun. Bu sadece iyi bir uygulama. İşte bu

2184
03:21:19,320 --> 03:21:24,320
dosyalardan okumanın temelleri. Ve umarım siz de bunu bir şekilde kullanabilirsiniz.

2185
03:21:24,320 --> 03:21:32,320
veya gelecekte oluşacaktır. Bu derste sizinle yazma ve yazma hakkında konuşmak istiyorum.

2186
03:21:32,320 --> 03:21:38,320
Python'da dosyalara ekleme. Python'un harika yanlarından biri de size izin vermesidir.

2187
03:21:38,320 --> 03:21:43,320
harici dosyalarla çalışmak için. Böylece harici bir metin dosyasına sahip olabilirdim ve

2188
03:21:43,320 --> 03:21:47,320
aslında içindeki tüm bilgileri tamamen okumak gibi. çözümleyebildim

2189
03:21:47,320 --> 03:21:52,320
belirli şeyleri yapmak için bu bilgiyi kullanın. Ancak bir dosyayı okumanın yanı sıra,

2190
03:21:52,320 --> 03:21:56,320
ayrıca bir dosya yazın. Ve bugün sizinle konuşmak istediğim konu da bu, yazmak

2191
03:21:56,320 --> 03:22:01,320
yeni dosyalar ve mevcut dosyalara ekleme. Burada, temelde biraz var

2192
03:22:01,320 --> 03:22:06,320
yazılı ve bu aslında sadece bu çalışanlar. metin dosyasındaki bilgileri okuyor.

2193
03:22:06,320 --> 03:22:11,320
Burada gördüğünüz gibi, R olan modu belirtiyorum ve bu da şunun anlamına geliyor:

2194
03:22:11,320 --> 03:22:15,320
Okumak. Ve sonra burada, dosyanın tüm içeriğini okuyorum ve

2195
03:22:15,320 --> 03:22:19,320
ekrana tükürüyoruz. O yüzden buradaki oynat tuşuna basacağım ve

2196
03:22:19,320 --> 03:22:25,320
bunun gerçekleştiğini göreceksiniz. Yani tüm kod satırlarını yazdırıyor

2197
03:22:25,320 --> 03:22:30,320
metin dosyamız. İşte burada, bu Employees.text dosyası içindeyim ve içinde her şey var

2198
03:22:30,320 --> 03:22:34,320
Bu bilgiler, bir ofisteki çalışanlar gibi. Ama diyelim ki istedim

2199
03:22:34,320 --> 03:22:39,320
buraya başka bir çalışan ekleyin, değil mi? Diyelim ki aramıza yeni bir çalışan katıldı.

2200
03:22:39,320 --> 03:22:43,320
şirket. Biz de onları bu listeye eklemek istedik. Peki buraya gelebilirim

2201
03:22:43,320 --> 03:22:49,320
app.python dosyam. Ve dosyadan okumak yerine dosyaya eklemek istiyorum

2202
03:22:49,320 --> 03:22:54,320
dosya. Yani şunu söylemek istiyorum ve dosyaya ekleme yapmak temel olarak sizin şu anlama geldiğiniz anlamına gelir:

2203
03:22:54,320 --> 03:22:59,320
dosyanın sonuna bir miktar metin eklemek. Yani dosya nerede biterse bitsin, sadece

2204
03:22:59,320 --> 03:23:03,320
oraya bir miktar metin ekleyeceğiz. Yani yapabileceğimiz şey aslında şunu ekleyebiliriz

2205
03:23:03,320 --> 03:23:08,320
Dosyaya başka bir çalışan girdi. Yani bir şeyin çıktısını almak yerine,

2206
03:23:08,320 --> 03:23:15,320
aslında sadece çalışan dosyası nokta doğru diyeceğim. Ve çalışan dosyası dediğimde

2207
03:23:15,320 --> 03:23:20,320
nokta sağ, dosyanın sonuna bir şeyler yazabileceğim. yani ben

2208
03:23:20,320 --> 03:23:25,320
Temel olarak ne istersem yazabilirim. Öyleyse neden başka bir çalışan eklemiyoruz?

2209
03:23:25,320 --> 03:23:29,320
Çalışanlarımızın nokta metin dosyasına. Böylece başka bir çalışanı ekleyebiliriz. Neden biz yapmıyoruz?

2210
03:23:29,320 --> 03:23:38,320
Toby gibi dersen o insan kaynaklarında çalışacak. Şimdi bunu çalıştırdığımda

2211
03:23:38,320 --> 03:23:43,320
program, dosyanın sonuna Toby insan kaynaklarını ekleyecek. yani ben

2212
03:23:43,320 --> 03:23:47,320
programımı çalıştıracağım. Ve burada hiçbir şeyin görünmediğini göreceksiniz.

2213
03:23:47,320 --> 03:23:53,320
konsol. Ama eğer çalışanlarımın nokta metin dosyasına gidersem, birdenbire karşımıza bir

2214
03:23:53,320 --> 03:23:58,320
Buraya yeni giren insan kaynaklarından Toby değil mi? Böylece yapabildim

2215
03:23:58,320 --> 03:24:03,320
bu dosyanın sonuna bir satır ekleyin. Ama olay şu ki, öyle olman gerekiyor

2216
03:24:03,320 --> 03:24:07,320
Dosyalara yazarken dikkatli olun çünkü aslında bir dosyayı bozabilirsiniz.

2217
03:24:07,320 --> 03:24:12,320
çok kolay. Mesela Toby'yi zaten dosyama ekledim. Ama eğer yapacak olsaydım

2218
03:24:12,320 --> 03:24:17,320
bu programı tekrar çalıştırın, burada, bu çalışanların noktalı metninde bunu göreceksiniz

2219
03:24:17,320 --> 03:24:22,320
dosya devam etti ve Toby'yi tekrar ekledi, değil mi? Yani bu çalışanı buraya ekledi

2220
03:24:22,320 --> 03:24:27,320
tekrar. Ayrıca, bu durumda bu çalışanın devam etmediğini fark edeceksiniz.

2221
03:24:27,320 --> 03:24:32,320
sonraki satır. Yanlışlıkla dosyamı tekrar çalıştırdım ve aniden her şey bozuldu

2222
03:24:32,320 --> 03:24:37,320
bu dosya burada. Ve eklerken, gerçekten dikkatli olmanız gerekir çünkü eğer

2223
03:24:37,320 --> 03:24:41,320
dosyanızı yeniden çalıştırın veya bir şeyin üzerine bir şey eklerseniz

2224
03:24:41,320 --> 03:24:46,320
dosyaya yanlış yapılmışsa, kalıcıdır, sanki dosyanın içine kaydedilmiş gibi. Yani

2225
03:24:46,320 --> 03:24:50,320
Sizinle ekleme hakkında biraz daha konuşmak istiyorum. Başka bir

2226
03:24:50,320 --> 03:24:54,320
yapabileceğimiz şey, diyelim ki başka bir çalışan eklemek istedik. Ve fark edeceksiniz

2227
03:24:54,320 --> 03:24:59,320
burada bu çalışanların nokta metin dosyasında. Tekrar eklediğimde,

2228
03:24:59,320 --> 03:25:04,320
mevcut satırın sonuna eklendi, değil mi? Yani ilk defa yeni bir şey yaşadım

2229
03:25:04,320 --> 03:25:08,320
orada bir satır var, ancak dosyanızın sonunda yeni bir satır yoksa ve hepiniz

2230
03:25:08,320 --> 03:25:11,320
ve yeni bir satır eklemek istiyorsanız, bazı özel satırlar eklemeniz gerekecek

2231
03:25:11,320 --> 03:25:16,320
karakterler. O halde başka bir çalışan ekleyelim ve ona Kelly adını verelim.

2232
03:25:16,320 --> 03:25:25,320
Kelly'nin müşteri hizmetlerinde olduğunu söyle. Yani Kelly müşteri hizmetinde olacak.

2233
03:25:25,320 --> 03:25:30,320
Ve eğer bu çalışanı dosyanın sonuna yeni bir satırda eklemek istersem,

2234
03:25:30,320 --> 03:25:35,320
önüne yeni bir satır karakteri koymanız gerekecek. Yani ters eğik çizgi n diyebilirim.

2235
03:25:35,320 --> 03:25:40,320
ve bu, bu girişi dosyaya yeni bir satırla ekleyecektir. Yani yeni bir hatta.

2236
03:25:40,320 --> 03:25:45,320
Şimdi bunu çalıştırdığımda Kelly'yi müşteri hizmetlerinden tek başına aldığımızı göreceksiniz.

2237
03:25:45,320 --> 03:25:49,320
çizgi. Yani bu gibi özel şeylerin farkında olduğunuzdan emin olmak istiyorsunuz.

2238
03:25:49,320 --> 03:25:53,320
Kullanabileceğiniz karakterlere kaçış karakterleri diyorlar. Ve biliyorsun,

2239
03:25:53,320 --> 03:25:56,320
Bir dosyaya her ekleme yaptığınızda, dosyaya dosya eklediğinizden emin olmak istersiniz.

2240
03:25:56,320 --> 03:26:01,320
tam olarak eklemek istediğiniz yer. Yani bir dosyaya eklemenin yanı sıra şunları da yapabilirim:

2241
03:26:01,320 --> 03:26:07,320
ayrıca tıpkı bir dosyanın üzerine yazmak gibi veya tamamen yeni bir dosya yazabilirim. Yani bizden beri

2242
03:26:07,320 --> 03:26:11,320
bunu zaten açık tutuyoruz, dosyaya eklemek yerine neden sadece

2243
03:26:11,320 --> 03:26:18,320
dosya yaz? Bu yüzden bu W'yi kullanacağım. Şimdi çalışan dosyası nokta doğru dersem,

2244
03:26:18,320 --> 03:26:23,320
çünkü W kullanıyorum ve a kullanmıyorum, bu aslında

2245
03:26:23,320 --> 03:26:28,320
tüm dosya. Ve bunu sadece dosyanın içine koyacağız. Yani bunu çalıştırdığımda,

2246
03:26:28,320 --> 03:26:32,320
ve bu çalışanların nokta metin dosyasına gittiğimizde yalnızca bir satırımız olduğunu göreceksiniz

2247
03:26:32,320 --> 03:26:37,320
bu dosyanın içinde. Artık sadece Kelly müşteri hizmetleri var. Çünkü ben öyleydim

2248
03:26:37,320 --> 03:26:42,320
W kullandığınızda a değil W kullanmak, yalnızca içindeki her şeyi geçersiz kılmaktır

2249
03:26:42,320 --> 03:26:48,320
mevcut dosya. Yeni bir dosya oluşturmak için W'yi de kullanabilirsiniz. Yani burada şunu söyleyebilirim

2250
03:26:48,320 --> 03:26:54,320
çalışan dosyası çalışanların bir nokta metnine eşittir. Ve şimdi ne olacak

2251
03:26:54,320 --> 03:26:58,320
bunu çalıştırdığımda benim için başka bir dosya oluşturacak. Bu yüzden koşacağım

2252
03:26:58,320 --> 03:27:03,320
bu. Ve burada dosya tarayıcımda göreceksiniz, elimizde yeni bir dosya var

2253
03:27:03,320 --> 03:27:08,320
çalışanlara bir noktalı metin. Yani eğer bunu açarsam, içinde tam olarak aynı şeyler var

2254
03:27:08,320 --> 03:27:13,320
bu çalışanların dosyası. Ama temelde bizim için yeni bir dosya oluşturdu. Ve böylece pek çok

2255
03:27:13,320 --> 03:27:17,320
Bazen yeni bir dosya oluşturmak isteyeceksiniz. Ve farklı kullanabilirsiniz

2256
03:27:17,320 --> 03:27:23,320
uzantıları da. Yani eğer bir web sayfası gibi oluşturmak isteseydim index dot diyebilirim

2257
03:27:23,320 --> 03:27:28,320
HTML. Ayrıca buraya bazı HTML kodları da ekleyebilirim. Yani eğer anlamıyorsan

2258
03:27:28,320 --> 03:27:33,320
HTML, bu konuda endişelenmeyin. Ama eğer yaparsanız, buraya bir paragraf gibi koyabilirim,

2259
03:27:33,320 --> 03:27:40,320
başka bir paragraf, bunun gibi HTML, temel olarak HTML bir web sayfası gibidir. Ve

2260
03:27:40,320 --> 03:27:44,320
Vurgulamaya çalıştığım nokta, Python'un içinde bir web sayfası yazabilmenizdir.

2261
03:27:44,320 --> 03:27:49,320
böyle bir şey yaparak. Şimdi bunu oynattığımda, bu indeks nokta HTML'sini elde ediyoruz

2262
03:27:49,320 --> 03:27:55,320
dosya. Ve içinde bir miktar HTML var. Yani bu, dosyalara yazmanın bir yoludur

2263
03:27:55,320 --> 03:27:59,320
gerçekten faydalı olabilir. Mevcut bir dosyanın üzerine yazabilir, yeni bir dosya yazabilirsiniz.

2264
03:27:59,320 --> 03:28:05,320
Dosyayı oluşturun ve oluşturun veya bir dosyanın sonuna ekleyebilirsiniz. Ve tonlarca var

2265
03:28:05,320 --> 03:28:09,320
dosyalara yazmak için uygulamalar ve Python ile çalışmak için harika bir dil

2266
03:28:09,320 --> 03:28:17,320
dosyalarla okumak, yazmak ve tüm bunları yapmak. Bu eğitimde şunları yapmak istiyorum:

2267
03:28:17,320 --> 03:28:22,320
Python'da modüllerin kullanımı hakkında sizinle konuşacağız. Şimdi, bir modül aslında sadece

2268
03:28:22,320 --> 03:28:28,320
mevcut Python dosyamıza aktarabileceğimiz bir Python dosyası. Örneğin, eğer ben

2269
03:28:28,320 --> 03:28:33,320
bir sürü benzer kullanışlı fonksiyona veya kullanışlı değişkene sahip bir Python dosyası yazdı

2270
03:28:33,320 --> 03:28:38,320
ya da bunun gibi başka şeyler, o dosyayı alabilirim, içeri aktarabilirim

2271
03:28:38,320 --> 03:28:42,320
şu anda üzerinde çalıştığım dosyaya girdim ve aslında bunların hepsine erişebildim

2272
03:28:42,320 --> 03:28:47,320
işlevler, tüm bu değişkenler, içindeki harici dosyadaki tüm şeyler

2273
03:28:47,320 --> 03:28:51,320
şu anda üzerinde çalıştığım dosya. Şimdi size nasıl kullanabileceğimizi göstereceğim.

2274
03:28:51,320 --> 03:28:55,320
modüller ve sonra harika modülleri nerede bulabileceğiniz gibi konulardan bahsedeceğiz.

2275
03:28:55,320 --> 03:29:01,320
modüller ve gerçekten de modüllerin neden Python'u harika bir dil haline getirdiği. Yani burada benim

2276
03:29:01,320 --> 03:29:07,320
metin editörü, aslında bu dosyayı ben oluşturdum ve buna yararlı araçlar nokta Python deniyor.

2277
03:29:07,320 --> 03:29:12,320
Ve temel olarak bu dosyada kullanabileceğim bir sürü faydalı araç var.

2278
03:29:12,320 --> 03:29:16,320
programlarımdan birinde kullanmak istiyorum. Yani burada göreceksiniz, bende biraz var

2279
03:29:16,320 --> 03:29:20,320
değişkenler. Bu bana bir milde kaç feet olduğunu söylüyor. Bu bana şunu söylüyor

2280
03:29:20,320 --> 03:29:24,320
bir kilometre kaç metredir. Ve burada bu liste var, bu liste

2281
03:29:24,320 --> 03:29:29,320
Beatles'ın tüm üyeleri. Ayrıca birkaç farklı işlevim var

2282
03:29:29,320 --> 03:29:34,320
burada. Bu yüzden dosya uzantısını al işlevine sahibim. Ve bu temelde sadece,

2283
03:29:34,320 --> 03:29:37,320
biliyorsun, ona bir dosya adı verirsin, o sana uzantının ne olduğunu söyler. Ve sonra biz

2284
03:29:37,320 --> 03:29:41,320
burada zar atmayı simüle eden başka bir fonksiyon var. Yani geçtin

2285
03:29:41,320 --> 03:29:45,320
bu bir sayı. Altı gibi geçersem altı yüzlü bir zar atar. Eğer geçersem

2286
03:29:45,320 --> 03:29:49,320
dokuzdur, dokuz yüzlü zar atar, vb. Yani bu benim kullandığım bir Python dosyasına benziyor

2287
03:29:49,320 --> 03:29:53,320
yazdı. Ve içinde bazı yararlı şeyler var. Ve dürüst olmak gerekirse, pek çok şey var

2288
03:29:53,320 --> 03:29:58,320
burada birlikte çalıştığım diğer Python dosyalarında kullanmak isteyebileceğim şeyler. Yani

2289
03:29:58,320 --> 03:30:03,320
diyelim ki burada bu uygulama nokta Python dosyasındayım. Ve kendi kendime düşünüyorum,

2290
03:30:03,320 --> 03:30:08,320
ha, sanırım o kullanışlı programın içindeki işlevlerden birini kullanabilirim

2291
03:30:08,320 --> 03:30:13,320
araçlar dosyası. Aslında evet, programımda zar atmayı simüle etmem gerekiyor.

2292
03:30:13,320 --> 03:30:18,320
Buraya gitmek yerine bu işlevi kopyalayıp yapıştırın

2293
03:30:18,320 --> 03:30:23,320
buradaki programıma, aslında bu yararlı araçlar dosyasını aktarabilirim. Ve

2294
03:30:23,320 --> 03:30:28,320
Bu işlevlerin ve değişkenlerin tümünü içe aktarabileceğim

2295
03:30:28,320 --> 03:30:32,320
ve nitelikler. Yani bunu yapabilmemin yolu sadece buraya gelmek. Ve ben sadece

2296
03:30:32,320 --> 03:30:36,320
dosyamın en üstüne gideceğim. Ve sadece ithalat diyeceğim. Ve

2297
03:30:36,320 --> 03:30:40,320
sonra içe aktarmak istediğim dosyanın adını yazmak istiyorum. Yani ben sadece

2298
03:30:40,320 --> 03:30:45,320
Yararlı alt çizgi araçları söyleyeceğim. Ve Python bunu yapacak kadar akıllı olacak

2299
03:30:45,320 --> 03:30:50,320
sönmesi ve bu kullanışlı araçlar noktasındaki her şeyi alması gerektiğini biliyorum

2300
03:30:50,320 --> 03:30:55,320
Pi dosyası. Yani bir kez bu import ifadesini kullandıktan sonra aslında hepsini kullanabilirim.

2301
03:30:55,320 --> 03:31:00,320
bu kullanışlı araçlar dosyasının içindeki işlevler. Örneğin, simüle edebilirim

2302
03:31:00,320 --> 03:31:08,320
zar atarken, faydalı araçlar noktası diyebilirim. Ve şimdi gerçekten erişebiliyorum

2303
03:31:08,320 --> 03:31:12,320
o dosyanın içindeki tüm nitelikler. Yani yararlı araçlar nokta dediğimde,

2304
03:31:12,320 --> 03:31:16,320
burada, küçük öneriler menümde göreceksiniz, bana şunu söylüyor

2305
03:31:16,320 --> 03:31:21,320
Beatles'ın ayakları ve milleri, dosya uzantısı metrelerini ve kilometrelerini zar atarak alın. Yani bu

2306
03:31:21,320 --> 03:31:26,320
o dosyadaki tüm şeylere erişim izni vermek. Yani burada yapabilirim

2307
03:31:26,320 --> 03:31:31,320
sadece zar atmak gibi deyin ve bunu 10'luk bir 10 taraflı atılacak gibi geçebiliriz

2308
03:31:31,320 --> 03:31:36,320
zar. Ve şimdi bu aslında bu işlevi çalıştırabilmelidir. Yani simüle edeceğiz

2309
03:31:36,320 --> 03:31:42,320
10 taraflı bir zar atılıyor. Dört tane olduğumuzu görüyorsunuz. Ve bu gerçekten bir çekirdek

2310
03:31:42,320 --> 03:31:49,320
Python'da harici Python dosyalarından işlevsellik içe aktaran kavram.

2311
03:31:49,320 --> 03:31:53,320
Ve bu Python'da çok büyük. Ve bu ciddi anlamda yolu değiştirecek

2312
03:31:53,320 --> 03:31:59,320
Python dosyalarınızı yaratırsınız. Yani hiçbir şeyi kopyalamak zorunda olmadığımı fark edeceksiniz

2313
03:31:59,320 --> 03:32:05,320
işlevleri veya herhangi bir değişkeni veya herhangi bir şeyi bu dosyaya aktarabilirsiniz. Ve yine de yapabildim

2314
03:32:05,320 --> 03:32:10,320
Bu kullanışlı araçlar dosyasının içindeki her şeyi kullanın. Yani bu çok büyük. Ve

2315
03:32:10,320 --> 03:32:14,320
dürüst olmak gerekirse, bu sana çok zaman kazandıracak çünkü bir şeyler yazabilirsin

2316
03:32:14,320 --> 03:32:18,320
bir kez ve sonra onu diğer dosyalarınıza aktarabilirsiniz. Yani bu gerçekten

2317
03:32:18,320 --> 03:32:22,320
Modülleri kullanmanın temelleri. Yani modüller çok basit. Bir modül herhangi bir

2318
03:32:22,320 --> 03:32:27,320
İçinde bazı şeyler kullanmak istediğiniz harici Python dosyası. istiyorum

2319
03:32:27,320 --> 03:32:33,320
Size geniş bir modül listesi bulabileceğiniz bir yer göstereceğim. yani ben

2320
03:32:33,320 --> 03:32:38,320
buraya web tarayıcıma gideceğim. Ve ben bu sitedeyim. Aslında

2321
03:32:38,320 --> 03:32:43,320
resmi Python belgeleri gibi. Ve aslında buraya gelmek için yaptığım tek şey sadece yazmaktı

2322
03:32:43,320 --> 03:32:47,320
Python modülleri ve Google'ın listesi. Ve Python sürümüne bağlı olarak

2323
03:32:47,320 --> 03:32:50,320
kullanarak, doğru olanı tıklattığınızdan emin olmak isteyeceksiniz. tıkladım

2324
03:32:50,320 --> 03:32:54,320
31. versiyonda. Ve burada, bu sayfada, çok büyük bir şey olduğunu görebilirsiniz.

2325
03:32:54,320 --> 03:32:59,320
Python modüllerinin listesi. Ve bunlar temel olarak Python'un içindeki modüllerdir.

2326
03:32:59,320 --> 03:33:04,320
sadece erişebilirsiniz. Yani aslında, bu harika kodun hepsi var

2327
03:33:04,320 --> 03:33:08,320
bu zaten senin için yazıldı. Ve böylece bir tür işlevsellik var

2328
03:33:08,320 --> 03:33:12,320
Python programınızın içinde olmasını istediğiniz şey. Muhtemelen bir tane var

2329
03:33:12,320 --> 03:33:17,320
buradaki işlevselliğe sahip modül. Yani yapabileceğiniz her türlü şey var.

2330
03:33:17,320 --> 03:33:21,320
Demek istediğim, eğer bu listeye bakarsanız, büyük bir koleksiyon göreceksiniz.

2331
03:33:21,320 --> 03:33:25,320
temelde sadece, bilirsiniz, bir grup Python değişkeni veya Python

2332
03:33:25,320 --> 03:33:29,320
işlevler, yani programlarınızı daha iyi hale getirmek için kullanabileceğiniz şeyler.

2333
03:33:29,320 --> 03:33:34,320
İşte tavsiye edebileceğim şey şu: Bu sayfaya gidin ve bir nevi

2334
03:33:34,320 --> 03:33:37,320
bu farklı modüllerin çoğuna bakın, ne görebileceğinizi görün.

2335
03:33:37,320 --> 03:33:41,320
Ve dürüst olmak gerekirse, eğer bunlardan birine tıklarsanız, sizi bir sayfaya götürecektir.

2336
03:33:41,320 --> 03:33:45,320
nasıl kullanılacağı gibi konulardan bahsediyor. Size onu nasıl içe aktaracağınızı anlatacak ve sadece,

2337
03:33:45,320 --> 03:33:50,320
biliyorsun, bununla ilgili bazı temel bilgiler. Ve bu bir nevi listedeki gibi

2338
03:33:50,320 --> 03:33:56,320
resmi Python belgeleri. Ama başka bir şey daha var. Python topluluğu çok büyük.

2339
03:33:56,320 --> 03:34:01,320
Python kullanan tonlarca geliştirici var. Ve aslında pek çok üçüncüyü bulabilirsiniz

2340
03:34:01,320 --> 03:34:05,320
parti modülleri. Yani eğer internete girerseniz ve Python'a benzer bir şey ararsanız

2341
03:34:05,320 --> 03:34:10,320
X yapmak için modül veya Y yapmak için Python modülü, muhtemelen orada birileri var

2342
03:34:10,320 --> 03:34:15,320
yapmaya çalıştığınız şeyi yapmak için zaten bir Python modülü yazdı. Yani eğer alırsan

2343
03:34:15,320 --> 03:34:18,320
Modülleri kullanmada iyisiniz ve biliyorsunuz, onları arama ve bulma konusunda da iyi oluyorsunuz

2344
03:34:18,320 --> 03:34:22,320
aslında kendinize çok zaman kazandırabilirsiniz çünkü büyük olasılıkla

2345
03:34:22,320 --> 03:34:26,320
birisi zaten sizin yapmaya çalıştığınız şeyi yapmak için bir modül yazmış veya

2346
03:34:26,320 --> 03:34:30,320
yapmaya çalıştığın şeyin bir parçası gibi. Artık tüm bunlara göz attığımıza göre

2347
03:34:30,320 --> 03:34:34,320
farklı Python modülleri, biraz daha derinlere inmek istiyorum

2348
03:34:34,320 --> 03:34:39,320
bunları gerçekte nasıl kullanabiliriz? Burada fark edeceksiniz ki, çok fazla var

2349
03:34:39,320 --> 03:34:44,320
dosyalar, değil mi? Görünüşe göre erişebildiğimiz birçok farklı modül var

2350
03:34:44,320 --> 03:34:49,320
Python. Ancak soru şu ki, tüm bu dosyalar nerede saklanıyor, değil mi? ben ne zamandım

2351
03:34:49,320 --> 03:34:54,320
Örneğin buradaki programımda bu yararlı Tools.py dosyasını kullanıyordum.

2352
03:34:54,320 --> 03:34:59,320
Mesela onun nerede olduğunu biliyordum. O dosyayı ben oluşturdum. Ben doğrudan dahil oldum

2353
03:34:59,320 --> 03:35:04,320
yapıyor. Ve buraya yeni aktardım. Oldukça kolaydı, değil mi? Peki ya

2354
03:35:04,320 --> 03:35:09,320
tüm bu dosyalar, değil mi? Peki ya buradaki tüm bu modüller? Mesela neredeler

2355
03:35:09,320 --> 03:35:13,320
bunların hepsi saklandı mı? Ve burada temel olarak iki tür modül var. Yerleşik var

2356
03:35:13,320 --> 03:35:17,320
modüller, yani Python dilinde yerleşik olarak bulunuyorlar. Yani biz bir nevi

2357
03:35:17,320 --> 03:35:23,320
bunlara otomatik olarak erişebilirsiniz. Ve harici modüller var. Ve çok

2358
03:35:23,320 --> 03:35:28,320
Bu harici modüllerin çoğu temelde bizim kullandığımız klasörde saklanır.

2359
03:35:28,320 --> 03:35:32,320
Python'u bilgisayarımıza kurduk. Mesela bunlardan birkaçına bakalım,

2360
03:35:32,320 --> 03:35:40,320
değil mi? 64 üssümüz var, BDB, bin ASCII, mesela buraya gelirsem ve

2361
03:35:40,320 --> 03:35:45,320
göreceksiniz, burada küçük dosya gezginimdeyim. Python projem var,

2362
03:35:45,320 --> 03:35:49,320
yani taslak. Ayrıca burada harici adı verilen başka bir klasör daha var.

2363
03:35:49,320 --> 03:35:54,320
kütüphaneler. Eğer buna tıklayıp buraya gelirsem, şunu görebilirsin

2364
03:35:54,320 --> 03:35:59,320
sadece kullandığım Python sürümü. Burada lib adında bir klasör var.

2365
03:35:59,320 --> 03:36:03,320
Ve bu çok önemli bir klasör. Bu temelde bunların hepsini saklıyor

2366
03:36:03,320 --> 03:36:08,320
harici modüller. Yani buraya kaydırırsam, bunların hepsine sahip olduğumuzu görebilirsin

2367
03:36:08,320 --> 03:36:14,320
modüller gibi farklı, değil mi? İşte 64 tabanı. İşte BDB, değil mi? Çok fazla

2368
03:36:14,320 --> 03:36:19,320
Bu harici modüllerin tümü bu lib klasörünün içinde saklanır. Ve benim gibi

2369
03:36:19,320 --> 03:36:23,320
harici modüller olduğunu söyledi. Ayrıca tıpkı inşa edilmiş gibi olan birkaç modül var

2370
03:36:23,320 --> 03:36:27,320
modüller halinde. Buranın içinde depolanmayacaklar. Ve aslında yapabilirsin

2371
03:36:27,320 --> 03:36:32,320
söyle. Örneğin, eğer buraya gelip 64 tabanına tıklarsam, bu şunu söyler:

2372
03:36:32,320 --> 03:36:38,320
Kaynak kodunun olduğu yerdeyim. Yani lib ilerideki kaynak kodları 64 tabanını böler.

2373
03:36:38,320 --> 03:36:42,320
Bunu görebildik değil mi? Ben bunu lib klasörümün içinde gördüm.

2374
03:36:42,320 --> 03:36:47,320
Bu ASCII kutusu, örneğin buna tıklarsam bunun olduğunu fark edeceksiniz.

2375
03:36:47,320 --> 03:36:51,320
bana bir klasör vermiyor çünkü bu temelde Python'da yerleşik olarak bulunan bir şey.

2376
03:36:51,320 --> 03:36:56,320
Yani o dosyayı bulma konusunda endişelenmemize gerek yok. Bu sadece bir nevi

2377
03:36:56,320 --> 03:36:59,320
sanki bir nevi işe yarıyor. Yani bunların bir kısmı dışarıda. Bunlardan bazıları

2378
03:36:59,320 --> 03:37:04,320
yerleşik. Ve size bu modülleri kullanmanın yanı sıra şunu da göstermek istiyorum:

2379
03:37:04,320 --> 03:37:07,320
değil mi? Yani burada pek çok güzel şey var. Ve dürüst olmak gerekirse, harcayabilirsin

2380
03:37:07,320 --> 03:37:11,320
biliyorum, yıllar ve yıllar boyunca tüm bu farklı modülleri öğreniyorum. Ama çok

2381
03:37:11,320 --> 03:37:15,320
Çoğu zaman başkalarının yazdığı modülleri kullanmak isteyeceksiniz.

2382
03:37:15,320 --> 03:37:21,320
Ve biliyorsunuz, Python üzerinde çalışan ve farklı yazılar yazan birçok geliştirici var.

2383
03:37:21,320 --> 03:37:25,320
modüller. Yani buna dahil olmayan pek çok yararlı modül var

2384
03:37:25,320 --> 03:37:30,320
liste, değil mi? Varsayılan olarak bu lib klasörünün içinde olmayacaklar.

2385
03:37:30,320 --> 03:37:35,320
Ve aslında yapabileceğimiz şey şu harici modülleri kurabiliriz,

2386
03:37:35,320 --> 03:37:40,320
Python ile önceden yüklenmiş olarak gelmeyen üçüncü taraf modüller. Ve ben

2387
03:37:40,320 --> 03:37:43,320
size bunun nasıl hızlı bir şekilde yapılacağını göstereceğim. Yani ihtiyacınız olan ilk şey

2388
03:37:43,320 --> 03:37:48,320
Açıkçası yapmanız gereken, kurmak istediğiniz ve istediğiniz Python modülünü bulmaktır.

2389
03:37:48,320 --> 03:37:54,320
indirmek için. Ve aslında geçmiş Python dokümanlarından birini kullandım. Bu bir

2390
03:37:54,320 --> 03:37:58,320
Word oluşturmak için temel olarak Python'u kullanmak için kullanabileceğiniz harici modül

2391
03:37:58,320 --> 03:38:02,320
belgeler, ki bu oldukça hoş. Böylece içindeki Word belgelerini biçimlendirmeyi beğenebilirsiniz

2392
03:38:02,320 --> 03:38:06,320
ondan. O yüzden buna Google'da bakacağım. sadece yazacağım

2393
03:38:06,320 --> 03:38:11,320
Python belgelerinde. Ve bakın, olay şu ki, bu harici modüllerden tonlarca var.

2394
03:38:11,320 --> 03:38:16,320
Python belgelerini kullanmak zorunda değilsiniz. Arkadaşlar size sadece bir örnek veriyorum. Ama gerçekten

2395
03:38:16,320 --> 03:38:20,320
Eğer sadece yararlı üçüncü taraf Python modüllerine bakarsanız, listeler olacaktır.

2396
03:38:20,320 --> 03:38:25,320
bu şeylerin çevrimiçi olması. Benim durumumda Python docs'un bir web sitesi var ve bu

2397
03:38:25,320 --> 03:38:29,320
temelde sadece bazı kurulum talimatlarına benzer. Buraya geleceğim.

2398
03:38:29,320 --> 03:38:35,320
Ve bana Python belgelerini pip install Python komutunu kullanarak kurabileceğimi söylüyor

2399
03:38:35,320 --> 03:38:39,320
dokümanlar. Bu da bizi sizinle konuşmak istediğim bir şeye getiriyor, o da şu:

2400
03:38:39,320 --> 03:38:45,320
pip. Ve pip aslında bir programdır. Ve aslında, daha yeni bir sürümünüz varsa

2401
03:38:45,320 --> 03:38:50,320
Python 3'ün Python 3'ü önceden yüklenmiş olarak gelir. Ve pip kullanabilirsiniz

2402
03:38:50,320 --> 03:38:56,320
Python modüllerini yüklemek için. Paket yöneticisi olarak anılır. Ve bir paket

2403
03:38:56,320 --> 03:39:02,320
yönetici temel olarak yalnızca yüklemeyi, yönetmeyi, güncellemeyi ve kaldırmayı sevmenize olanak tanır

2404
03:39:02,320 --> 03:39:08,320
farklı Python modülleri gibi. Yani pip son derece faydalıdır. Ve bizim için

2405
03:39:08,320 --> 03:39:12,320
Python belgelerini yüklediğimizde pip kullanmamız gerekecek. Bu yüzden size göstereceğim arkadaşlar

2406
03:39:12,320 --> 03:39:17,320
bunu nasıl yapabiliriz. Yapmak istediğim şey komut istemini veya

2407
03:39:17,320 --> 03:39:21,320
bilgisayarımdaki terminal. Mac kullanıyorsanız terminalinizi açmak istersiniz.

2408
03:39:21,320 --> 03:39:24,320
Windows bilgisayar kullanıyorsanız komut istemlerinizi açmak istersiniz. ben

2409
03:39:24,320 --> 03:39:28,320
şu anda Windows kullanıyorum. Bu yüzden arama çubuğuna geleceğim ve

2410
03:39:28,320 --> 03:39:32,320
type in CMD. Ve bu komut istemi gelmelidir. Bu yüzden buna tıklayacağım

2411
03:39:32,320 --> 03:39:36,320
Komut isteminin içinde aslında pip kullanabiliriz. Yapmak istediğimiz ilk şey

2412
03:39:36,320 --> 03:39:40,320
sadece pip'in kurulu olduğundan emin olmak için kontrol etmektir. Ve dediğim gibi, eğer

2413
03:39:40,320 --> 03:39:45,320
Python 3 sürümünde pip önceden yüklenmiş olarak gelmelidir. And it should just work

2414
03:39:45,320 --> 03:39:49,320
in here. Python 3'ün yeni bir sürümüne sahip değilseniz, bunu yapmanız gerekebilir.

2415
03:39:49,320 --> 03:39:54,320
install pip separately. Ve internette nasıl kurulacağına dair tonlarca talimat var

2416
03:39:54,320 --> 03:39:57,320
pip. O yüzden elimde olup olmadığından emin olmak için kontrol edeceğim, yazacağım

2417
03:39:57,320 --> 03:40:02,320
pip kısa çizgi kısa çizgi sürümü. Ve bu benim kullandığım pip versiyonunu ortaya çıkarmalı

2418
03:40:02,320 --> 03:40:07,320
şu anda var. Pip'imiz olduğu sürece harici bir kurulum yapmaya hazırız

2419
03:40:07,320 --> 03:40:13,320
veya üçüncü taraf Python modülü. Tek yapmam gereken kurulumu seç demek. Ve şimdi ben

2420
03:40:13,320 --> 03:40:17,320
sadece Python modülünün adını yazmak istiyorum. Yani Python durumunda

2421
03:40:17,320 --> 03:40:23,320
dokümanlar, sadece bunun gibi Python dokümanlarıydı. Şimdi yine Python'u yüklemenize gerek yok

2422
03:40:23,320 --> 03:40:27,320
dokümanlar. Bunu sadece bu eğitim için yapıyorum. Size bunun nasıl olduğunu göstermek istiyorum

2423
03:40:27,320 --> 03:40:32,320
işe gidiyorum. Ama biliyorsun, yapmak istediğin şey internete girip üçüncü bir şeye bakmak.

2424
03:40:32,320 --> 03:40:37,320
parti harici Python modülleri. Ve genel olarak, dediğim gibi, %90 ila 95'i

2425
03:40:37,320 --> 03:40:41,320
zamanla bunları pip kullanarak kurabileceksiniz. Kapalı durumda

2426
03:40:41,320 --> 03:40:45,320
bunları pip kullanarak kuramazsınız, muhtemelen bazı ayrıntılı bilgiler olacaktır.

2427
03:40:45,320 --> 03:40:49,320
kurulum talimatları. Ama çoğunlukla şunu söyleyebilirim ki, meşru gibi

2428
03:40:49,320 --> 03:40:54,320
Python modülü pip kullanarak kurulabilecek. Yani burada, ben sadece

2429
03:40:54,320 --> 03:41:00,320
pip kurulumunu ve ardından modül adını söyleyeceğim. Yani Python tire belgeleri. Ve

2430
03:41:00,320 --> 03:41:04,320
Enter'a tıkladığımda bu kapanacak ve bizim için Python belgelerini yükleyecek. yani ben

2431
03:41:04,320 --> 03:41:08,320
sadece gireceğim. Ve o kapanacak ve ihtiyacımız olan her şeyi yükleyecek

2432
03:41:08,320 --> 03:41:16,320
Python belgeleri. Python docs 0.8.6'yı başarıyla yüklediğimizi görebilirsiniz. O yüzden gidiyorum

2433
03:41:16,320 --> 03:41:21,320
size bunun tam olarak nereye yerleştirildiğini göstermek için. Normalde, bir kurulum yaptığımızda

2434
03:41:21,320 --> 03:41:26,320
harici üçüncü taraf modülü, bu lib klasörünün içine yerleştirilecek. Ama

2435
03:41:26,320 --> 03:41:31,320
burada site paketleri adı verilen özel bir klasörün içine konulacak. Yani

2436
03:41:31,320 --> 03:41:36,320
site paketleri özel bir klasördür. Ve eğer bu klasörü açarsam, şimdi elimizde olduğunu göreceksiniz

2437
03:41:36,320 --> 03:41:44,320
bu docs klasörü ve ayrıca bu Python docs 0.8.6 pi 3.6.ag bilgi klasörüne de sahibiz.

2438
03:41:44,320 --> 03:41:50,320
Yani bu iki klasör temel olarak o modül kurulumuna dahil edilmiştir. Yani yapabilirsin

2439
03:41:50,320 --> 03:41:55,320
bakın bu dokümanlar klasöründe bir sürü farklı Python dosyası var ve bir sürü

2440
03:41:55,320 --> 03:41:59,320
burada kullanabileceğimiz şeyler var. Yani eğer bunu bilgisayarlarımdan birinin içinde kullanmak istersem

2441
03:41:59,320 --> 03:42:03,320
programlar için sadece modülün adına değineceğim. Yani bizim durumumuzda,

2442
03:42:03,320 --> 03:42:08,320
sadece dokümanlar olacak. Bu yüzden yüklemek için Python belgelerini kullandım. Ama biz

2443
03:42:08,320 --> 03:42:13,320
içe aktarmak istiyorsak dokümanları kullanacağız. Yani buraya gelebilirdim ve şunu söyleyebilirdim

2444
03:42:13,320 --> 03:42:19,320
DOCX'i içe aktarın. Ve artık onu gerçekten kullanabilirim. Yani sadece dokümanlar gibi söyleyebilirim,

2445
03:42:19,320 --> 03:42:22,320
doktor, her neyse. Ve burada bir sürü farklı şeyin olduğunu görebilirsiniz. var

2446
03:42:22,320 --> 03:42:26,320
bir belge belge bölümü görüntü bölümü gibi. Kullanabileceğimiz bir sürü şey var

2447
03:42:26,320 --> 03:42:30,320
bununla. Ve tabii ki kurduğunuz Python modülüne bağlı olarak

2448
03:42:30,320 --> 03:42:34,320
farklı talimatlar olmak. Ama burada burada saklandığını görebilirsiniz.

2449
03:42:34,320 --> 03:42:39,320
site paketleri klasörü. Bunu kaldırmak istersem bunu yapmak için PIP'i kullanabilirim. Yani yapabilirim

2450
03:42:39,320 --> 03:42:48,320
PIP kaldırma demeniz yeterli. Ve yine modül adını söyleyebiliriz. Yani Python belgeleri.

2451
03:42:48,320 --> 03:42:54,320
Ve PIP şimdi bunu bilgisayarımızda kaldıracak. Peki nasıl geri dönülecek

2452
03:42:54,320 --> 03:43:00,320
bu klasör? Bu ikisinin, bu dokümanlar klasörünün ve ardından diğerinin olduğunu göreceksiniz.

2453
03:43:00,320 --> 03:43:05,320
klasör kayboldu. Yani artık burada değiller. Ve aslında bunu yapamayacağım

2454
03:43:05,320 --> 03:43:10,320
artık bunu kullanmak için. İşte modülleri kullanmanın bir nevi artıları ve eksileri. Şimdi yine

2455
03:43:10,320 --> 03:43:15,320
bu modüllerden tonlarca var ve onlarca, düzinelerce Python kursu hazırlayabilirim

2456
03:43:15,320 --> 03:43:20,320
bu modüllerin her birini kapsar. Yerleşik modüller, modüller

2457
03:43:20,320 --> 03:43:25,320
varsayılan ve harici modüller tarafından dahil edilmiş, piyasada bunlardan tonlarca var.

2458
03:43:25,320 --> 03:43:29,320
Ve aslında, artık bir Python programcısı olarak yapabileceğiniz şey dışarı çıkıp oynamaktır.

2459
03:43:29,320 --> 03:43:33,320
bu farklı modüllerle birlikte. Size kurulumun tüm ayrıntılarını gösterdim

2460
03:43:33,320 --> 03:43:37,320
tüm bu farklı modülleri kurmak için PIP'i kullanabilirsiniz. Ve yapabilirsin

2461
03:43:37,320 --> 03:43:41,320
site paketleri klasörünü veya libs klasörünü kontrol ederek bunlara sahip olduğunuzdan emin olun.

2462
03:43:41,320 --> 03:43:46,320
Ama aslında artık dışarı çıkıp bu modülleri kullanmak size kalmış.

2463
03:43:46,320 --> 03:43:51,320
bundan uzak durun çünkü modüller Python'un büyük bir parçası ve kesinlikle

2464
03:43:51,320 --> 03:43:56,320
bunları Python yığınınıza dahil etmek isteyeceksiniz.

2465
03:43:58,320 --> 03:44:03,320
Bu derste sizlerle Python'daki sınıflar ve nesneler hakkında konuşmak istiyorum.

2466
03:44:03,320 --> 03:44:09,320
Artık sınıflar ve nesneler Python programlamada son derece faydalıdır ve

2467
03:44:09,320 --> 03:44:13,320
programlarınızı daha organize ve daha güçlü hale getirmenize yardımcı olur.

2468
03:44:13,320 --> 03:44:17,320
Yani Python'dayken her türlü veriyle uğraşıyoruz, değil mi?

2469
03:44:17,320 --> 03:44:21,320
Ve çoğu zaman program yazarken şununla çalışmak zorunda kalacağız:

2470
03:44:21,320 --> 03:44:25,320
farklı veri türleri. Ve aslında birkaç temel veri türü var

2471
03:44:25,320 --> 03:44:30,320
genellikle dizeler, yani düz metin, sayılar ve

2472
03:44:30,320 --> 03:44:34,320
Boole değerleri. Bu üçü bir nevi ana veri türleri gibidir

2473
03:44:34,320 --> 03:44:38,320
Python'da birlikte çalışacağız. Ve yapabileceğimiz her türlü yapıya sahibiz

2474
03:44:38,320 --> 03:44:42,320
Bu verileri depolamak için kullanın, bilirsiniz, listeler veya sözlükler gibi şeyler.

2475
03:44:42,320 --> 03:44:47,320
Ancak sorun şu ki, tüm bilgiler değil, tüm veriler değil, tüm veriler değil

2476
03:44:47,320 --> 03:44:53,320
şeyler dizeler, sayılar veya Boolean'lar kullanılarak temsil edilebilir, değil mi?

2477
03:44:53,320 --> 03:44:57,320
Gerçek dünyada temsil edemeyeceğimiz pek çok şey var

2478
03:44:57,320 --> 03:45:01,320
bir dize mi yoksa sadece bir sayı mı? Başka bir deyişle, şunu düşünmek gibi bir şey

2479
03:45:01,320 --> 03:45:05,320
telefon, bilgisayar veya insan gibi bir şey, değil mi? Gerçekten yapamazsın

2480
03:45:05,320 --> 03:45:10,320
bunları bir dize veya sayı gibi temsil edin. Başka bir deyişle, biliyorsun

2481
03:45:10,320 --> 03:45:15,320
Python'da elimizde bulunan veri türleri bunu kapsayamaz.

2482
03:45:15,320 --> 03:45:20,320
Sınıflar ve nesnelerle yapabileceğimiz şey aslında kendi

2483
03:45:20,320 --> 03:45:25,320
kendi veri türleri. Böylece Python'da istediğim her şey için kendi veri tipimi oluşturabilirim.

2484
03:45:25,320 --> 03:45:29,320
Böylece bir telefon veri türü oluşturabilirim ve bu bir telefonu temsil edebilir.

2485
03:45:29,320 --> 03:45:33,320
Böylece telefonum hakkında bilmek istediğim tüm bilgileri saklayabilirdim

2486
03:45:33,320 --> 03:45:38,320
bu veri türünün içinde. Ve Python'da bunun için bir sınıf yaratabiliriz.

2487
03:45:38,320 --> 03:45:42,320
Ve aslında bir sınıf, sadece şunu söylemekten ibarettir: hey, işte başka bir veri türü

2488
03:45:42,320 --> 03:45:47,320
Python'da kullanmak istediğimiz. Yani bir sınıfla, esas olarak kendinizi tanımlayabilirsiniz.

2489
03:45:47,320 --> 03:45:52,320
kendi veri türü. Ve bu süper harika. Ve dersler son derece faydalıdır.

2490
03:45:52,320 --> 03:45:56,320
Sınıflar hemen hemen her büyük programlama dilinde kullanılmaktadır.

2491
03:45:56,320 --> 03:46:00,320
Bu derste size derslerle ilgili temel bir giriş yapmak istiyorum.

2492
03:46:00,320 --> 03:46:05,320
ve bunları Python'un içinde kullanmak. Diyelim ki bir program yazıyorum

2493
03:46:05,320 --> 03:46:09,320
ve bu programda bir öğrenciyi temsil etmek istiyorum.

2494
03:46:09,320 --> 03:46:13,320
Belki bir kolej veya üniversite için bir program yazıyorumdur.

2495
03:46:13,320 --> 03:46:17,320
Diyelim ki bu programda bir öğrenciye modellik yapmak istiyorum.

2496
03:46:17,320 --> 03:46:21,320
Sanki gerçek dünyadaki bir nesneyi modellemek istiyorum ve onun öğrenci olmasını istiyorum.

2497
03:46:21,320 --> 03:46:25,320
Doğru, öğrenci veri türümüz yok ve gerçekten bir öğrenciyi temsil edemiyorum

2498
03:46:25,320 --> 03:46:28,320
yalnızca tek bir dizede veya sayıda.

2499
03:46:28,320 --> 03:46:33,320
Yani aslında yapabileceğim şey, bir öğrenci için bir sınıf oluşturmaktır.

2500
03:46:33,320 --> 03:46:36,320
Ve temelde öğrenci veri türü gibi yaratıyorum.

2501
03:46:36,320 --> 03:46:40,320
Şimdi size bunu nasıl yapabileceğimizi ve öğrenci sınıfımızı nasıl oluşturabileceğimizi göstereceğim.

2502
03:46:40,320 --> 03:46:43,320
Burada yeni bir dosya oluşturacağım.

2503
03:46:43,320 --> 03:46:48,320
Bunu yeni bir Python dosyası haline getireceğiz. Bu yüzden onu student.py olarak adlandıracağım.

2504
03:46:48,320 --> 03:46:54,320
Ve bu student.py dosyasının içinde bir öğrenci sınıfı oluşturmak istiyorum.

2505
03:46:54,320 --> 03:46:58,320
Yani bunu yapabilmemin yolu sadece class yazmaktır.

2506
03:46:58,320 --> 03:47:02,320
Şimdi oluşturmak istediğim sınıfın adını yazmak istiyorum.

2507
03:47:02,320 --> 03:47:04,320
Yani bizim durumumuzda öğrenci adında bir sınıf yaratacağız.

2508
03:47:04,320 --> 03:47:08,320
Yani sadece öğrenci diyeceğim ve şimdi iki nokta üst üste yapacağız.

2509
03:47:08,320 --> 03:47:13,320
Artık buraya giren her şey öğrenci sınıfımızın içinde olacak.

2510
03:47:13,320 --> 03:47:19,320
Yani bu şekilde girintili olan her şey öğrenci sınıfımızın bir parçası olarak kabul edilecektir.

2511
03:47:19,320 --> 03:47:23,320
Ve temel olarak bu öğrenci sınıfında yapabileceğimiz şey, bir takım nitelikleri tanımlayabilmektir.

2512
03:47:23,320 --> 03:47:25,320
bir öğrenci hakkında.

2513
03:47:25,320 --> 03:47:28,320
Yani aslında yaptığım şey bir öğrenciyi modellemek gibi.

2514
03:47:28,320 --> 03:47:33,320
Öğrenci veri türümüzü oluşturuyorum. Ve dizeler gibi şeyleri kullanabilirim,

2515
03:47:33,320 --> 03:47:40,320
Bir öğrencinin ne olması ve neye sahip olması gerektiğini haritalandırmak için tamsayılar ve boolean'lar.

2516
03:47:40,320 --> 03:47:43,320
Bu yüzden başlatma işlevi adı verilen bir şey oluşturmak istiyorum.

2517
03:47:43,320 --> 03:47:47,320
Ve bunu sadece def yazarak yapıyorum.

2518
03:47:47,320 --> 03:47:50,320
Ve sadece iki alt çizgi yazacağım.

2519
03:47:50,320 --> 03:47:55,320
Ve sonra I N I T kelimesi ve ardından iki tane daha alt çizgi.

2520
03:47:55,320 --> 03:47:58,320
Ayrıca parantezleri açıp kapatmak da istiyorsunuz.

2521
03:47:58,320 --> 03:48:02,320
Ve bu parantezlerin içine self yazmak istiyoruz.

2522
03:48:02,320 --> 03:48:04,320
Ve bundan sonra iki nokta üst üste gelmek istiyoruz.

2523
03:48:04,320 --> 03:48:11,320
Bu başlatma fonksiyonunun içinde yapabileceğim şey, temel olarak bir öğrencinin sahip olması gereken niteliklerin haritasını çıkarabilmektir.

2524
03:48:11,320 --> 03:48:17,320
Yani aslında Python'daki öğrenci veri tipini şu şekilde tanımlayabiliriz.

2525
03:48:17,320 --> 03:48:21,320
Yani yapmak istediğim şey bu benlikten sonra belirli nitelikleri eklemek.

2526
03:48:21,320 --> 03:48:23,320
Bu yüzden kendine virgül diyeceğim.

2527
03:48:23,320 --> 03:48:30,320
Artık Python programımızda bir öğrenciyi hangi değerlerin temsil edeceğini düşünmeye başlayabiliriz.

2528
03:48:30,320 --> 03:48:34,320
Yani eğer böyle düşünüyorsam, isim gibi bir şey düşünüyorum, değil mi?

2529
03:48:34,320 --> 03:48:37,320
Bu nedenle programımızdaki her öğrencinin bir adı olmalıdır.

2530
03:48:37,320 --> 03:48:41,320
Ayrıca üniversitede oldukları için büyük bir dal almak isteyebilirler.

2531
03:48:41,320 --> 03:48:48,320
Muhtemelen onların da not ortalaması olacak. Yani okuldaki durumları gibi bir not ortalamasıdırlar.

2532
03:48:48,320 --> 03:48:50,320
Ve bir şeyi daha tanımlayalım.

2533
03:48:50,320 --> 03:48:53,320
Dur düşüneyim. Neden bir Boolean yapmıyoruz?

2534
03:48:53,320 --> 03:48:57,320
Ve şartlı tahliyede çağrılacak.

2535
03:48:57,320 --> 03:49:02,320
Ve bu temel olarak öğrencinin denetimli serbestlikte olup olmadığını söyleyecektir.

2536
03:49:02,320 --> 03:49:10,320
Yani aslında bu init işlevi içindeki bu başlatma yönteminin içinde yaptığım şey, ne olduğunu tanımlıyorum

2537
03:49:10,320 --> 03:49:18,320
programımızda bir öğrenci var. Ve bu programda bir öğrencinin bir adı var, bir ana dalı var, bir genel not ortalaması var,

2538
03:49:18,320 --> 03:49:21,320
ve denetimli serbestlikte olup olmadığını belirleyen bir değeri var.

2539
03:49:21,320 --> 03:49:24,320
Buradaki öğrenci veri türüdür.

2540
03:49:24,320 --> 03:49:31,320
Yani şu anda programımda bir öğrenciyi temsil ediyorsam, bu program onunla ilişkili tüm bu özelliklere sahiptir.

2541
03:49:31,320 --> 03:49:33,320
Ve temelde burada yaptığım şey bu.

2542
03:49:33,320 --> 03:49:42,320
Şimdi bu başlatma fonksiyonunun içinde aslında bir şeyler yapmamız gerekiyor. Ve temel olarak yapmak istediğim şey bazı değerler atamak.

2543
03:49:42,320 --> 03:49:47,320
Bu yüzden bazı şeyler yazacağım ve bu şu anda pek mantıklı gelmeyebilir.

2544
03:49:47,320 --> 03:49:52,320
Ancak ilk öğrenci nesnemizi yarattıktan bir saniye sonra bu anlam kazanacak.

2545
03:49:52,320 --> 03:49:57,320
O yüzden şu anda benimle kalın ve temelde benim burada yaptığım şeyi yapmamız gerektiğini bilin.

2546
03:49:57,320 --> 03:50:05,320
Bu yüzden sadece kendi nokta adının isme eşit olduğunu söyleyeceğim. Ve sonra kendi nokta majörünün majöre eşit olduğunu söyleyeceğim.

2547
03:50:05,320 --> 03:50:16,320
Kendi kendine nokta GPA, GPA'ya eşittir. Ve ben de öz noktanın denetimli serbestlikte olduğunu ve denetimli serbestlikte olduğunu söyleyeceğim.

2548
03:50:16,320 --> 03:50:23,320
Tekrar ediyorum, bu şu anda pek mantıklı gelmeyebilir ama kısa bir süre sonra tamamen mantıklı olacak.

2549
03:50:23,320 --> 03:50:30,320
Artık bu öğrenci sınıfını tanımladığıma göre, bu sınıfı aslında diğer dosyamın içinde kullanabilirim.

2550
03:50:30,320 --> 03:50:36,320
Bu yüzden buraya bu uygulamanın nokta Python dosyasına geleceğim. Ve bu sadece benim ana dosyam.

2551
03:50:36,320 --> 03:50:43,320
Yani aslında bir öğrenci oluşturmak istiyorum ve bu öğrenci sınıfında öğrenci veri türünü tanımladık.

2552
03:50:43,320 --> 03:50:49,320
Ve biz temelde şunu söyledik, hey, bir öğrencinin bir adı vardır, ana not ortalaması vardır ve bu onun şartlı tahliyede olup olmadığını gösterir.

2553
03:50:49,320 --> 03:50:55,320
Bu, öğrencinin ne olduğunun şablonu gibidir. Ama aslında bir öğrenci yaratabiliriz.

2554
03:50:55,320 --> 03:51:01,320
Böylece gerçek bir öğrenci oluşturabilir ve ona bazı bilgiler verebiliriz. Ve buna nesne denir.

2555
03:51:01,320 --> 03:51:07,320
Yani buradaki öğrenci sınıfı temelde öğrencinin ne olduğunu tanımlıyor.

2556
03:51:07,320 --> 03:51:12,320
Yani bir sınıf, öğrenci veri türünün ne olduğuna dair bir genel bakış gibidir.

2557
03:51:12,320 --> 03:51:19,320
Bir nesne gerçek bir öğrencidir. Yani adı, bölümü ve genel not ortalaması olan gerçek bir öğrenci.

2558
03:51:19,320 --> 03:51:25,320
Artık sadece bu şablon değil. Aslında programımızda temsil ettiğimiz bir öğrenci gibi.

2559
03:51:25,320 --> 03:51:32,320
Yani o öğrenci sınıfını kullanmak ve bir öğrenci nesnesi yaratmak için aslında onu içe aktarmam gerekiyor.

2560
03:51:32,320 --> 03:51:40,320
Yani burada yapmam gereken tek şey öğrenciden şunu söylemek ve bu öğrenci dosyasına atıfta bulunuyor.

2561
03:51:40,320 --> 03:51:44,320
İthal öğrenci diyebilirim.

2562
03:51:44,320 --> 03:51:51,320
Ve temelde bunun söylediği şey öğrenci dosyasından, öğrenci sınıfını içe aktarmak istiyorum.

2563
03:51:51,320 --> 03:51:54,320
Yani her ikisi de öğrenci olmasına rağmen farklı şeylerden bahsediyorlar.

2564
03:51:54,320 --> 03:51:59,320
Yani bu dosyaya atıfta bulunuyor ve bu da gerçek öğrenci sınıfına atıfta bulunuyor.

2565
03:51:59,320 --> 03:52:06,320
Artık bunu yaptığımıza göre bir öğrenci oluşturabiliriz. Böylece normal bir değişkene çok benzer şekilde bir sınıfın nesnesini oluşturabilirsiniz.

2566
03:52:06,320 --> 03:52:10,320
O yüzden ona bir isim verebilirim. Bu öğrenciye "bir" diyeceğim.

2567
03:52:10,320 --> 03:52:14,320
Ve bunu öğrenciye eşitleyeceğim.

2568
03:52:14,320 --> 03:52:16,320
Ve bir açık ve kapalı parantez yapacağım.

2569
03:52:16,320 --> 03:52:27,320
Ve şimdi bu parantez içinde bu öğrenciye bir isim, ana dal, genel not ortalaması ve deneme süresi değeri vermek istiyorum.

2570
03:52:27,320 --> 03:52:32,320
O yüzden şunu söyleyeceğim: Sahte bir öğrenci yaratacağız. O yüzden adının Jim olduğunu söyleyeceğim.

2571
03:52:32,320 --> 03:52:36,320
Ve işletme okuyor.

2572
03:52:36,320 --> 03:52:41,320
Ve ona bir not ortalaması vermek istiyoruz. Yani belki 3.1'e sahiptir.

2573
03:52:41,320 --> 03:52:46,320
Ve son olarak bu öğrencinin şartlı tahliyede olup olmadığını söylemek istiyoruz. Peki neden yanlış demiyoruz?

2574
03:52:46,320 --> 03:52:51,320
Yani temelde yaptığım şey, bir öğrenci yaratmak istediğimi söylemek.

2575
03:52:51,320 --> 03:52:58,320
Bu yüzden aslında bir öğrenci nesnesi yaratmak istiyorum. Ve unutmayın, bir nesne yalnızca bir sınıfın örneğidir.

2576
03:52:58,320 --> 03:53:02,320
Yani sınıf genel bir şablon gibidir. Öğrencinin ne olduğunu tanımlar.

2577
03:53:02,320 --> 03:53:06,320
Ancak bir nesne, gerçek bilgiye sahip gerçek bir öğrencidir.

2578
03:53:06,320 --> 03:53:11,320
Artık öğrenci 1'i çağırabiliriz. Bu bir öğrenci nesnesidir.

2579
03:53:11,320 --> 03:53:16,320
Sizlere bu öğrenci nesnesinin aslında ne olduğunu ve onunla neler yapabileceğimizi göstermek istiyorum.

2580
03:53:16,320 --> 03:53:20,320
Daha sonra daha önce bahsettiğim fonksiyon hakkında biraz daha konuşacağım.

2581
03:53:20,320 --> 03:53:23,320
Burada, basılı bir açıklama yapacağım.

2582
03:53:23,320 --> 03:53:27,320
Ve buranın içinde sadece öğrenci çıktısını almak istiyorum.

2583
03:53:27,320 --> 03:53:35,320
Ve bu öğrenci tek nesnesinin güzel yanı, aslında bu nesnenin içinden niteliklerin her birine erişebiliyor olmam.

2584
03:53:35,320 --> 03:53:39,320
Yani eğer öğrencinin adını almak istersem, öğrenciye bir nokta adı söyleyebilirim.

2585
03:53:39,320 --> 03:53:43,320
Ve şimdi bu aslında öğrencinin adını yazdıracak.

2586
03:53:43,320 --> 03:53:47,320
Burada Jim'in çıktısını göreceksiniz.

2587
03:53:47,320 --> 03:53:54,320
İsteseydim öğrencinin genel not ortalamasının çıktısını alabilirdim. Ve öğrencinin not ortalaması 3.1'in çıktısını alacak.

2588
03:53:54,320 --> 03:54:01,320
Artık bu öğrenci nesnesini oluşturduğuma göre aslında öğrenci hakkındaki bilgilere erişebiliyorum.

2589
03:54:01,320 --> 03:54:04,320
Yani aslında bir öğrenci veri türü oluşturdum.

2590
03:54:04,320 --> 03:54:11,320
Böylece bu öğrencilerden istediğim kadarını yaratabilirdim. İsteseydim ikinci öğrenci diyebileceğimiz başka bir öğrenci yaratabilirdim.

2591
03:54:11,320 --> 03:54:15,320
Ve aslında biz de aynı şeyi yapıyoruz. Biz sadece ona farklı bilgiler veriyoruz.

2592
03:54:15,320 --> 03:54:26,320
Yani Pam'in ve onun ana dalının sanat olduğunu söyleyebiliriz. Ve 2,5 gibi bir puanı var. Ve diyelim ki şartlı tahliyede.

2593
03:54:26,320 --> 03:54:32,320
Artık başka bir öğrencim daha var, öğrenci iki. Yani isteseydim o öğrencinin bilgilerine ulaşabiliyordum.

2594
03:54:32,320 --> 03:54:38,320
Öğrencinin iki nokta not ortalamasına benzetebiliriz. Ve şimdi bu bana ikinci öğrencinin not ortalamasını veriyor.

2595
03:54:38,320 --> 03:54:44,320
Temel olarak yaptığım şey, bir öğrenci veri türü oluşturmak ve öğrenci nesneleri oluşturmaktı.

2596
03:54:44,320 --> 03:54:48,320
Artık programımda bir öğrenciyi temsil edebiliyorum.

2597
03:54:48,320 --> 03:54:53,320
O halde hadi buradaki tüm bu şeyler hakkında çok hızlı konuşalım çünkü bunu gerçekten açıklamadım.

2598
03:54:53,320 --> 03:55:01,320
Temelde, buraya geldiğimde öğrenci dediğimde, tüm bu farklı değerleri aktarıyorum.

2599
03:55:01,320 --> 03:55:05,320
bunlar bu init fonksiyonuna aktarılıyor.

2600
03:55:05,320 --> 03:55:09,320
Unutmayın, bir isimle geçtim, bir ana dalda geçtim, bir genel not ortalamasında geçtim.

2601
03:55:09,320 --> 03:55:14,320
Bu öğrenciyi yarattığımızda aslında bu fonksiyonu çağırıyoruz.

2602
03:55:14,320 --> 03:55:21,320
Ve ismi, ana dal ve genel not ortalamasını girdiğimde, bu değerler aslında burada, bu isimde saklanıyor,

2603
03:55:21,320 --> 03:55:29,320
bu ana dal, bu not ortalaması, vb. Bu yüzden bu öğrenciye tüm bu bilgiyi veriyorum.

2604
03:55:29,320 --> 03:55:35,320
Ve burada aşağıda yaptığım şey, kendi nokta adının isme eşit olduğunu söylüyorum.

2605
03:55:35,320 --> 03:55:42,320
Ve temel olarak bunun anlamı, gerçek nesnenin adının, aktardıkları isme eşit olacağıdır.

2606
03:55:42,320 --> 03:55:46,320
Yani öz nokta adı öğrencinin bir özelliğidir.

2607
03:55:46,320 --> 03:55:51,320
Yani öğrenci bir isim saklıyor, öğrenci bir ana dal saklıyor, öğrenci bir genel not ortalaması saklıyor.

2608
03:55:51,320 --> 03:55:56,320
Ama bu, bu isimden, bu ana daldan ve bu genel not ortalamasından farklı.

2609
03:55:56,320 --> 03:56:01,320
Unutmayın, bunların hepsi sadece benim aktardığım değerlerdir, sadece parametrelerdir.

2610
03:56:01,320 --> 03:56:08,320
Bu yüzden aktardığım değerleri almam gerekiyor ve bunları nesnenin gerçek özelliklerine atamam gerekiyor.

2611
03:56:08,320 --> 03:56:14,320
Bu yüzden şunu söylemem gerekiyor, tamam, öğrencinin adı, aktardığımız isme eşit olacak.

2612
03:56:14,320 --> 03:56:21,320
Bir kez daha öğrenci nesnesinin adı, geçtiğimiz isme eşit olacak.

2613
03:56:21,320 --> 03:56:26,320
Öğrencinin bölümünün adı, geçtiğimiz bölümün adı ile aynı olacaktır.

2614
03:56:26,320 --> 03:56:31,320
Öğrencinin not ortalaması, geçtiğimiz not ortalamasına eşit olacak.

2615
03:56:31,320 --> 03:56:37,320
Temelde burada olan budur. Yani benlik dediğimde gerçek nesneye atıfta bulunuyorum.

2616
03:56:37,320 --> 03:56:43,320
Yani burada, bu öğrenci nesnesini yaratırken ona tüm bu bilgileri veriyorum.

2617
03:56:43,320 --> 03:56:48,320
Bu bilgiyi alıyor ve nesnenin nitelikleri olarak saklıyor.

2618
03:56:48,320 --> 03:56:52,320
Umarım bu mantıklıdır. Sanırım bu anlatabildiğim kadar açık.

2619
03:56:52,320 --> 03:56:56,320
Ancak mesele şu ki, artık bir öğrenci veri tipimiz var.

2620
03:56:56,320 --> 03:57:01,320
Artık Python programımda bir öğrenciyi temsil edebiliyorum.

2621
03:57:01,320 --> 03:57:06,320
Ve bu süper güçlü gibi. Sınıfların ve nesnelerin güzel tarafı da bunu her şeyle yapabilmenizdir.

2622
03:57:06,320 --> 03:57:12,320
Bu örnekte bir öğrenci sınıfı oluşturduk ve ardından ondan öğrenci nesneleri oluşturduk.

2623
03:57:12,320 --> 03:57:16,320
Ama gerçek dünyadaki herhangi bir varlığı bu programa modelleyebilirim.

2624
03:57:16,320 --> 03:57:23,320
Telefon gibi bir şeyi modelleyebilirim, su şişesi gibi modelleyebilirim ya da klavyeyi modelleyebilirim, değil mi?

2625
03:57:23,320 --> 03:57:27,320
Programımın içinde istediğim her şeyi modelleyebilirim.

2626
03:57:27,320 --> 03:57:29,320
Ona belirli özellikler verebilirim, değil mi?

2627
03:57:29,320 --> 03:57:36,320
Sınıfların güzel tarafı da gerçek dünya nesnelerini modelleyebilmemiz ve kendi veri türlerimizi oluşturabilmemizdir.

2628
03:57:40,320 --> 03:57:45,320
Bu derste size Python'da çoktan seçmeli bir sınavın nasıl oluşturulacağını göstereceğim.

2629
03:57:45,320 --> 03:57:50,320
Temel olarak çoktan seçmeli küçük bir test hazırlayacağız ve kullanıcının bu testi çözmesini sağlayacağız.

2630
03:57:50,320 --> 03:57:55,320
Onlar testi çözerken puanlarını takip edeceğiz ve sonunda onlara nasıl başardıklarını anlatacağız.

2631
03:57:55,320 --> 03:57:59,320
Yani bu oldukça güzel bir video olacak. Size bunun nasıl yapılacağını göstereceğim için heyecanlıyım.

2632
03:57:59,320 --> 03:58:05,320
Bu programı oluşturmak için sınıflar, if ifadeleri ve döngüler gibi şeyleri kullanacağız.

2633
03:58:05,320 --> 03:58:08,320
Bu yüzden Python'da pek çok harika şey kullanacağız.

2634
03:58:08,320 --> 03:58:15,320
Sizlere göstermek istediğim ilk şey, aslında bunu videoya başlamadan önce yapmıştım. Bu küçük bir dizi. Buna soru yönlendirmeleri denir.

2635
03:58:15,320 --> 03:58:20,320
Ve aslında olacak tüm soruları yazdım, yoksa soruları söylememeliyim.

2636
03:58:20,320 --> 03:58:25,320
Çoktan seçmeli sınavımda yer alacak tüm soru istemlerini yazdım.

2637
03:58:25,320 --> 03:58:32,320
Yani ilki sadece elmaların ne renk olduğunu söylüyor ve cevaplar kırmızı, mor veya turuncu.

2638
03:58:32,320 --> 03:58:38,320
Bir sonraki adım ise hangi renk muz seçeneklerinin turkuaz, macenta ve sarı olduğudur.

2639
03:58:38,320 --> 03:58:43,320
Üçüncü soru ise çileklerin rengi nedir ve seçenekler sarı, kırmızı ve mavidir.

2640
03:58:43,320 --> 03:58:46,320
Yani bu açıkçası çok çok kolay, çoktan seçmeli bir test.

2641
03:58:46,320 --> 03:58:51,320
Ama soruları önceden yazdım, böylece bunu yapmak için zaman harcamak zorunda kalmadım.

2642
03:58:51,320 --> 03:58:56,320
Şimdi çoktan seçmeli bir testi nasıl oluşturabileceğimiz hakkında konuşalım.

2643
03:58:56,320 --> 03:59:00,320
Peki, düşünmek istediğim ilk şey testteki soruları nasıl temsil edebileceğimdir.

2644
03:59:00,320 --> 03:59:07,320
Burada soru yönlendirmelerimiz var, ancak düşündüğünüzde aslında sorunun iki kısmı vardır.

2645
03:59:07,320 --> 03:59:11,320
İstemler var. Başka bir deyişle asıl sorunun kendisi.

2646
03:59:11,320 --> 03:59:17,320
Ve sonra sorunun cevabı var ve bu niteliklerin her ikisinin de takip edilmesi gerekiyor.

2647
03:59:17,320 --> 03:59:21,320
Ne sormak istediğimizi ve cevabın ne olduğunu takip etmem gerekiyor.

2648
03:59:21,320 --> 03:59:25,320
Aslında yapacağım şey bir soru sınıfı oluşturmak.

2649
03:59:25,320 --> 03:59:30,320
Bu yüzden sorular için ve o soru sınıfının içinde küçük bir veri türü yaratacağım.

2650
03:59:30,320 --> 03:59:36,320
soru istemlerini ve ayrıca soruların yanıtlarını da saklayabileceğiz.

2651
03:59:36,320 --> 03:59:45,320
Yani buraya klasörüme geleceğim ve yeni bir Python dosyası oluşturacağım ve buna soru.py adını vereceğiz.

2652
03:59:45,320 --> 03:59:51,320
Buna soru.py adını vereceğiz ve bu soru.py dosyasının içinde bir sınıf oluşturacağım.

2653
03:59:51,320 --> 03:59:56,320
Yani sadece sınıf sorusunu söyleyeceğim ve buraya iki nokta üst üste koyacağım.

2654
03:59:56,320 --> 04:00:01,320
Yani bu soru sınıfının içinde, onu başlatma fonksiyonunda tanımlamak istiyoruz.

2655
04:00:01,320 --> 04:00:11,320
Yani, içinde def iki alt çizgi, iki alt çizgi diyeceğim ve sonra bir açık ve kapalı parantez ve ardından iki nokta üst üste yazacağız.

2656
04:00:11,320 --> 04:00:19,320
Yani bu benliğin ardından, bir soruyu tanımlayacak veya bir soruya dahil olacak farklı nitelikleri tanımlamak istiyoruz.

2657
04:00:19,320 --> 04:00:24,320
Yani bir bilgi istemi ekleyeceğiz ve bir cevap ekleyeceğiz.

2658
04:00:24,320 --> 04:00:28,320
Yani her sorunun bir soru istemi ve bir soru cevabı olacaktır.

2659
04:00:28,320 --> 04:00:34,320
Şimdi burada, bu değerleri alıp gerçek sınıf nesnesine atamak istiyorum.

2660
04:00:34,320 --> 04:00:43,320
Yani kendi noktalı isteminin istemine eşit olduğunu söyleyeceğim ve kendi noktalı yanıtın cevaba eşit olduğunu söyleyeceğim.

2661
04:00:43,320 --> 04:00:50,320
Artık bir soru sınıfımız var ve bir soruyla ilgili ihtiyacımız olan tüm bilgileri saklayabiliriz.

2662
04:00:50,320 --> 04:00:54,320
Şimdi yapmak istediğim şey uygulama nokta Python dosyama geri dönmek.

2663
04:00:54,320 --> 04:00:57,320
Ve aslında bir dizi soru oluşturacağız.

2664
04:00:57,320 --> 04:01:02,320
Burada bu üç komut var ve aslında başka bir dizi yaratacağım.

2665
04:01:02,320 --> 04:01:12,320
Yani buna sadece soru diyeceğiz ve bunu köşeli parantezleri açmaya ve kapatmaya eşitleyeceğim ve soru nesneleri oluşturmaya başlayacağız.

2666
04:01:12,320 --> 04:01:27,320
Diyelim ki bu soru dizisindeki ilk eleman bir soru olacak ve soru istemlerini sıfır olarak geçirmek istiyoruz ve ilk sorunun cevabı kırmızı yeşildi.

2667
04:01:27,320 --> 04:01:28,320
Bu Apple'ın rengi.

2668
04:01:28,320 --> 04:01:36,320
Yani ilk soruyu ileteceğim ve aynı zamanda cevabı da ileteceğim, ki bu a ve burada bir hata alıyorum.

2669
04:01:36,320 --> 04:01:45,320
Yani çözülmemiş referans sorusunu söylüyorum. Yani aslında bu soruları oluşturmadan önce yapmamız gereken şey, bu soru sınıfını içe aktarmamız gerektiğidir.

2670
04:01:45,320 --> 04:01:52,320
Bu yüzden buraya geleceğim, buraya gelip soru ithalat sorusundan bahsedeceğim.

2671
04:01:52,320 --> 04:01:56,320
Şimdi bu soru dizisinde artık o hatayı almıyoruz.

2672
04:01:56,320 --> 04:02:02,320
Böylece bir soru nesnesi oluşturduk ve diğerleri için de birkaç tane daha oluşturacağım.

2673
04:02:02,320 --> 04:02:10,320
Bu yüzden bunu kopyalayacağım ve buraya yapıştıracağım.

2674
04:02:10,320 --> 04:02:21,320
Pekala, şimdi iki soru daha oluşturuyoruz ve bunlar bir ve iki olacak ve ikinci sorunun cevabı C ve üçüncü sorunun cevabı olacak.

2675
04:02:21,320 --> 04:02:25,320
Sanırım B. Bakayım.

2676
04:02:25,320 --> 04:02:35,320
Evet, yani C ve B. Tamam, aslında yaptığımız şey üç soru oluşturmak. Her biri farklı bir soru istemiyle karşılaşıyor ve her biri farklı yanıtlar alıyor.

2677
04:02:35,320 --> 04:02:39,320
Şimdi testimizde sormak istediğimiz bir dizi soru var.

2678
04:02:39,320 --> 04:02:44,320
Yani bir sonraki adım aslında testi çalıştıracak bir fonksiyon yazmak, değil mi?

2679
04:02:44,320 --> 04:02:49,320
Kullanıcıya sorular sormalı ve cevabın doğru olup olmadığını kontrol etmelidir.

2680
04:02:49,320 --> 04:02:57,320
Burada, dosyanın alt kısmında bir fonksiyon oluşturalım. Bu yüzden sadece ölüm diyeceğim ve buna koşu testi adını vereceğiz.

2681
04:02:57,320 --> 04:03:02,320
Ve bu parantezlerin içine, bu fonksiyona bir parametre alacağız.

2682
04:03:02,320 --> 04:03:07,320
Bir soru listesi alacağız. O yüzden sadece soruları söyleyeceğim.

2683
04:03:07,320 --> 04:03:12,320
Yani bu temelde kullanıcıya sormak istediğimiz soru nesnelerinin bir listesi olacak.

2684
04:03:12,320 --> 04:03:16,320
Yani buraya girdiğimde tek yapmak istediğim tüm soruların üzerinden geçmek.

2685
04:03:16,320 --> 04:03:20,320
Bu yüzden her soruyu tekrarlamak istiyorum. Bunu kullanıcıya sormak istiyorum.

2686
04:03:20,320 --> 04:03:24,320
Kullanıcının cevabını almak istiyorum ve doğru olup olmadığını kontrol etmek istiyorum.

2687
04:03:24,320 --> 04:03:28,320
Ve kullanıcının test boyunca nasıl performans gösterdiğini takip edebilmemiz gerekiyor.

2688
04:03:28,320 --> 04:03:33,320
Bu yüzden puan adında bir değişken yaratmak istiyorum ve onu sıfıra eşitleyeceğim.

2689
04:03:33,320 --> 04:03:38,320
Yani kullanıcı bir soruyu her doğru yanıtladığında bu puan değişkenini artıracağız.

2690
04:03:38,320 --> 04:03:42,320
Tamam, yapmak istediğim şey, söylediğim gibi, soru dizisindeki tüm soruların üzerinden geçmek.

2691
04:03:42,320 --> 04:03:49,320
Bu yüzden bir for döngüsü oluşturacağım. Soru içinde soru için diyeceğim.

2692
04:03:49,320 --> 04:03:55,320
Başka bir deyişle, bu soru dizisinin içindeki her soru nesnesi için bir şeyler yapmak istiyorum.

2693
04:03:55,320 --> 04:04:00,320
Ve temel olarak yapmak istediğim ilk şey kullanıcıya bu soruyu sormak.

2694
04:04:00,320 --> 04:04:03,320
Ve onların yanıtlarını bir değişkenin içinde saklamak istiyorum.

2695
04:04:03,320 --> 04:04:07,320
Yani burada cevap adında bir değişken yapacağımı söyleyeceğim.

2696
04:04:07,320 --> 04:04:12,320
Bu da kullanıcının soruya verdiği cevabı temsil edecek.

2697
04:04:12,320 --> 04:04:17,320
Ve bunu girişe eşitleyeceğim ve buna bir komut vermem gerekiyor.

2698
04:04:17,320 --> 04:04:20,320
Aslında buna sorunun ipucunu vereceğim.

2699
04:04:20,320 --> 04:04:24,320
Yani sadece soru nokta istemi diyebilirim.

2700
04:04:24,320 --> 04:04:29,320
Artık kullanıcının girdiği ve bu değişkenin içinde saklanan cevaba sahibim.

2701
04:04:29,320 --> 04:04:32,320
Bu yüzden soruyu doğru cevaplayıp cevaplamadıklarını kontrol etmek istiyoruz.

2702
04:04:32,320 --> 04:04:34,320
Ve bunu if ifadesini kullanarak yapabilirim.

2703
04:04:34,320 --> 04:04:42,320
Diyelim ki cevap, ki bu öğrencinin cevabına işaret ediyor, soru nokta cevabına eşitse.

2704
04:04:42,320 --> 04:04:49,320
Bu yüzden öğrencinin verdiği cevabın şu anda sorduğumuz sorunun cevabına eşit olup olmadığını kontrol ediyorum.

2705
04:04:49,320 --> 04:04:53,320
Ve eğer bu doğruysa, o zaman puanımı artırmak istiyorum.

2706
04:04:53,320 --> 04:04:56,320
Yani puan artı bire eşittir diyeceğim.

2707
04:04:56,320 --> 04:04:59,320
Ve bu aslında skora bir tane eklediğimiz anlamına geliyor.

2708
04:04:59,320 --> 04:05:04,320
Yani bu fonksiyonun içinde yapmak istediğim son şey sonucun çıktısını almak.

2709
04:05:04,320 --> 04:05:06,320
Bu yüzden kullanıcının nasıl yaptığını yazdırmak istiyorum.

2710
04:05:06,320 --> 04:05:10,320
Yani burada, sadece yazdır diyeceğim ve temelde şöyle yazdıracağım:

2711
04:05:10,320 --> 04:05:14,320
Hey, üç sorudan ikisini ya da altı sorudan beşini aldın, değil mi?

2712
04:05:14,320 --> 04:05:16,320
Yoksa 10 sorudan sıfırını aldın, değil mi?

2713
04:05:16,320 --> 04:05:18,320
Nasıl yaptıklarını yazdıracağız.

2714
04:05:18,320 --> 04:05:20,320
Yani sadece anladığını söyleyeceğim.

2715
04:05:20,320 --> 04:05:24,320
Şimdi kaç soruyu doğru cevapladıklarını yazdırmak istiyorum.

2716
04:05:24,320 --> 04:05:26,320
Yani bu sadece skor olacak.

2717
04:05:26,320 --> 04:05:33,320
Bunun gibi bir dizenin yanında bir sayıyı yazdırmak için STR demem ve ardından sayıyı yazmam gerekecek.

2718
04:05:33,320 --> 04:05:35,320
Yani STR puanı diyeceğiz.

2719
04:05:35,320 --> 04:05:39,320
Yani temel olarak, ne kadar çok alıyorlarsa onu aldığınızı söyleyeceğiz.

2720
04:05:39,320 --> 04:05:41,320
Bu küçük eğik çizgiyi kullanacağız.

2721
04:05:41,320 --> 04:05:45,320
Şimdi kaç soru olduğunu söyleyeceğiz.

2722
04:05:45,320 --> 04:05:49,320
Yani şunu söyleyebiliriz, yine bunu bir dizgeye dönüştürmemiz gerekecek çünkü bu bir sayı olacak.

2723
04:05:49,320 --> 04:05:56,320
Yani, string diyebiliriz ve sonra bu soru dizisinde kaç soru olduğunu bulmak istiyoruz. Yani LEN diyebilirim.

2724
04:05:56,320 --> 04:05:58,320
Ve burada sadece soru sorabiliriz.

2725
04:05:58,320 --> 04:06:02,320
Yani bu, kaç tane soru olduğunu yazdırmak için şu uzun ifadeye benziyor.

2726
04:06:02,320 --> 04:06:05,320
O zaman burada sadece doğru diyeceğim.

2727
04:06:05,320 --> 04:06:06,320
Elbette.

2728
04:06:06,320 --> 04:06:08,320
Artık elimizde bu baskı beyanı var.

2729
04:06:08,320 --> 04:06:12,320
Ve kaç soruyu doğru cevapladıklarının çıktısı alınacak.

2730
04:06:12,320 --> 04:06:14,320
Bakalım bu işe yarayacak mı?

2731
04:06:14,320 --> 04:06:19,320
Yapmam gereken son şey bu çalıştırma testi fonksiyonunu çağırmak.

2732
04:06:19,320 --> 04:06:24,320
Bu yüzden testi çalıştır diyeceğim ve bunu daha önce oluşturduğumuz soru dizisini ileteceğim.

2733
04:06:24,320 --> 04:06:29,320
Böylece, içinde tüm bu soru nesnelerinin bulunduğu bu soru dizisini oluşturduk.

2734
04:06:29,320 --> 04:06:33,320
Temel olarak bunu bu çalıştırma testi fonksiyonuna aktaracağım.

2735
04:06:33,320 --> 04:06:36,320
Şimdi programımızı çalıştıralım ve nasıl yaptığımızı görelim.

2736
04:06:36,320 --> 04:06:38,320
Umarım herhangi bir hata almayız.

2737
04:06:38,320 --> 04:06:42,320
Orada çok fazla kod var, dolayısıyla bunu yapabilmemiz mümkün.

2738
04:06:42,320 --> 04:06:44,320
Tamam, elmaların ne renk olduğu yazıyor?

2739
04:06:44,320 --> 04:06:45,320
Hah, bu çok zor bir şey.

2740
04:06:45,320 --> 04:06:48,320
Tamam, A'yı koyalım. Böylece ilk soruyu doğru cevaplamış olacağız.

2741
04:06:48,320 --> 04:06:49,320
Muz ne renktir?

2742
04:06:49,320 --> 04:06:51,320
İkinci soruyu yanlış anlayalım.

2743
04:06:51,320 --> 04:06:54,320
Bu yüzden B diyeceğim, muzlar macentadır.

2744
04:06:54,320 --> 04:06:56,320
Üçüncü soruyu da doğru cevaplayacağız.

2745
04:06:56,320 --> 04:06:58,320
Yani çileklerin ne renk olduğu yazıyor?

2746
04:06:58,320 --> 04:07:01,320
Sadece B'yi koyacağım çünkü doğru cevap bu.

2747
04:07:01,320 --> 04:07:04,320
Artık programımızın çıktısını göreceksiniz.

2748
04:07:04,320 --> 04:07:06,320
Üçte ikisini doğru bildin.

2749
04:07:06,320 --> 04:07:10,320
Yani bize sadece tüm soruları sorup her soru için görüşlerimizi almakla kalmadı,

2750
04:07:10,320 --> 04:07:14,320
ama aynı zamanda puanımızı da takip etti ve çıktısını aldı.

2751
04:07:14,320 --> 04:07:20,320
O halde neden testi bir kez daha yapmıyoruz ki bu sefer çok yanılmak isteriz.

2752
04:07:20,320 --> 04:07:21,320
Yani bunu yanlış anlayacağız.

2753
04:07:21,320 --> 04:07:23,320
Bunu yanlış anlayacağım ve bunu doğru yapacağım.

2754
04:07:23,320 --> 04:07:26,320
Şimdi de üçten birinin doğru olduğunu söylüyor.

2755
04:07:26,320 --> 04:07:28,320
Yani aslında testimize not verebiliyor.

2756
04:07:28,320 --> 04:07:32,320
Ve az önce yazdığımız programın güzel tarafı eğer istersem,

2757
04:07:32,320 --> 04:07:37,320
Buraya başka bir soru ekleyebilirim ve otomatik olarak bunu sorabilir.

2758
04:07:37,320 --> 04:07:40,320
Yani buraya kaç soru koyduğumuz önemli değil.

2759
04:07:40,320 --> 04:07:42,320
Sadece bunu sorabiliyor.

2760
04:07:42,320 --> 04:07:48,320
Aslında bu videonun tamamında vurgulamaya çalıştığım nokta, sınıf gibi bir şeyi nasıl kullanabileceğimizdi.

2761
04:07:48,320 --> 04:07:51,320
gerçek dünyadaki bir varlığı modellemek için.

2762
04:07:51,320 --> 04:07:59,320
Mesela bu soru sınıfını oluşturduk ve bir soruyla ilgili ihtiyaç duyabileceğimiz tüm bilgileri depolayabildik.

2763
04:07:59,320 --> 04:08:02,320
Böylece istemleri ve cevabı bir nevi beğenebildik.

2764
04:08:02,320 --> 04:08:08,320
Böylece kendi soru veri türümüzü oluşturduk ve ardından bir sürü farklı soru oluşturabildik.

2765
04:08:08,320 --> 04:08:14,320
bunu bu test çalıştırma yöntemine geçirin ve teste not verebildi ve testi gerçekten kolay bir şekilde çalıştırabildi.

2766
04:08:14,320 --> 04:08:16,320
İşte mesele de bu.

2767
04:08:16,320 --> 04:08:18,320
Umarım bu mantıklıdır.

2768
04:08:18,320 --> 04:08:19,320
Biliyorsunuz, bu çok fazla koddu.

2769
04:08:19,320 --> 04:08:23,320
Yani ne yaptığımı tam olarak anlamadıysanız geri dönün, videoyu izleyin.

2770
04:08:23,320 --> 04:08:28,320
kendi başınıza birkaç kez deneyin ve kendi çoktan seçmeli testinizi oluşturup oluşturamayacağınızı görün.

2771
04:08:28,320 --> 04:08:36,320
Bu derste sizlerle Python'daki sınıf fonksiyonları hakkında konuşmak istiyorum.

2772
04:08:36,320 --> 04:08:45,320
Yani bir sınıf işlevi, esasen bir sınıfın içinde kullanabileceğimiz bir işlevdir ve o sınıfın nesnelerini değiştirebilir.

2773
04:08:45,320 --> 04:08:48,320
veya bize o nesneler hakkında spesifik bilgiler verebilir.

2774
04:08:48,320 --> 04:08:55,320
Burada student.py dosyası var ve burada bir öğrenci sınıfı oluşturdum.

2775
04:08:55,320 --> 04:08:59,320
Yani yeni bir sınıf öğrencim vardı ve bu öğrenciye birkaç farklı özellik verdim.

2776
04:08:59,320 --> 04:09:03,320
Ona bir isim, bir ana dal ve bir not ortalaması verdim.

2777
04:09:03,320 --> 04:09:06,320
Böylece bu öğrenciye tüm bu bilgileri verebilirim.

2778
04:09:06,320 --> 04:09:10,320
Yani bir öğrenci nesnesi oluşturduğumda, içinde tüm bu bilgiler olacak.

2779
04:09:10,320 --> 04:09:15,320
Şimdi buradaki app.py dosyasında aslında iki öğrenci oluştu.

2780
04:09:15,320 --> 04:09:21,320
Yani birinci öğrenci muhasebe okuyan Oscar'dır ve not ortalaması 3.1'dir.

2781
04:09:21,320 --> 04:09:26,320
İkinci öğrenci Phyllis, işletme okuyor ve notu 3.8.

2782
04:09:26,320 --> 04:09:32,320
Yani aslında yapabileceğimiz şey şu, bu sınıf dosyalarının içindeki fonksiyonları kullanabiliriz.

2783
04:09:32,320 --> 04:09:40,320
Böylece aslında bu öğrenci sınıfının içinde bir fonksiyon tanımlayabildim ve ardından tüm öğrenci nesnelerim ona erişebildi.

2784
04:09:40,320 --> 04:09:50,320
Örneğin, buraya gelip bir fonksiyon oluşturabilirim ve diyelim ki bize bu öğrencinin onur derecesi olup olmadığını söyleyen bir fonksiyon yaratmak istedik.

2785
04:09:50,320 --> 04:09:53,320
Peki onur listesinde olsunlar ya da olmasınlar, değil mi?

2786
04:09:53,320 --> 04:09:56,320
Temel olarak, gerçekten iyi bir öğrenciye benziyorlar mı?

2787
04:09:56,320 --> 04:10:01,320
Böylece onur listesi adı verilen bir işlevi tanımlayabilirim.

2788
04:10:01,320 --> 04:10:09,320
Ve temel olarak yapacağı şey, bana bu öğrencinin onur listesinde olup olmadığını söyleyecek.

2789
04:10:09,320 --> 04:10:16,320
Temel olarak şunu söyleyelim, onur listesine girmenin kuralı, not ortalamasının 3,5 veya üzerinde olması gerektiğidir.

2790
04:10:16,320 --> 04:10:20,320
Yani burada genel not ortalaması 3.5 ve üzeri ise onur listesindesiniz demektir.

2791
04:10:20,320 --> 04:10:23,320
Aslında buraya bunun kodunu yazabilirim.

2792
04:10:23,320 --> 04:10:33,320
Yani eğer self.gpa diyebilirim ve burada self dediğimde bu, gerçek öğrencinin not ortalamasına benzer anlamına gelir.

2793
04:10:33,320 --> 04:10:39,320
Ve burada bunu bir parametre olarak aktarmam gerektiğini fark edeceksiniz ve bu her zaman ilk parametre olmalıdır.

2794
04:10:39,320 --> 04:10:52,320
Yani eğer self.gpa 3,5'tan büyük veya ona eşitse, o zaman doğruya dönebiliriz çünkü bu öğrenci onur listesindedir diyebilirim.

2795
04:10:52,320 --> 04:11:03,320
Aksi takdirde false sonucunu döndürebiliriz çünkü eğer genel not ortalaması 3,5'un üzerinde değilse o zaman onur listesinde yer almazlar.

2796
04:11:03,320 --> 04:11:12,320
Yani bu aslında bizim küçük onur listesi fonksiyonumuz. Gördüğünüz gibi bu çok küçük bir fonksiyon ama bu sınıfın nesnelerine bir hizmet sağlıyor.

2797
04:11:12,320 --> 04:11:18,320
Bu sınıfın nesnelerinin mevcut öğrencinin onur listesinde olup olmadığını anlamasına olanak tanır.

2798
04:11:18,320 --> 04:11:24,320
Yani bu app.pa dosyasında bu değeri yazdırabildim.

2799
04:11:24,320 --> 04:11:32,320
Yani yazdır diyebilirim ve birinci öğrencinin onur listesinde olup olmadığına bakacağım.

2800
04:11:32,320 --> 04:11:37,320
Şimdi bunu çalıştırdığımda yanlış çıktı vermesi gerektiğini göreceksiniz.

2801
04:11:37,320 --> 04:11:43,320
Ve burada yanlış çıkıyor çünkü birinci öğrencinin not ortalaması sadece 3.1.

2802
04:11:43,320 --> 04:11:51,320
Eğer aynı şeyi ikinci öğrenci için yaparsam, ikinci öğrencinin not ortalaması 3.8 olur, dolayısıyla doğruya dönmeliyiz.

2803
04:11:51,320 --> 04:11:53,320
Ve tam olarak olan da buydu.

2804
04:11:53,320 --> 04:11:59,320
Yani aslında bir sınıf işlevi, sınıfın nesneleri tarafından kullanılabilen küçük bir işlevdir.

2805
04:11:59,320 --> 04:12:04,320
Ve bunun bir sınıf fonksiyonunun ne yapması gerektiğine dair oldukça iyi bir örnek olduğunu söyleyebilirim.

2806
04:12:04,320 --> 04:12:10,320
Bize sınıf hakkında bilgi vermek gibi olmalı ya da sınıf hakkındaki bilgileri değiştirmek gibi de olabilir.

2807
04:12:10,320 --> 04:12:12,320
İşte sınıflarda işlevleri kullanmanın temelleri budur.

2808
04:12:12,320 --> 04:12:21,320
Demek istediğim, bu oldukça basit bir eğitim, ancak aslında size sınıfların içine işlevler yerleştirme kavramını tanıtmak istedim.

2809
04:12:21,320 --> 04:12:22,320
Bu gerçekten faydalı olacak.

2810
04:12:22,320 --> 04:12:40,320
Ve eğer bir sınıf oluşturuyorsanız, her zaman buraya hangi işlevleri koyabileceğimi düşünmek istersiniz; bu, kullanıcının nesne hakkında bilgi edinmesine veya nesnedeki farklı değerleri değiştirmesine yardımcı olur.

2811
04:12:40,320 --> 04:12:44,320
Bu derste sizinle Python'daki kalıtım hakkında konuşmak istiyorum.

2812
04:12:44,320 --> 04:12:51,320
Şimdi miras, temel olarak bir sınıf içindeki bir dizi özelliği, işlevi ve şeyleri tanımlayabildiğimiz yerdir.

2813
04:12:51,320 --> 04:12:56,320
Daha sonra başka bir sınıf yaratabiliriz ve bu niteliklerin tümünü miras alabiliriz.

2814
04:12:56,320 --> 04:13:06,320
Böylece, aynı yöntemleri veya nitelikleri fiziksel olarak yazmak zorunda kalmadan, temel olarak başka bir sınıfın tüm işlevlerine sahip bir sınıfa sahip olabilirim.

2815
04:13:06,320 --> 04:13:11,320
Eğer bu kafa karıştırıcıysa endişelenmeyin, bu videoda size bunun tam olarak ne olduğunu göstereceğim.

2816
04:13:11,320 --> 04:13:15,320
Size burada kurduğum bazı şeyleri göstermeme izin verin.

2817
04:13:15,320 --> 04:13:21,320
Şef adında bir sınıf oluşturdum. Ve burada da bir sınıf şefimiz var.

2818
04:13:21,320 --> 04:13:24,320
Ve bu şef sınıfının içinde üç fonksiyonumuz var.

2819
04:13:24,320 --> 04:13:26,320
Yani bu şef üç şey yapabilir.

2820
04:13:26,320 --> 04:13:28,320
Şef tavuk yapabilir.

2821
04:13:28,320 --> 04:13:33,320
Şef salata yapabilir ve şef özel bir yemek yapabilir.

2822
04:13:33,320 --> 04:13:44,320
Ve şef ne zaman bir yemek yapsa, temelde sadece şefin tavuk yaptığını, şefin salata yaptığını veya şefin bu özel yemek için barbekü kaburga yaptığını söyler.

2823
04:13:44,320 --> 04:13:48,320
Temel olarak şefin ne yaptığını söylemektir.

2824
04:13:48,320 --> 04:13:54,320
Yani buraya, app.python dosyama gelirsem, şefi içe aktardığımı fark edeceksiniz.

2825
04:13:54,320 --> 04:13:58,320
Yani artık bu şeflik dersini kullanmama izin veriliyor.

2826
04:13:58,320 --> 04:14:01,320
Ve şefimin şefle eşdeğer olduğunu söyleyebilirim.

2827
04:14:01,320 --> 04:14:02,320
Bu yüzden yeni bir şef yaratıyorum.

2828
04:14:02,320 --> 04:14:09,320
Şimdi buraya gelip şefimin tavuk yaptığını söylersem.

2829
04:14:09,320 --> 04:14:14,320
Şimdi programımı çalıştırdığımda şefin tavuk yaptığını söyleyecek.

2830
04:14:14,320 --> 04:14:26,320
Eğer özel yemek yap desem ve şimdi programı çalıştırsam, şefin barbekü kaburga yaptığını söyleyecek çünkü bu şefin özel yemeği.

2831
04:14:26,320 --> 04:14:29,320
Gerçekten harika bir şef dersim var ve gerçekten işe yarıyor.

2832
04:14:29,320 --> 04:14:35,320
Ama diyelim ki başka türde bir şefi modellemek için başka bir sınıf oluşturmak istedim.

2833
04:14:35,320 --> 04:14:39,320
Yani bu şef sınıfı sıradan bir şef gibi modellik yapıyor.

2834
04:14:39,320 --> 04:14:42,320
Programımızda genel bir şefi temsil ediyoruz.

2835
04:14:42,320 --> 04:14:47,320
Ama diyelim ki farklı türde bir şefi modelleyen bir sınıf oluşturmak istedim.

2836
04:14:47,320 --> 04:14:51,320
Örneğin Çinli bir şefi modelleyen bir sınıf oluşturmak istediğimizi varsayalım.

2837
04:14:51,320 --> 04:14:55,320
Yani bu normal bir şef yerine Çinli bir şef.

2838
04:14:55,320 --> 04:14:59,320
Aslında burada Chinese Chef Dot Python adında bir dosya oluşturdum.

2839
04:14:59,320 --> 04:15:06,320
Yani aslında bu Çinli şef nokta python dosyasını Çinli şef sınıfımızı oluşturmak için kullanabiliriz.

2840
04:15:06,320 --> 04:15:11,320
Yani sadece sınıf diyeceğim ve burada da sadece Çinli şef diyeceğim.

2841
04:15:11,320 --> 04:15:17,320
Ve temel olarak Çinli şefin yapabileceği her şeyi tanımlayabilirim.

2842
04:15:17,320 --> 04:15:23,320
Ama diyelim ki jenerik şefimizin yapabildiği her şeyi Çinli şefimiz de yapabiliyor.

2843
04:15:23,320 --> 04:15:29,320
Yani Çinli şef özel bir şef gibidir, yani çok özel bir şef türüdür.

2844
04:15:29,320 --> 04:15:33,320
Ama diyelim ki bu Çinli şef normal bir şefin yapabildiği her şeyi yapabiliyor.

2845
04:15:33,320 --> 04:15:38,320
Yani Çinli şef tavuk yapabiliyor, salata yapabiliyor ve ayrıca özel bir yemek de yapabiliyor.

2846
04:15:38,320 --> 04:15:49,320
Eğer bu Çinli şefe tüm bu işlevleri vermek isteseydim buraya gelebilirdim ve tüm bu işlevleri kopyalayıp buraya yapıştırabilirdim.

2847
04:15:49,320 --> 04:15:54,320
Yani artık Çinli şef diğer şefin yapabildiği her şeyi yapabiliyor.

2848
04:15:54,320 --> 04:16:01,320
Ancak tüm bunların yanı sıra Çinli şefin kızarmış pilav denilen özel bir yemeği de yapabildiğini söyleyelim.

2849
04:16:01,320 --> 04:16:06,320
Yani sağır diyebilirim ve kızarmış pilav yapabiliriz diyebiliriz.

2850
04:16:06,320 --> 04:16:16,320
Yani Çinli şefin kızarmış pilav yapmasına olanak tanıyan ekstra bir işlevi var ve burada şefin kızarmış pilav yaptığını söyleyebiliriz.

2851
04:16:16,320 --> 04:16:20,320
Ayrıca Çinli şefin farklı bir özel yemeği olduğunu da söyleyelim.

2852
04:16:20,320 --> 04:16:25,320
Bu yüzden Çinli şef, barbeküde kaburga yapmak yerine turuncu tavuk yapıyor.

2853
04:16:25,320 --> 04:16:33,320
Pekala, artık Çinli şef sınıfımızı kurduk ve normal bir şefin yapabileceği her şeyi yapabildiğini fark edeceksiniz.

2854
04:16:33,320 --> 04:16:39,320
Hadi app.python dosyamıza geri dönelim ve bir Chinese Chef nesnesi oluşturmak istiyorum.

2855
04:16:39,320 --> 04:16:49,320
Yani şeften ithal etmek yerine onu Çinli şeften ithal edeceğiz, yani Çinli şef diyeceğim ve Çinli şefi ithal edeceğiz.

2856
04:16:49,320 --> 04:16:53,320
O halde hadi devam edelim ve Çinli bir şef objesi yapalım.

2857
04:16:53,320 --> 04:17:02,320
O yüzden burada bir tane yapacağım ve sadece benim diyeceğim, sonra da Çinli şefim bu özel yemeğin çıktısını alabiliriz.

2858
04:17:02,320 --> 04:17:06,320
Bu yüzden Çinli şefin normal bir şefin yapabildiği her şeyi yapabileceğini unutmayın.

2859
04:17:06,320 --> 04:17:18,320
Yani bu programı çalıştırdığımda Çinli şefimin özel yemek yaptığını söylersem normal şefin barbekü kaburga yaptığını ve Çinli şefin turuncu tavuk yaptığını göreceksiniz.

2860
04:17:18,320 --> 04:17:28,320
Yani her şey yolunda gidiyor ve bu Çinli şefin ayrıca kızarmış pilav yapmak adında ekstra bir yöntemi var ve siz de kızarmış pilav yapabilirsiniz.

2861
04:17:28,320 --> 04:17:38,320
Ancak bu Çinli şef noktalı turtasına gittiğimde, bu şef sınıfının içindeki tüm işlevleri kullanmak istediğimde sorun şu:

2862
04:17:38,320 --> 04:17:46,320
Aslında tüm bu işlevleri kopyalayıp fiziksel olarak bu dosyaya yapıştırmam gerekiyordu ve bu biraz sıkıcıydı.

2863
04:17:46,320 --> 04:17:52,320
Yani özellikle bu şefin bu farklı işlevlerden 20 veya 30 tanesine sahip olduğunu hayal edin.

2864
04:17:52,320 --> 04:17:59,320
Peki, bunların hepsini kopyalamam ve bu Çinli şefin içine yapıştırmam gerekiyor ve burası miras denen şeyi kullanabileceğimiz yer.

2865
04:17:59,320 --> 04:18:07,320
Yani tüm bu işlevleri kopyalayıp yapıştırmak yerine, bu işlevleri şef sınıfından miras alabilirim.

2866
04:18:07,320 --> 04:18:16,320
Ve bunu yapabilmek için aslında tüm bunlardan kurtulabilirim ve buraya, sınıf Çinli aşçı dediğim yerin hemen yanına gelebilirim.

2867
04:18:16,320 --> 04:18:22,320
Parantezlerin içinde miras almak istediğim sınıfın adını söyleyebilirim, böylece sadece şef diyebilirim.

2868
04:18:22,320 --> 04:18:32,320
Ayrıca bunu ithal etmem gerekecek, bu yüzden buraya geleceğim ve şef ithalat şefinden diyeceğiz.

2869
04:18:32,320 --> 04:18:42,320
Yani temelde bunun anlamı şu: Bu Çinli şefin içinde, şef sınıfının içerdiği tüm fonksiyonları kullanabilmek istiyorum.

2870
04:18:42,320 --> 04:18:50,320
O yüzden şunu bir kez daha söyleyeceğim. Bu Çinli şef sınıfının içinde, bu şef sınıfının içindeki tüm fonksiyonları kullanabilmek istiyorum.

2871
04:18:50,320 --> 04:19:02,320
Yani burada kalıtımı kullanarak aslında buraya bu app.py dosyasına gelebiliyorum ve şimdi hala örneğin make tavuk fonksiyonunu çalıştırabiliyorum.

2872
04:19:02,320 --> 04:19:15,320
Burada tavuk yapma fonksiyonunu belirtmeme rağmen yazmadım. Ben bu programı hâlâ yürütebilirim ve Çinli şef hâlâ tavuk yapabilecek.

2873
04:19:15,320 --> 04:19:20,320
Bu programı çalıştırdığımda burada şefin tavuk yaptığını yazdığını göreceksiniz.

2874
04:19:20,320 --> 04:19:25,320
Bunun nedeni tavuk yapma yöntemini şef sınıfından miras almamdır.

2875
04:19:25,320 --> 04:19:32,320
Ama burada kafa karıştıran bir şey var. Buraya gelip özel yemek yap dersem.

2876
04:19:32,320 --> 04:19:36,320
Çinli şefin özel yemeğinin turuncu tavuk olması gerektiğini unutmayın.

2877
04:19:36,320 --> 04:19:47,320
Ama şimdi Çinli şef barbekü kaburga yapacak çünkü bu özel yemek yapma işlevini bu şef sınıfından miras aldım.

2878
04:19:47,320 --> 04:19:58,320
Ve aslında yapabileceğim şey şu, buraya gelebilirim ve bunu özel yemek dersi olarak geçersiz kılabilirim. Yani ölümün özel bir yemek olduğunu söyleyebilirim.

2879
04:19:58,320 --> 04:20:06,320
Ve burada bunu geçersiz kılabilirim. Yani şefin portakallı tavuk yaptığını söyleyebilirim.

2880
04:20:06,320 --> 04:20:12,320
Ve şimdi buraya gittiğimde özel yemek hazırlama fonksiyonunu çalıştırıyorum.

2881
04:20:12,320 --> 04:20:18,320
Şimdi şef turuncu tavuk yapmaya geri dönecek. Yani Çinli şef kendi özel yemeğini yapacak.

2882
04:20:18,320 --> 04:20:26,320
Yani temelde mirasın yaptığı budur. Mevcut bir sınıftan yeni sınıfa işlevsellik aktarmamı sağlıyor.

2883
04:20:26,320 --> 04:20:31,320
Ve aslında hepsini yazmama gerek kalmadan miras alabilirim.

2884
04:20:31,320 --> 04:20:36,320
Böylece Çince dersinde tavuk yap, salata yap yazmama gerek kalmadı.

2885
04:20:36,320 --> 04:20:46,320
Ancak Çinli şef hâlâ tavuk ve salata yapabiliyor çünkü bu işlevsellik şef sınıfından miras kalmış.

2886
04:20:46,320 --> 04:20:50,320
Bu derste sizlerle Python yorumlayıcısı hakkında konuşmak istiyorum.

2887
04:20:50,320 --> 04:20:58,320
temel olarak Python komutlarını yürütmek için kullanabileceğimiz küçük bir ortamdır.

2888
04:20:58,320 --> 04:21:08,320
Yani bu, farklı Python komutlarını veya farklı Python işlevlerini çok güvenli ve tarafsız bir ortamda test edebildiğimiz ve deneyebildiğimiz bu küçük sanal alan ortamına benziyor.

2889
04:21:08,320 --> 04:21:13,320
Yani bu Python yazmanın ve farklı şeyler denemenin hızlı ve kirli bir yolu gibi.

2890
04:21:13,320 --> 04:21:18,320
Python yorumlayıcısını kullanma şeklimiz komut istemimizi açmaktır.

2891
04:21:18,320 --> 04:21:22,320
Şimdi, eğer Windows kullanıyorsanız, komut istemi adı verilen bir program var.

2892
04:21:22,320 --> 04:21:30,320
Mac kullanıyorsanız terminal adında bir program var. Ve temel olarak Python yorumlayıcısını kullanabilmek için bu programı açmanız gerekir.

2893
04:21:30,320 --> 04:21:37,320
Yani burada bir Mac kullanıyorum, ancak eğer bir Windows kullanıyorsanız aslında benim yaptığımın aynısını komut isteminin içinde yapabilirsiniz.

2894
04:21:37,320 --> 04:21:41,320
Yani burada Mac'te terminalimi arayacağım.

2895
04:21:41,320 --> 04:21:46,320
Windows kullanıyorsanız, CMD veya komut istemi gibi bir arama yapabilirsiniz ve açılmalıdır.

2896
04:21:46,320 --> 04:21:57,320
Yani terminal temel olarak bilgisayarımızda, bilgisayarla etkileşim kurabildiğimiz ve grafik kullanıcı arayüzü olmadan farklı şeyler yapabildiğimiz bir ortamdır.

2897
04:21:57,320 --> 04:22:05,320
Normalde bilgisayarla etkileşime girdiğimizde düğmeler veya pencereler gibi şeyler kullanırız veya eşyaları hareket ettirebiliriz.

2898
04:22:05,320 --> 04:22:16,320
Temelde bilgisayarla grafiklerle etkileşime girmek gibi olabiliriz ancak terminal veya komut istemi, metin komutlarını kullanarak bilgisayarla etkileşime girebileceğimiz bir yerdir.

2899
04:22:16,320 --> 04:22:21,320
Yani terminalin ve komut isteminin ne olduğuna çok fazla girmeyeceğimi biliyorsunuz ama aslında olan bu.

2900
04:22:21,320 --> 04:22:26,320
Yani buranın içinde Python yorumlayıcısını kullanabiliriz.

2901
04:22:26,320 --> 04:22:33,320
Ve Python yorumlayıcısı temelde, söylediğim gibi, bildiğiniz Python türlerini yazabileceğimiz küçük bir programdır.

2902
04:22:33,320 --> 04:22:40,320
Yani genel olarak tek yapmanız gereken terminalinize veya komut isteminize gidip Python 3 yazmaktır.

2903
04:22:40,320 --> 04:22:49,320
Ve Python 3 kullandığımız için Python 3 yazacağım ama siz normal Python da yazabilirsiniz ve bunun size Python 2 vereceğinden oldukça eminim.

2904
04:22:49,320 --> 04:23:02,320
Şimdi Windows'ta kısa bir sorumluluk reddi beyanı, bu Python 3 komutunu kullanamayacağınız bir sorunla karşılaşabilirsiniz ve bu sorunla karşılaşıyorsanız Python'un da bu sorunla karşılaşması mümkündür.

2905
04:23:02,320 --> 04:23:07,320
Python 3'ün Windows yol değişkeninize eklenmemiş olması gibi.

2906
04:23:07,320 --> 04:23:13,320
Ve temel olarak bunun anlamı, bilgisayarınızın Python 3 komutunu tanımamasıdır.

2907
04:23:13,320 --> 04:23:19,320
Durum buysa tek yapmanız gereken gidip Google'a Python 3'ü Windows yol değişkeninize nasıl ekleyeceğinizi öğrenmektir.

2908
04:23:19,320 --> 04:23:28,320
Bu gerçekten çok kolay, sırf kapsamın dışında olduğu için bu videoda bu konuya girmeyeceğim, ancak bu sorunla karşılaşıyorsanız bu muhtemelen Windows yol değişkeninizde değildir.

2909
04:23:28,320 --> 04:23:32,320
Yani bunun için sadece Google'ı arayın ve bir cevap bulabilmelisiniz.

2910
04:23:32,320 --> 04:23:37,320
Ama Python 3 yazıp enter'a tıklayacağım ve burada bu harika küçük şeyi açacağım.

2911
04:23:37,320 --> 04:23:41,320
Yani temelde Python'un versiyonu gibi olduğunu görebilirsiniz.

2912
04:23:41,320 --> 04:23:46,320
Şimdi buraya gireceğim, böylece burada yeni satırlara benzer bazı şeyler olabilir.

2913
04:23:46,320 --> 04:23:52,320
Ama burada Python yorumlayıcısı var, buraya Python kodunu yazabiliriz ve işe yarayacak.

2914
04:23:52,320 --> 04:23:58,320
Yani örneğin print gibi yazabilirim ve buranın içine merhaba dünya gibi print edebilirim.

2915
04:23:58,320 --> 04:24:02,320
Ve enter'a tıkladığımda merhaba dünya yazdığını göreceksiniz.

2916
04:24:02,320 --> 04:24:07,320
Bir değişken yaratabilirim, örneğin bir numaranın ona eşit olduğunu söyleyebilirim.

2917
04:24:07,320 --> 04:24:16,320
İkinci sayının doksana eşit olduğunu söyleyebilirim ve sonra bir sayı artı iki sayısını yazdırabilirim ve o bunu benim için yapabilecektir.

2918
04:24:16,320 --> 04:24:22,320
Burada bir fonksiyon tanımlayabilmek için bazılarını fonksiyon gibi de kullanabilirim.

2919
04:24:22,320 --> 04:24:27,320
Merhaba diye adlandırılan bir işlev yapabiliriz ve bu, bir ad parametresi alır.

2920
04:24:27,320 --> 04:24:36,320
Ve burada, bir fonksiyon yaratmak istediğimi gördüğünde bu üç küçük noktayı koyduğunu ve girinti yapabildiğimi ve fonksiyonumuzun kodunu yazabildiğimizi göreceksiniz.

2921
04:24:36,320 --> 04:24:44,320
Yani merhaba artı adını yazdır gibi diyebilirim.

2922
04:24:44,320 --> 04:24:57,320
Ve şimdi merhaba de diye adlandırılan bir fonksiyonum var, böylece tekrar girerek bundan kurtulabilirim ve fonksiyonu çağırabilirim, böylece merhaba diyebilirim ve bana merhaba diyebiliriz.

2923
04:24:57,320 --> 04:25:08,320
Merhaba Mike, şimdi merhaba Mike diyecek, böylece bir fonksiyonu kullanabilirim, if ifadesi gibi bir şey kullanabilirim, biliyorsunuz, for döngüsü gibi bir şey kullanabileceğimi söyleyebilirim, while döngülerinde kullanabiliriz.

2924
04:25:08,320 --> 04:25:20,320
Demek istediğim, temel olarak Python komutları gibi tüm temel komutları kullanabiliriz ve bu Python yorumlayıcısının içini biliyorsunuz ve daha önce de söylediğim gibi bu aslında sadece Python kodunu test edebileceğiniz bir ortam.

2925
04:25:20,320 --> 04:25:25,320
Burası herhangi bir ciddi Python betiği gibi yazmak isteyeceğiniz bir yer değil.

2926
04:25:25,320 --> 04:25:31,320
Yani eğer bir Python programı tasarlamak ve yazmak istiyorsanız bunu bu yorumlayıcının içinde yapmanızı tavsiye etmem.

2927
04:25:31,320 --> 04:25:42,320
Çok sezgisel bir ortam değil, hemen hemen sadece harika bir şeyi test etmemiz gerekiyor gibi bazı hızlı ve kirli testler için ayarlanmış, burası bunun için mükemmel bir yer çünkü bir dosya ayarlamanıza gerek yok.

2928
04:25:42,320 --> 04:25:48,320
Bir kimlik gibi kullanmanıza gerek yok, bir dosyayı çalıştırmanıza gerek yok, sadece buraya girin, hızlıdır, kirlidir, işi halledersiniz.

2929
04:25:48,320 --> 04:25:55,320
Ancak gerçek bir program gibi yazıyorsanız kesinlikle kesinlikle bir metin düzenleyici kullanmak istersiniz.

2930
04:25:55,320 --> 04:26:06,320
Metin editörü çok daha organize olacak, her şey çok daha temiz olacak ve eşyaların nerede olduğu ve neye sahip olduğunuz konusunda kafanız karışmayacaktır, dolayısıyla Python yorumlayıcısının temelleri budur.

2931
04:26:06,320 --> 04:26:20,320
Bilirsiniz, kursta bunu gerçekten hiç kullanmadım çünkü bir dosyanın içindeyken öğretmeyi burada öğretmekten çok daha kolay olduğunu düşünüyorum ama bu adamı hesaba katmayın Python yorumlayıcısı harika bir çok insan bunu kullanıyor ve eğer sadece

2932
04:26:20,320 --> 04:26:31,320
Çok büyük bir ortam kurmanıza gerek kalmadan küçük kod parçalarını bildiğinizi test etmeniz gerekiyor, bu nedenle Python yorumlayıcısı kesinlikle harika, onunla oynardım, biliyorsunuz biraz eğlenir ve bundan yararlanırdım.

2933
04:26:31,320 --> 04:26:37,320
İzlediğiniz için teşekkürler, videoyu beğendiyseniz lütfen beğenin ve yeni içerik yayınladığımızda ilk siz haberdar olmak için Taslak Akademi'ye abone olun.

2934
04:26:37,320 --> 04:26:44,320
Ayrıca her zaman gelişmeye çalışıyoruz, bu nedenle yapıcı eleştiriniz veya sorularınız varsa veya herhangi bir şey varsa aşağıya yorum bırakın.

2935
04:26:44,320 --> 04:26:52,320
Son olarak, Taslak Akademi'den hoşlanıyorsanız ve büyümemize yardımcı olmak istiyorsanız, Academy.com taslağına doğru ilerleyerek katkıda bulunun ve geleceğimize yatırım yapın.


