Küme, birden fazla değerin yer aldığı bir yapıdır. Küme içindeki verilerin aynı veri türünden olması gerekli değildir. Elemanlar düzenli değildir ve elemanlarda değişiklik yapılamaz. Küme oluşturmak için parantezler ({ }) veya set() fonksiyonu kullanılır.
Devamı...
Ses kaydetme programı (pyaudio ve wave kütüphaneleri ile)
Program için aşağıda bilgileri ve sanal ortamda kurulum komutları verilen kütüphaneleri kullanacağız:
Tüm işletim sistemlerinde çalışan ses giriş/çıkış akışı kütüphanesidir. Ses ile ilgili işlemlerde kullanılır.
Bu kütüphanenin doğrudan “pip install pyaudio” komutu ile kurulmasında herhangi bir sorun yaşandığında kurulumu gerçekleştirmek için, Christoph Gohlke tarafından Python paketleri için resmi olmayan Windows işletim sistemi dosyalarını içeren web sitesine ait buradaki bağlantıdan bilgisayarımızın işletim sistemine göre indirdiğimiz aşağıdaki dosyalardan birisini, sanal ortamın altındaki Scripts dizini altına kopyalayarak kullanıyoruz:
Devamı...
Bir sanal ortamı oluşturup aktif hale getirdikten sonra, Python ortamında çalışan paket programları yükleyebiliriz. Python ortamında yüklenebilecek paket programların listesi (Python Package Index) adresinde yer almaktadır. Python kurulumunu yaptığımızda bazı paket programlar otomatik olarak yüklenir. Bunlardan birisi de paket program yüklememizi sağlayan pip kütüphanesidir. Aşağıdaki komutları sırasıyla çalıştırdığımızda, env01 sanal ortamındaki script dizinine geçip, pip paketine ait komut ve seçenekleri görebiliriz:
Devamı...
Python’da işlemciler ile değişkenler ve sabitler üzerinde işlem yapılır. Python’da, aşağıda gösterilen 7 kategori içinde sınıflandırılan toplam 27 adet işlemci kullanılır.
- Aritmetik işlemciler: + - * / % ** //
- Atama işlemcisi: =
- Karşılaştırma işlemcileri: == != > < >= <=
- Mantıksal işlemciler: and or not
- Tanımlama işlemcileri: is, is not
- Üyelik işlemcileri: in, not in
- Bit işlemcileri: & | ^ ~ << >>
Ayrıca, aritmetik işlemciler ile bit işlemcilerinin 5 tanesi (~ hariç) atama işlemcisi ile kullanılarak 12 adet ek işlemci oluşturulur.
Aritmetik işlemciler
| Değişken sembolü |
Değişken adı |
Açıklama |
| + |
Toplama |
Değişken ve sabitlerle toplama işlemi yapar. |
| - |
Çıkarma |
Değişken ve sabitlerle çıkarma işlemi yapar. |
| * |
Çarpma |
Değişken ve sabitlerle çarpma işlemi yapar. |
| / |
Bölme |
Değişken ve sabitlerle bölme işlemi yapar. |
| % |
Kalan (Modulus) işlemcisi |
Bölme işleminde kalan değeri verir. |
| // |
Bölüm işlemcisi |
Bölme işleminde sonucun sadece tamsayı kısmını verir. |
| ** |
Üs alma işlemcisi |
Bir sayının üs değerini alma |
Şimdi, aritmetik işlemcilerin kullanılmasını bir örnek üzerinde incelemeye çalışalım:
Örnek
Devamı...
Python’da int, float ve complex olmak üzere üç farklı sayı verisi kullanılmaktadır. Ayrıca, 0 ve 1 değeri alabilen bool verisi de bu kapsamda değerlendirilebilir. Bir değişkene sayısal bir sabit değer atadığımızda, değişken veri türü tanımlanarak oluşturulur.
Şimdi, değişkenlere sabit sayısal değerler atayarak, sayısal değişkenlerin tanımlanmasını bir örnek üzerinde incelemeye çalışalım:
Örnek
Devamı...
Python’da, tek bir işlem satırını veya kod bloğunu bir defadan fazla çalıştırmak için tekrar yazmak yerine, döngü kavramını kullanabiliriz. Bir veya birden fazla işlem satırını, bir koşula bağlı olarak, belirli sayıda veya bir koşul sağlandığı sürece tekrarlayarak çalıştıran kalıplara döngü adı verilir. Döngüleri kullanarak liste, tuple, küme, sözlük veya bir karakter dizisinin elemanlarına birer birer erişim sağlayabiliriz.
Python’da, for ve while olmak üzere 2 farklı döngü kullanılmaktadır.
Bir döngü yapısında döngü içinde yer alan işlem satırları for veya while döngü satırının başlangıç sütunundan en az bir karakter ileriden başlamalıdır.
for döngüsü
Devamı...
Liste, birden fazla değerin yer aldığı bir yapıdır. Listede yer alan verilerin aynı veri türünden olması gerekli değildir. Elemanlarda değişiklik yapılabilir. Liste oluşturmak için köşeli parantezler ([ ]) veya list() fonksiyonu kullanılır.
Devamı...
Konuşma tanıma (Speech recognition) veya konuşmadan metne (speech-to-text), bir cihazın veya programın yüksek sesle konuşulan kelimeleri tanımlama ve bunları okunabilir metne dönüştürmesi işlemidir. Konuşma tanıma ve ses tanıma (voice recognition) terimleri bazen birbirinin yerine kullanılmasına rağmen, aslında iki terim birbirinden farklıdır. Konuşma tanıma, konuşulan dildeki kelimeleri tanımlamak için kullanılır. Ses tanıma ise, belirli bir kişinin sesini veya konuşmacıyı tanımlamak için kullanılan biyometrik bir teknolojidir.
Program için aşağıda bilgileri ve sanal ortamda kurulum komutları verilen kütüphaneleri kullanacağız:
- SpeechRecognition kütüphanesi
Çeşitli motorlar ve API’ler için çevrimiçi ve çevrimdışı desteği sağlayan konuşma tanıma kütüphanesidir.
Devamı...
Python dilinde özel amaçlarla kullanılmak üzere tahsis edilmiş olan kelimelere anahtar kelimeler denir. Bu kelimeleri değişken, fonksiyon ve tanımlayıcı adı olarak kullanamayız. Anahtar kelimeler, döngüler ve koşul tanımları benzeri yapılar içinde kullanılabilir.
Python’da kullanılan anahtar kelimeler aşağıdaki tabloda gösterilmektedir:
Python anahtar kelimeleri
| and |
Mantıksal işlemci |
| as |
Bağlantı oluşturmak için kullanılır. |
| assert |
Hata ayıklama amacıyka kullanılır. |
| class |
Sınıf bildirimi yapmak için kullanılır. |
| continue |
Bir döngüde bir sonraki tekrara doğrudan geiş için kullanılır. |
| def |
Bir fonksiyon tanımlamak için kullanılır. |
| del |
Bir nesneyi silmek için kullanılır. |
| elif |
Koşula bağlı yapılarda kullanılır. |
| else |
Koşula bağlı yapılarda kullanılır. |
| except |
Bir istisna meydana geldiğinde, yapılacak işlemi tanımlamak için kullanılır. |
| False |
Karşılaştırma işlemlerinde yanlış değeri gösterir. |
| finally |
İstisnalar ile birlikte kullanılır ve bir istisna meydana gelip gelmediğine bakılmaksızın çalışan kodları gösterir |
| for |
Bir for döngüsü oluşturmak için kullanılır. |
| from |
Bir modülün belirli parçalarını almak için kullanılır. |
| global |
Global bir değişken tanımlamak için kullanılır. |
| if |
Koşula bağlı bir yapı tanımlamak için kullanılır. |
| import |
Bir modül almak için kullanılır. |
| in |
Bir değişkenin bir listede yer alıp almadığını kontrol etmek için kullanılır. |
| is |
İki değişkenin eşit olup omadığını belirlemek için kullanılır. |
| lambda |
Anonim bir fonksiyon oluşturmak için kullanılır. |
| None |
Null bir değeri temsil eder. |
| nonlocal |
Lokal olmayan bir değişken tanımlar. |
| not |
Mantıksal bir işlemcidir. |
| or |
Mantıksal bir işlemcidir. |
| pass |
Null bir ifadedir. Hiç bir işlem yapmaz. |
| raise |
Bir istisna tanımlar. |
| return |
Bir fonksiyondan çıkış yapar ve bir değer geri döndürür. |
| True |
Karşılaştırma işlemlerinde doğru değeri gösterir. |
| try |
Bir try…except yapısı tanımlar. |
| while |
Bir while döngüsü oluşturmak için kullanılır. |
| with |
İstisna işlemini kolaylaştırmak için kullanılır. |
| yield |
Bir fonksiyonu sona erdirir ve bir generator geri döndürür. |
Python’da, bazı durumlarda belirli satırlarının istenen koşullar sağlandığında çalışması gerekebilir. Bu koşulları devreye sokmaya yarayan program yapılarına if yapıları adı verilir.
if yapıları ile belirlediğimiz koşullar sağlandığında çalışmasını istediğimiz satır veya satırlar devreye girer, aksi takdirde, bu satırlar herhangi bir işlem yapmaz. Tanımlanan koşul sağlanmadığında, söz konusu işlem satır veya satırları programda hiç yer almamış gibi işlem görür.
if yapılarında koşul ile ilgili işlemlerde, karşılaştırma işlemcileri kullanılır. Karşılaştırma işlemcileri bir defadan fazla kullanıldığında mantıksal işlemcilerle birlikte kullanılır. if yapısının genel kullanımı aşağıda gösterilmektedir:
Devamı...
Tanımlayıcılar, değişken, fonksiyon, sınıf veya nesne tanımlamak için kullanılır.
Tanımlayıcılar içini aşağıdaki kurallar geçerlidir:
- Tanımlayıcılarda sadece harf, rakam ve alt çizgi karakteri (_) kullanılabilir.
- Python’da kullanılan ifadeler harf duyarlı olduğundan, tanımlayıcılarda büyük ve küçük harfler farklı kabul edilir (Deg ve deg ifadeleri farklıdır).
- Anahtar kelimeler tanımlayıcılarda kullanılmaz.
- Tanımlayıcıların ilk karakteri rakam olamaz.
Devamı...
Python’da, fonksiyon bir veya daha fazla işlem satırından oluşan kodların bir kod bloğu şeklinde yapılandırılması ile oluşturulur. Fonksiyonlar oluşturulduktan sonra programın herhangi bir yerinden sadece fonksiyon adı kullanılarak çağrılabilir. Bu sayede, çok fazla sayıda işlem satırı tek bir isim kullanılarak çalıştırılmış olur.
Bir fonksiyon tanımlarken isteğe bağlı olarak fonksiyona parametre değerleri geçirebilir veya fonksiyon tarafından bir değer geri döndürülmesini sağlayabiliriz.
Fonksiyon bildirimi
Python’da bir fonksiyon kullanılmadan önce mutlaka bildirimi yapılmalıdır. Fonksiyonların bildirimi def anahtar kelimesi ile aşağıda gösterilen yapı kullanılarak yapılır:
Devamı...
Şimdi, dosya açma ve kapama işlemlerini incelemeye çalışacağız. Bir dosya ile işlem yapmak istediğimizde, önce dosyayı açmamız, gerekli yazma ve/veya okuma işlemlerini gerçekleştirdikten sonra dosyayı kapatmamız gerekir. Dosya açma işlemi için aşağıda genel yapısı verilen open() fonksiyonu kullanılır.
Devamı...
Anahtar ve değer ikililerinden oluşan sıralanmamış verilerdir. Değere ulaşmak için anahtar adı kullanılır. Sözlük içindeki verilerin aynı veri türünden olması gerekli değildir. Elemanlar düzenlidir ve elemanlarda değişiklik yapılabilir. Sözlük oluşturmak için parantezler ({ }) içinde anahtar ve değerler ikilisi şeklinde veriler tanımlanır.
Devamı...
Python‘da 14 adet ön tanımlı veri türü kullanılmaktadır. Bu veri türlerini 6 farklı grup altında sınıflandırabiliriz:
Python veri türleri
| Grup |
Veri türü |
Açıklama |
| Sayısal |
|
|
| int |
Pozitif ve negatif tamsayıları temsil eder. Sayıların basamak sayısı ile ilgili bir sınırlama yoktur. |
|
| float |
Ondalıklı sayıları temsil eder. |
|
| complex |
Kompleks sayıları temsil eder. |
|
| bool |
True veya False değerinden oluşan ikili bir değerdir. |
|
| None |
Boş bir nesneyi temsil eder. Bir değer geri döndürmeyen fonksiyonlar tarafından geri döndürülür. |
|
| Metin |
|
|
| str |
Unicode karakterleri temsil eden karakterlerden oluşan karakter dizisidir. Tek, çift veya üçlü tırnak karakterleri arasında kullanılır. Karakter veri türü olmadığından, tek bir karakter bir değer uzunluğunda karakter dizisidir. |
|
| list |
Verilerin sıralı olarak yer aldığı bir yapıdır. Listede yer alan verilerin aynı veri türünden olması gerekli değildir. Elemanlarda değişiklik yapılabilir. |
|
| Sıralama |
|
|
| tuple |
Verilerin sıralı olarak yer aldığı bir yapıdır. Listede yer alan verilerin aynı veri türünden olması gerekli değildir. Elemanlarda değişiklik yapılamaz. |
|
| range |
Ön tanımlı olarak 0’dan başlamak ve birer birer artırılmak üzere belirlenen sayıdan önce sona eren bir dizi sayı geri döndürür. |
|
| Mapping |
|
|
| dict |
Anahtar ve değer ikililerinden oluşan sıralanmamış verilerdir. Değere ulaşmak için anahtar adı kullanılır. |
|
| Set |
set |
Arası virgülle ayrılan ve { } işaretleri arasında yer alan eşsiz elemanlardan oluşan sıralanmamış veri grubudur. |
| frozenset |
Arası virgülle ayrılan ve { } işaretleri arasında yer alan eşsiz ve değiştirilemeyen elemanlardan oluşan sıralanmamış veri grubudur. |
|
| İkili sistem |
|
|
| bytes |
0-255 aralığındaki tamsayılardan oluşan değerlerdir. |
|
| bytearray |
0-255 aralığındaki tamsayılardan oluşan ve değiştirilebilen değerlerdir. |
|
| memoryview |
|
|
Değişken tanımlanırken, değişkenlere atanan farklı türdeki veriler değişkenin veri türünü belirler.
Şimdi, tüm veri türlerinin kullanılmasını bir örnek üzerinde incelemeye çalışalım:
Örnek
Devamı...
Python’da, kodların açıklanması için yapılan yorumlar programın çalışmasına herhangi bir etki yapmaz ve hiç yazılmamış gibi işlem görür.Yorum oluşturmak için, yorumun başında # işareti kullanılır. Bu işaret bir satır başında veya bir satırın sonunda kullanılabilir. Tek ve çok satırdan oluşan yorum satırlarının kullanılmasını bir örnek üzerinde incelemeye çalışalım:
Örnek
Devamı...
Python nesneye yönelik bir programlama dilidir. Nesneye yönelik programlama dilinin esasını nesne oluşturur. Bir nesne oluşturmadan önce, nesnenin özelliklerini (değişkenler) ve metodlarını (fonksiyonlar) belirleyecek olan bir sınıf bildirimi yapılarak yeni bir veri türü oluşturulur. Daha sonra, bu sınıf türünden nesneler oluşturularak, sadece bu nesne yoluyla sınıf kopyası içinde yer alan değişken ve fonksiyonlara erişim sağlanır.
Sınıf bildirimi
Python’da bir sınıf bildirimi class anahtar kelimesi ile aşağıda gösterildiği şekilde yapılır:
Devamı...
Konuşma tanıma (Speech recognition) veya konuşmadan metne (speech-to-text), bir cihazın veya programın yüksek sesle konuşulan kelimeleri tanımlama ve bunları okunabilir metne dönüştürmesi işlemidir. Konuşma tanıma ve ses tanıma (voice recognition) terimleri bazen birbirinin yerine kullanılmasına rağmen, aslında iki terim birbirinden farklıdır. Konuşma tanıma, konuşulan dildeki kelimeleri tanımlamak için kullanılır. Ses tanıma ise, belirli bir kişinin sesini veya konuşmacıyı tanımlamak için kullanılan biyometrik bir teknolojidir.
Program için aşağıda bilgileri ve sanal ortamda kurulum komutları verilen kütüphaneleri kullanacağız:
- SpeechRecognition kütüphanesi
Çeşitli motorlar ve API’ler için çevrimiçi ve çevrimdışı desteği sağlayan konuşma tanıma kütüphanesidir.
Devamı...
Bilgisayara bağlı bir kamerayı güvenlik kamerası olarak kullanan bir program oluşturmaya çalışacağız. Program için aşağıda bilgileri ve sanal ortamda kurulum komutları verilen kütüphaneleri kullanacağız:
- Opencv-python kütüphanesi
Görüş algılama için kullanılan bir kütüphanedir.
Devamı...
C Program Dosya Güncelleme
Devamı...