type(obj)
ve obj.__class__
arasındaki fark nedir? type(obj) is not obj.__class__
bir olasılık var mı?Tür (obj) ve nesn .__ class__ arasındaki fark
Ürünle birlikte verilen nesnelerde, başka bir parametre ile aynı türde bir varsayılan 1 değeri kullanarak genel olarak çalışan bir işlev yazmak istiyorum. Aşağıdaki varyasyon # 1 veya # 2, doğru olanı yapacak mı?
def f(a, b=None):
if b is None:
b = type(a)(1) # #1
b = a.__class__(1) # #2
En büyük ironi, yairchu'nun yorumunu şu anda biçimlendirmeyi değiştirdiğinden beri aynı soruna neden oluyor ..: P –
Farklı şekillerde nasıl davrandığını ve belki de neden * * olduğunu * göstermek zarar vermez. Sadece * ne zaman farklı * davrandığını söylerseniz, doğru olsa bile, tembel bir cevap verir. – MestreLion
bundan bahsetmeye değer sadece Python 2'deki sorun. Python 3'te her üç ifade de True olacaktır. – Bob