Python Kümeler (Sets)

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ı...

Python Ses Kaydetme Programları

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:

  • PyAudio kütüphanesi

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ı...

Python Paket kurulumları (pip)

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 İşlemciler

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 Sayılar

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 Döngüler

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ı...

Python Listeler

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ı...

Python Konuşma Tanıma Programı

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 Anahtar kelimeler

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 Koşul ve if yapıları

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ı...

Python Tanımlayıcılar

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 Fonksiyonlar

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ı...

Python Dosya işlemleri

Ş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ı...

Python Sözlükler

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 Veri türleri

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 Yorum satırları

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 Sınıflar

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ı...

Python Konuşma Tanıma ve Metni Konuşmaya Çevirme Programı

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ı...