[*] Aşağıda, 'doğru - yanlış' ve 'çoktan seçmeli' şeklinde, toplamda 21 soru bulunuyor. Sorulardan sonra yani sayfanın en sonunda, soruların cevapları yazıyor olacak; doğru cevap olan şık yeşil ile işaretlenmiştir.
[*] Daha sonra kontrol etmek için cevaplarınızı kâğıda veya cihazınızın not defterine yazabilirsiniz.
[*] Yanlış yaptığınız sorulara ait konuları gözden geçirmeyi unutmayın.
1. OOP'un açılımı "Object Oriented Programming" şeklindedir ve Türkçe karşılığı "Nesne Yönelimli Programlama"dır.
A) Doğru
B) Yanlış
2. OOP yapıları ile 'ortak yapıya ait olan ama farklı özelliklere sahip nesneleri' baz alırız.
A) Doğru
B) Yanlış
3. self argümanı bir sınıf yapısında o an oluşturulan ve işleme alınan nesneyi ifade eder.
A) Doğru
B) Yanlış
4. Sağında ve solunda iki adet alt tire (_) bulunan metotlara 'tunder method' denir.
A) Doğru
B) Yanlış
5. Bir sınıfa ait bir nesne oluştururken o nesneyi ait olduğu sınıfın içine yazmalıyız.
A) Doğru
B) Yanlış
6. 'Nesne' olarak tabir ettiğimiz yapıların asıl adı 'instance' şeklindedir.
A) Doğru
B) Yanlış
7. Aşağıdakilerden hangisi, doğru bir nesne tanımlamasıdır?
A) Computer(nesne1)
B) Computer(nesne1: "degisken değeri", "degisken değeri", "degisken değeri")
C) nesne1 = Computer("degisken değeri", "degisken değeri", "degisken değeri")
D) nesne1 == Computer("degisken değeri", "degisken değeri", "degisken değeri")
8. Bir sınıf içerisinde normal bir fonksiyon gibi tanımladığımız fonksiyonların class yapılarındaki asıl adı 'metot'tur.
A) Doğru
B) Yanlış
9. Aşağıdaki kod içerisinde bir sorun var mıdır?

A) Sorun vardır; class ismi yanlış tanımlanmıştır.
B) Sorun vardır; 3. satır, self.name = name olmalıdır.
C) Sorun yoktur.
10. Sınıf değişkenlerine nesneler tarafından da erişilebilir (Örn. nesne1.marka).
A) Doğru
B) Yanlış
11. Sınıf değişkenlerine sonradan müdahale edilemez.
A) Doğru
B) Yanlış
12. Aşağıdaki yargılardan hangisi/hangileri doğrudur?
I. __init__ metodu, 'initialize' kelimesinden gelir ve orada tanımladığımız değişkenleri (özellikleri) başlatmamıza olanak tanır.
II. __str__ metodu, bir ifadenin nasıl yazdırılacağını tanımlamamıza olanak tanır ve Python, __repr__ metodundan sonra __str__ metodunu arar.
III. __repr__ metodu, geliştiriciler için tanımlanan bir metottur.
A) Hepsi
B) Yalnız I
C) I - III
D) I - II
13. Aşağıdaki kodda bir sorun var mıdır?

A) Sorun yoktur.
B) Sorun vardır; 6. satırda değişken tanımlaması yanlıştır.
C) Sorun vardır; 9. satırda nesne ismi yanlış tanımlanmıştır.
D) Sorun vardır; 9. satırda sıralama konusunda yanlışlık, mantık hatası vardır.
14. Aşağıda gördüğünüz kod ile alakalı olan yargılardan hangisi/hangileri doğrudur?

