«python-datamodel» etiketlenmiş sorular


9
Bir örneğin sınıf adını mı alıyorsunuz?
Bunu yaptığım işlev örneğin sınıfının türetildiği temel sınıfsa, Python'da bir nesnenin örneğini oluşturan bir sınıf adını nasıl bulabilirim? İnceleme modülünün burada bana yardımcı olabileceğini düşünüyordum , ama bana istediğimi vermiyor gibi görünüyor. Ve __class__üyeyi ayrıştırmadığından, bu bilgilere nasıl ulaşacağımdan emin değilim.


15
Yöntem parametre adları nasıl alınır?
Python işlevi verildiğinde: def a_method(arg1, arg2): pass Bağımsız değişkenlerin sayısını ve adlarını nasıl ayıklayabilirim. Yani, referansım olduğu için geri dönmek funcistiyorum .func.[something]("arg1", "arg2") Bunun için kullanım senaryosu, bir dekoratör var ve yöntem bağımsız değişkenlerini gerçek işlev için bir anahtar olarak göründükleri sırayla kullanmak istiyorum. Yani, dekoratör "a,b"aradığımda basılan nasıl görünüyor …


5
__Getitem__ içinde dilimleme uygulama
Yaptığım bir sınıf için vektör temsili oluşturan dilim işlevselliğini uygulamaya çalışıyorum. Şimdiye kadar bu koda sahibim, dilimi düzgün bir şekilde uygulayacağına inanıyorum, ancak v[4]v'nin bir vektör python olduğu gibi bir çağrı yaptığımda yeterli parametrelere sahip olmama konusunda bir hata veriyor. Bu yüzden, getitemhem düz dizinleri hem de dilimlemeyi işlemek için …

5
Python'da __eq__ açısından __ne__ uygulamalı mıyım?
__eq__Yöntemi geçersiz kılmak istediğim bir sınıfım var . Ben geçersiz gerektiğini mantıklı görünüyor __ne__yanı yöntemini, ancak uygulamaya mantıklıdır __ne__terimlerin içinde __eq__gibi? class A: def __init__(self, attr): self.attr = attr def __eq__(self, other): return self.attr == other.attr def __ne__(self, other): return not self.__eq__(other) Ya da Python'un bu yöntemleri kullanma biçiminde, bunu …

6
Metodu tanımlayan sınıfı alın
Python'da bir metodu tanımlayan sınıfı nasıl edinebilirim? Aşağıdaki örneğin " __main__.FooClass" yazdırmasını istiyorum : class FooClass: def foo_method(self): print "foo" class BarClass(FooClass): pass bar = BarClass() print get_class_that_defined_method(bar.foo_method)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.