DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir
8
Cevap
499
Tıklama
0
Öne Çıkarma
Python literals
S
7 yıl (2420 mesaj)
Yüzbaşı
Konu Sahibi

Python'da hersey bir object. type(5) dediğinde bile cevaben <class 'int'> diyor. Java'daki gibi primitive type yok.
Bu ifade doğru mudur?

Python'da object literal var mıdır? Hangi std lib class'ların object'leri için literal vardır? örnek veriniz.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi seyfi84 -- 10 Haziran 2019; 13:10:37 >

< Bu ileti mini sürüm kullanılarak atıldı >

S
7 yıl (2420 mesaj)
Yüzbaşı
Konu Sahibi

İpucu: list ve range, her ikisi de sequence type ve iterable:
a=[1,2,3,4]
print(a[1]) # ekrana 2 yazar
b=range(5)
print(b[1]) # bu da ekrana 2 yazar

yukarıdaki örnekte istesem a'ya list(...) metodu ile de atama yapabilirdim, ama list literal kullanmayı tercih ettim. list için literal var. fakat range için istesem de bunu yapamam çünkü range literal yoktur.
Diğerlerini de siz bulun.





< Bu mesaj bu kişi tarafından değiştirildi seyfi84 -- 10 Haziran 2019; 13:50:48 >

< Bu ileti mini sürüm kullanılarak atıldı >

İ
7 yıl (969 mesaj)
Yüzbaşı

Selamunaleyküm,
Evet Python da herşey objedir diye biliyorum. Mesela list de aslında bir class. Kanıt:
class newList(list):

şeklinde list sınıfını inherit edip kendi listinizi tanımlayabilirsiniz. [ ] bu köşeli parantezleri kullanarak liste oluşturulabilmesi ise dili üreten kişinin tercih ettiği bir şey.

range ise range class ina ait muhtemelen performans için generator olarak çalışan bir fonksiyon. Yani o da neticede bir objeye ait bir fonksiyon diye düşünmekteyim.

Google a 'object literals in Python' yazarak bir çok örnek bulabilirsiniz.





< Bu mesaj bu kişi tarafından değiştirildi imammmm -- 16 Haziran 2019; 14:51:33 >

< Bu ileti mobil sürüm kullanılarak atıldı >

T
7 yıl (20069 mesaj)
Yarbay

https://programmingideaswithjake.wordpress.com/2016/05/07/object-literals-in-python 'a göre Python'da object literals yok, ki Python ile ticari proje yapmış biri olarak object literals gibi birşey hiç duymadım.


Bu mesaja 1 cevap geldi.
İ
7 yıl (969 mesaj)
Yüzbaşı

quote:

Orijinalden alıntı: Tuğkan-0153

https://programmingideaswithjake.wordpress.com/2016/05/07/object-literals-in-python 'a göre Python'da object literals yok, ki Python ile ticari proje yapmış biri olarak object literals gibi birşey hiç duymadım.
Ya attığınız link yanlış ya da bir yanlış anlaşılma var, çünkü attığınız linkte javascriptteki object literals ile python daki object literals arasında yazı başında kıyaslama bile yapılmış. Bir daha kontrol etmenizi ve olmadığına dair geçen yazıyı kaynak belirterek alıntılamanızı tavsiye ederim.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
T
7 yıl (20069 mesaj)
Yarbay

Apress'in Pro Python kitabında object literals diye birşey geçmiyor. O kitapta geçmiyorsa Python'da öyle bir özellik yok demektir. Makalede object literals gösterimi için bir sınıf tanımlıyor ve o sınıf dahilinde object literals gösterimi sağlanıyor.




Bu mesajda bahsedilenler: @imammmm
T
7 yıl (20069 mesaj)
Yarbay

https://www.programming-techniques.com/2019/03/python-variables-constants-and-literals.html da belirtildiği gibi Python 'da Object Literals yok.

List Literals, Tuple Literals, Dict Literals, Set Literals var fakat Object Literals yok.

Range sadece bir fonksiyon. Python'da Function Literals da yok.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @imammmm
İ
7 yıl (969 mesaj)
Yüzbaşı

quote:

Orijinalden alıntı: Tuğkan-0153

https://www.programming-techniques.com/2019/03/python-variables-constants-and-literals.html da belirtildiği gibi Python 'da Object Literals yok.

List Literals, Tuple Literals, Dict Literals, Set Literals var fakat Object Literals yok.

Range sadece bir fonksiyon. Python'da Function Literals da yok.
Selamunaleyküm,
Öncelikle şunu belirtmek isterim ki, amacım soruyu soran kişinin kastettiği şeye cevap vermek. Ben dokümantasyon falan değilim, aksine dilin mantığını karşıdaki kişinin anladığına göre açıklamaya çalışan kişiyim. Zira insan yeni bir şey öğrenirken, eski bilgisine benzetmeye çalışır. Benim bu forum konusundan object literals denirken anladığım objecti oluşturan literaller. Aynı zamanda konu sahibinin de bunu kastettiğini düşünmekteyim. Zaten teker teker literalleri yazması istenilen manaya giden uzun yol olurdu. Google'a object literals in python dendiği zaman da python daki literallerin çıkması, tüm literallere beraber object literals denilebilecegi algısını fazlasıyla oluşturuyor. Zaten mesele object literalsin kavram olarak değil, dilin yapısı olarak olması. Anladığım kadarıyla da konu sahibi kavramdan ziyade yapıyı anlamaya çalışıyor. İtiraz etmiyorum, kavram olarak object literal yok, ancak yapı olarak var. Javascriptten geçen geliştiricilerin Python daki literallere verdiği isim bu.
Hayırlı günler.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
T
7 yıl (20069 mesaj)
Yarbay

Javascript definitive guide kitabından
< Resime gitmek için tıklayın >
Yani Javascript'te object literals var fakat Python kitaplarında (versiyon 2.x için) yok. Yapı olarak olabilir, ona bakarsan Java 'da da aynı yapıyı oluşturabilirsin, bir sınıf ile fakat bu Java 'da object literals var demek olmaz.




Bu mesajda bahsedilenler: @imammmm
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.