I. 8 ve 12. satırlarda bulunan tanımlamalar '@' işareti ile değil, '$' işareti ile başlamalıdır.
II. 13. satırda self yerine cls kullanılmalıdır.
III. 9. satırda self yerine cls kullanılmalıdır.
IV. 9. satırdaki metot, __init__ içerisindeki özelliklere erişemez.
V. 13. satırdaki metot, __init__ içerisindeki özelliklere erişemez.
A) Hepsi yanlış
B) I - III - IV
C) I - II - V
D) III - IV
E) Yalnız II
15. Decorator yapıları, class içerisinde olan ancak __init__ içerisinde olmayan bir nesnenin özelliğini dinamik olarak değiştirebilir.
A) Doğru
B) Yanlış
16. @property hakkında aşağıdaki yargılardan hangisi/hangileri doğrudur?
I. Bir decorator yapısıdır ve __init__ içerisinde olmayan özellikleri, sanki __init__ içerisindeymiş gibi tanımlamamıza olanak tanır.
II. @metotAdı.setter ifadesi, kendisiyle birlikte sıkça kullanılır.
III. @property yüzünden AttributeError alma ihtimalimiz vardır.
A) Hepsi
B) Yalnız I
C) I - II
D) I - III
17. Aşağıdaki tanımlamalardan hangisi/hangileri yanlıştır?
I. __le__ metodu, <= operatörünün karşılığıdır.
II. __ne__ metodu, != operatörünün karşılığıdır.
III. __iadd__ metodu += operatörünün karşılığı iken __isub__ metodu -= operatörünün karşılığıdır.
IV. __floordiv__ metodu / operatörünün karşılığı iken __truediv__ metodu // operatörünün karşılığıdır.
V. __abs__ metodu mutlak değeri alırken __pow__ metodu kuvvet alır.
A) I - III - IV - V
B) Yalnız I
C) Yalnız IV
D) IV - V
18. self ile birlikte other parametresini alan bir metot, genellikle iki veya daha fazla unsurla çalışmaya izin verir; bu unsurlardan biri self olurken diğeri other olacaktır.
A) Doğru
B) Yanlış
19. İki listedeki elemanların karşılıklı olarak toplanmasını isteyen bir Python geliştirici, aşağıdaki gibi bir yol izlemiştir. Aşağıdaki kod doğru mudur yoksa yanlış mıdır?
Örnek İşlem:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
Sonuç: [5, 7, 9]

A) Doğru
B) Yanlış
20. Miras alma işleminde, miras alınan sınıfın özelliklerine erişmek için hangi fonksiyon kullanılır?
A) get()
B) super()
C) property()
D) <Sınıf İsmi>.get()
21. Miras alan sınıfa ait nesneler de miras alınan sınıfın özelliklerine erişebilir.
A) Doğru
B) Yanlış

1. OOP'un açılımı "Object Oriented Programming" şeklindedir ve Türkçe karşılığı "Nesne Yönelimli Programlama"dır.
A) Doğru
B) Yanlış
2. OOP yapıları ile 'ortak yapıya ait olan ama farklı özelliklere sahip nesneleri' baz alırız.
A) Doğru
B) Yanlış
3. self argümanı bir sınıf yapısında o an oluşturulan ve işleme alınan nesneyi ifade eder.
A) Doğru
B) Yanlış
4. Sağında ve solunda iki adet alt tire (_) bulunan metotlara 'tunder method' denir.
A) Doğru
B) Yanlış
5. Bir sınıfa ait bir nesne oluştururken o nesneyi ait olduğu sınıfın içine yazmalıyız.
A) Doğru
B) Yanlış
6. 'Nesne' olarak tabir ettiğimiz yapıların asıl adı 'instance' şeklindedir.
A) Doğru
B) Yanlış
7. Aşağıdakilerden hangisi, doğru bir nesne tanımlamasıdır?
A) Computer(nesne1)
B) Computer(nesne1: "degisken değeri", "degisken değeri", "degisken değeri")
C) nesne1 = Computer("degisken değeri", "degisken değeri", "degisken değeri")
D) nesne1 == Computer("degisken değeri", "degisken değeri", "degisken değeri")
8. Bir sınıf içerisinde normal bir fonksiyon gibi tanımladığımız fonksiyonların class yapılarındaki asıl adı 'metot'tur.
A) Doğru
B) Yanlış
9. Aşağıdaki kod içerisinde bir sorun var mıdır?

