Döngü ile sınıf örneklemesi mümkün mü?

Nitelik kelimesi simgesel bir tanım. Sınıfın niteliklerini temsil ediyor.
Elimde bir liste ve bir sınıf tanımı var.
Listedeki her öğeyi sınıf örneklemesinde kullanmak istiyorum;

liste=[“öğe1”,“öğe2”,“öğe3”,“öğe4”…]

class tanımlananSınıf ():
kıdem=“çalışan”
maaş=“5400 TL”
çalışmaŞekli=“Tam Zamanlı”

aşağıdaki olayı döngü ile sağlamak istiyorum

öğe1=tanımlananSınıf ()
öğe2=tanımlananSınıf ()
öğe3=tanımlananSınıf ()
öğe4=tanımlananSınıf ()
.
.
.
.

ancak liste üzerinden döngü kurduğumda liste öğelerini sınıf örneklemesi için kullanamıyorum.
for x in liste:
x=tanımlananSınıf ()

fstring ve format metotlarını da denedim.

for x in liste:
f"{x}" =tanımlananSınıf ()

veya

for x in liste:
“{}”.format(x) =tanımlananSınıf ()

şeklindeki kodlar da çalışmıyor
Bu arada girintili yazdığım satırlar buradaki mesajımda girintili olarak görünmüyor. Yazdığım kodlarda bu konuda hata yok.

Dongu ile sinif orneklemesi mumkun ve nasil oldugu da tam olarak yazdigin sekilde. Asil sordugun dongu icinde orneklenen siniflarin degisik degiskenlere atanmasi, degil mi?

Bunun genel cevabi su: yapmiyoruz, liste kullaniyoruz. Ayrintili bilgi icin bu forumu karistirabilirsin; siklikla sorulan bir soru.


@dildeolupbiten: Bir SSS hazirlamanin vakti geldi mi acaba?

1 Beğeni

@ismailarilik bu öneriyi bir değerlendirsin, uygun görürse sıkça sorulan sorular ile alakalı bir kategori oluşturulabilir.

Gormese de hazirlariz ki :slight_smile:

Saka bir yana, yeni gelenlerin sorularina asina oldugun ve sabirla cevapladigin icin, kooperasyon icin sordum sana. Uygun gorurseniz buraya da koyariz linkini/sticky’sini, o ayri.

Du ben ayri bi baslik acayim buna, arkadasin soru konusunu yeterince odunc aldik.

Yani bunun için Duyurular gibi bir kategori oluşturmak gerekir mi diye düşündüm. Yoksa bir başlık işimizi görürse başlık da kullanabiliriz.

Son zamanlarda sorulan bazı sorular gerçekten araştırılmadan sorulmuş sorular gibi geliyor bana da. :slight_smile:

“98 kere yazdik, bi aratir misin” cevabiyla sorunu olmayanlarin 99. kere sormasinin bir sorunu yok bence. “SSS vardi da ben mi bakmadim” dese ne deriz :slight_smile:

Kimisi sıkça sorulan sorulara bakmadan doğrudan sorusunu soracaktır. Sağ üst köşede arama bölümü var ve gerçekten birçok kullanıcı tarafından sıklıkla kullanılıyor olsaydı, bazı sorulan sorular tekrar tekrar sorulmazdı.

Konulara bir göz gezdirmiştim (arama motorunu da kullandım) Belki de doğru kelimeleri kullanmadım.
Ama (takdir edersiniz) o kadar çok konu var ki, aradığın bilgiye ulaşmak zor. Haliyle ben de aradığımı bulamadım. Cevabın konu bilgisini biliyorsanız link paylaşın lütfen

Şöyle bir örnek vereyim.

oge = ["oge_1","oge_2"]

class Yazbel(object):
      def __init__(self,name):
          self.name = name

sozluk = {oges : Yazbel(oges) for oges in oge}

print(sozluk["oge_1"].name)

#Output
"oge_1"

Ben forumda bulunduğumdan beri bu sorudan 5-6 tane gördüğümü tahmin ediyorum ama sadece birini bulabildim. Çoğu sorunun başlığı da düzgün seçilmediği için bulmak isteyince bulamıyorsun…

1 Beğeni

Örneğini vermeye çalıştım :slight_smile:

Benim şahsi fikrim şu arkadaş denemiş olmamış o zaman ya çözümünü atacaksın ya da ufaktan algoritmasından bahsedeceksin.

Tamam, örnek vermede bir sakınca yok ki zaten. Daha önce cevabı verilmiş bir soru olduğu için link verdim ben de.

