Python, bir dersin içeriğini sizin için listeleyecek kullanışlı dir()
işleviyle birlikte gelir. Örneğin, bu sınıf için:Bir sınıfın nitelikleri üzerinde, tanımlandıkları sırada nasıl yineleme yapılır?
class C:
i = 1
a = 'b'
dir(C)
bu harika
['__doc__', '__module__', 'a', 'i']
dönmek fakat 'a'
ve 'i'
sırası onlar tanımlandı sonra sırası şimdi farklı nasıl fark ederdi
C'nin özniteliklerinin üzerinde tanımlanabilir (olası yerleşik & modül özniteliklerini göz ardı ederek) tanımlandıkları sıraya göre nasıl yineleyebilirim? Yukarıdaki C sınıfı için, 'i'
ve daha sonra 'a'
olacaktır.
Ek: - Bazı serileştirme/günlüğe kaydetme kodları üzerinde çalışıyorum. Öznitelikleri tanımlandıkları sıraya serileştirmek istiyorum; böylece çıktı, sınıfı oluşturan kodun benzeri olacaktır.
Niçin tanımlanmış siparişler hiç önemli değil? Bu durumda siparişin önemi yoktur. Alabilirsen bu bilgiyi nasıl kullanırdın? –
Sınıfın sınıflarını veya örneklerini serileştiriyor musunuz? Örneğinizde, "a" ve "i" sınıf öznitelikleridir. Bunların örnek nitelikleri olduğunu düşünüyorsanız, bunları '__init__'' self.a = 'b'' ve 'self.i = 1' kullanarak tanımlamanız gerekir. – PaulMcG
Bunlar, örnek değişkenleri kadar kullanışlı olmayan sınıf düzeyi özniteliklerdir. Neden sınıf özelliklerinin sırasını korumaya çalışıyorsunuz? Örnek değişkenlerin sırasını korumak daha iyi olmaz mıydı?Neden sınıf düzeyinde değişkenlerle püf noktaları yapmaya çalışıyorsun? –