A) Sorun vardır; class ismi yanlış tanımlanmıştır.
B) Sorun vardır; 3. satır, self.name = name olmalıdır.
C) Sorun yoktur.
10. Sınıf değişkenlerine nesneler tarafından da erişilebilir (Örn. nesne1.marka).
A) Doğru
B) Yanlış
11. Sınıf değişkenlerine sonradan müdahale edilemez.
A) Doğru
B) Yanlış
12. Aşağıdaki yargılardan hangisi/hangileri doğrudur?
I. __init__ metodu, 'initialize' kelimesinden gelir ve orada tanımladığımız değişkenleri (özellikleri) başlatmamıza olanak tanır.
II. __str__ metodu, bir ifadenin nasıl yazdırılacağını tanımlamamıza olanak tanır ve Python, __repr__ metodundan sonra __str__ metodunu arar.
III. __repr__ metodu, geliştiriciler için tanımlanan bir metottur.
A) Hepsi
B) Yalnız I
C) I - III
D) I - II
13. Aşağıdaki kodda bir sorun var mıdır?

A) Sorun yoktur.
B) Sorun vardır; 6. satırda değişken tanımlaması yanlıştır.
C) Sorun vardır; 9. satırda nesne ismi yanlış tanımlanmıştır.
D) Sorun vardır; 9. satırda sıralama konusunda yanlışlık, mantık hatası vardır.
14. Aşağıda gördüğünüz kod ile alakalı olan yargılardan hangisi/hangileri doğrudur?

I. 8 ve 12. satırlarda bulunan tanımlamalar '@' işareti ile değil, '$' işareti ile başlamalıdır.
II. 13. satırda self yerine cls kullanılmalıdır.
III. 9. satırda self yerine cls kullanılmalıdır.
IV. 9. satırdaki metot, __init__ içerisindeki özelliklere erişemez.
V. 13. satırdaki metot, __init__ içerisindeki özelliklere erişemez.
A) Hepsi yanlış
B) I - III - IV
C) I - II - V
D) III - IV
E) Yalnız II
15. Decorator yapıları, class içerisinde olan ancak __init__ içerisinde olmayan bir nesnenin özelliğini dinamik olarak değiştirebilir.
A) Doğru
B) Yanlış
16. @property hakkında aşağıdaki yargılardan hangisi/hangileri doğrudur?
I. Bir decorator yapısıdır ve __init__ içerisinde olmayan özellikleri, sanki __init__ içerisindeymiş gibi tanımlamamıza olanak tanır.
II. @metotAdı.setter ifadesi, kendisiyle birlikte sıkça kullanılır.
III. @property yüzünden AttributeError alma ihtimalimiz vardır.
A) Hepsi
B) Yalnız I
C) I - II
D) I - III
17. Aşağıdaki tanımlamalardan hangisi/hangileri yanlıştır?
I. __le__ metodu, <= operatörünün karşılığıdır.
II. __ne__ metodu, != operatörünün karşılığıdır.
III. __iadd__ metodu += operatörünün karşılığı iken __isub__ metodu -= operatörünün karşılığıdır.
IV. __floordiv__ metodu / operatörünün karşılığı iken __truediv__ metodu // operatörünün karşılığıdır.
V. __abs__ metodu mutlak değeri alırken __pow__ metodu kuvvet alır.
A) I - III - IV - V
B) Yalnız I
C) Yalnız IV
D) IV - V
18. self ile birlikte other parametresini alan bir metot, genellikle iki veya daha fazla unsurla çalışmaya izin verir; bu unsurlardan biri self olurken diğeri other olacaktır.
A) Doğru
B) Yanlış
19. İki listedeki elemanların karşılıklı olarak toplanmasını isteyen bir Python geliştirici, aşağıdaki gibi bir yol izlemiştir. Aşağıdaki kod doğru mudur yoksa yanlış mıdır?
Örnek İşlem:
list1 = [1, 2, 3]
list2 = [4, 5, 6]
Sonuç: [5, 7, 9]

A) Doğru
B) Yanlış
20. Miras alma işleminde, miras alınan sınıfın özelliklerine erişmek için hangi fonksiyon kullanılır?
A) get()
B) super()
C) property()
D) <Sınıf İsmi>.get()
21. Miras alan sınıfa ait nesneler de miras alınan sınıfın özelliklerine erişebilir.
A) Doğru
B) Yanlış
Yayınlanma Tarihi: 2023-01-19 10:59:55
Son Düzenleme Tarihi: 2023-01-23 14:34:21