Beni diyosan daha ziyade ileride de refere edebilecegimiz bir FAQ entry’si yazmakla ugrasiyordum: GitHub - aib/python-faq-turkish

@dildeolupbiten tonu kaba buldu, daha iyisini onerdi. 1-2 cevap daha yazip degisik stillerin tadina bakayim diyordum fakat @EkremDincel’in de gozlemledigi uzere bu tur sorulari arasan bile bulmak zor.

Ugrasip wiki’de ( Sıkça Sorulan Sorular (SSS) ) bir kismini listelediler, sagolsunlar, fakat oradaki sorular da Windows kurmadan yanitlanabilecek gibi degiller.

Soyle bir ornek vermememin sebebi list kullanmayi bilmeyen (veya list kullanmasi gerektiginin farkina varmamis) seviyedeki birine dict onermemek. (Inheritance ve dictionary comprehension’larini gecim bile.)

Sorunun asil cevabi olan vars/locals/globals kullanimini da ayni sebepten oturu yazmadim.

1 Beğeni

Sizi kastetmedim genel olarak foruma baktığımda insanlar bir şeyler söylüyor fakat karşı taraf da bunun farkında önemli olan programlama dili seviyesine indirmek.(pseudo code) değil.(Bir yer de pseudo code tabii önemli ama anladığım kadarıyla konuyu yazan kişi nasıl yapabileceğinin farkında.)

Kolay gelsin :slight_smile: (Yanlış anlaşılmaya sebep olmak istemem.)

Tam olarak aradığım şey
Teşekkürler
Kod aşinalığım yeterince gelişmediği için kendime uyarlamak biraz uğraştıracak ama buna değecek.
(Hem bahane ile class konusunda kendimi geliştirmiş olacağım)
Bu arada;
sozluk = {oges : Yazbel(oges) for oges in oge}
bu tarz cümlelerin sadece liste yapıları oluşturmak için kullanıldığını sanıyordum.
Bir taşla kaç kuş vurdum :slight_smile:

1 Beğeni

Yardımcı olduğuma çok mutlu oldum. :slight_smile:

Comphrension yapıları cidden hem kodu kısaltıyor hem de okunabilirliği arttırıyor.

Forumda SSS kısmı zaten var ve düzenlenebiliyor: Döngü ile sınıf örneklemesi mümkün mü?

Bunu kullanıcıları karşılayan konuya ekleyeyim.

Zaten eklemişim. Yani zaten bir SSS bölümümüz var ve kullanıcılara ilk girdiklerinde bu belirtiliyor. Tabii şöyle sorunlar var:

  • “Foruma Hoşgeldiniz” konusu kaç yeni üye tarafından okunuyor?
  • Bir sorunun sıkça sorulduğu anlaşıldığında bu soru SSS bölümüne ekleniyor mu?
  • Soru sormadan önce forumda kaç kişi araştırma yapıyor?

Bence öncelikle bu sorunlara çözümler bulmalıyız. Çözüm şu olabilir: "Bir forumda nasıl soru sorulur?"u herkese öğretmek. Tabii her seferinde aynı şeyleri yazarak değil. Soru sorulurken yazılanları analiz edip tavsiyeler sunan bir bot aracılığıyla olabilir. Mesela forumumuzda soru yazılırken benzer soruları gösteren bir özellik halihazırda var. Bunun gibi başka özellikler de eklenebilir. Tabi söylemesi kolay benim için. Açıkçası aklımda böyle şeyler ama zamanım yok maalesef. Forumda aktif bile değilim artık. Forumun açık kalmasını sağlıyorum diyerek avutuyorum kendimi. Ama vakti olan arkadaşlara bu gibi eklentileri bulmayı ya da geliştirmeyi öneririm. Hem kendilerini geliştirirler hem de bizim forum ve Discourse kullanan diğer forumlar faydalanır.

1 Beğeni

Bunu ben de dusundum. “Kod yaziyorsun gibi duruyor, ``` arasina alsana.” Ama sag taraf ne kadar dikkat ceker bilemedim. Yazdigi soruyu okumuyor diye dusunuyorum cogu insan. Veya kodun editordeki haliyle forum’un bozdugu halini esit derecede okunmaz buldugu icin duzeltme geregi duymuyor.

Belki bir “ne yaptigimi biliyorum, post etmeme izin ver” nagscreen’i ara cozum olabilir. Hmm, software ne kadar customizasyona izin veriyor, bir bakayim…

Bu arada “bu soruda kaynak kodu var mi” da guzel bir machine learning isi olabilirmis, yapacak is arayanlara onerelim; simdi aklima geldi.

1 Beğeni