Mülakatta Python ile ilgili çıkabilecek sorulara devam ediyoruz. 🙂

Python Mülakat Soruları -3-

python
..

1) Python ‘da Slicing kullanımı nedir?

Bir String’den bir alt string almak için Python’da Slicing’i kullanabiliriz. Slicing, syntax kullanımı çok uygundur.

Aşağıdaki örnekte, Asli adından bir alt dize elde ediyoruz.

>> isim=”Asli”
>>> isim[1:3]
‘sl’

Slicing’de, bir Substring oluşturmak için String’e iki indeks verebiliriz. İlk indeksi vermezsek, varsayılan olarak 0’dır.

>> isim=”Asli”
>>> isim[:2]
‘As’

İkinci indeksi vermezsek, varsayılan olarak String’in boyutuna döner.

>> isim=”Asli”
>>> isim[3:]
‘i’

2) Python’daki Docstring ile Java’daki Javadoc arasındaki fark nedir?

Python’daki Docstring, Python’da yorum eklemek veya bir kod parçasını özetlemek için kullanılan bir dizedir.
Javadoc ve Docstring arasındaki temel fark, docstring’in çalışma zamanı sırasında da kullanılabilir olmasıdır. Oysa Javadoc, Bytecode’dan kaldırılmıştır ve .class dosyasında yoktur.
Docstring yorumlarını çalışma zamanında etkileşimli bir yardım kılavuzu olarak bile kullanabiliriz.
Python’da, docstring’i bir kod nesnesinin ilk ifadesi olarak, def veya class deyiminden hemen sonra belirtmemiz gerekir.
Bir kod nesnesinin docstring’ine, o nesnenin ‘__doc__’ niteliğinden erişilebilir.

3) Python kodu için birim testini (unit testing) nasıl gerçekleştirirsiniz?

Python kodu için birim testleri oluşturmak ve çalıştırmak için unittest veya unittest2 birim test modüllerini kullanabiliriz.
Hatta bu modüller ile testlerin otomasyonunu da yapabiliyoruz. Unittest’in ana bileşenlerinden bazıları şunlardır:

  • Test fikstürü: Bir testi çalıştırmak için gerekli hazırlık yöntemlerini oluşturmak için test fikstürünü kullanırız. Test sonrası temizleme bile yapabilir.
  • Test durumu: Bu, bir kod parçası üzerinde çalıştırdığımız ana birim testidir. Yeni test senaryoları oluşturmak için Testcase temel sınıfını kullanabiliriz.
  • Test suite: Birim test durumlarımızı bir Test suite toplayabiliriz.
  • Test yürütücüsü: Birim testlerini yürütmek ve test çalışmasının raporlarını oluşturmak için test çalıştırıcısını kullanırız.

4) Python’da Iterator ve Iterable arasındaki fark nedir?

Iterable, Iterator tarafından yinelenebilen bir nesnedir.
Python’da, Iterator nesnesi _iter_() ve next() yöntemlerini sağlar.
Python’da, Iterable bir nesne, bir Iterator nesnesi döndüren _iter_ işlevine sahiptir.
Python’da bir harita veya for döngüsü üzerinde çalışırken, Iterable Iterator bir öğe almak için next() yöntemini kullanabiliriz.

5) Generator Python kullanımı nedir?

Python’da Iterators oluşturmak için Generator kullanabiliriz. Bir Generator normal bir fonksiyon gibi yazılır. İşlev çağrısı sırasında veri döndürmek için verim deyimini kullanabilir. Bu şekilde Iterators olarak çalışan complex logic yazabiliriz.
_iter_() ve next() fonksiyonlarının bir Generatorda otomatik olarak oluşturulması nedeniyle, bir Generator bir Iteratordan daha derli topludur.
Ayrıca bir Generator kodu içinde, yerel değişkenler ve yürütme durumu birden çok çağrı arasında kaydedilir. Bu nedenle iterationı takip etmek için self.index vb. gibi ekstra değişkenler eklemenize gerek yoktur.

6) Python’da “_” sembolü ile başlayan ve biten fonksiyonların önemi nedir?

Python, fonksiyon adının başında ve sonunda _ simgesiyle çevrili birçok yerleşik fonksiyon sağlar. Python belgelerine göre, ayrılmış fonksiyon adları için çift _ simgesi kullanılır.
Bunlar Sistem tanımlı adlar olarak da bilinir.
Önemli fonksiyonlardan bazıları şunlardır:
Object._new_
Object._init_
Object._del_

7) Python ‘da xrange ve range arasındaki fark nedir?

Python’da, bellekte 10 sayıya bir liste oluşturmak için range(0,10) kullanırız.
Python, range() fonksiyonuna benzer başka bir xrange() fonksiyonu sağlar, ancak xrange(), liste nesnesi yerine bir sıra nesnesi döndürür. xrange() içinde tüm değerler aynı anda bellekte saklanmaz. Tembel yükleme tabanlı bir fonksiyondur.
Ancak Python belgelerine göre, normal senaryolarda xrange()’in range()’e göre faydası çok azdır.
3.1 sürümünden itibaren, xrange kullanımdan kaldırılmıştır.

8) Python ‘da lambda ifadesi nedir?

Anonim bir fonksiyon oluşturmak için Python’da bir lambda ifadesi kullanılır.
Bir fonksiyona ihtiyaç duyduğumuz her yerde bir lambda ifadesi de kullanabiliriz.
Bir lambda ifadesi oluşturmak için lambda anahtar kelimesini kullanmalıyız. Lambda fonksiyonunun syntaxı aşağıdaki gibidir:
lambda argumentList: expression
Örneğin; lambda a,b: a+b
Yukarıda bahsedilen lambda ifadesi iki argüman alır ve bunların toplamını döndürür.
Bir fonksiyonu döndürmek için lambda ifadesini kullanabiliriz.
Bir fonksiyonu başka bir fonksiyonda bağımsız değişken olarak iletmek için bir lambda ifadesi kullanılabilir.

 

Ayrıca Veri Analizi Mülakat Soruları yazımı ve Python Mülakat Soruları  yazımı da inceleyebilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir