Arasında bir fark var mı
class A:
...
ve
class A():
...
Birkaç sınıfımın eski olarak tanımlandığını ve gayet iyi çalıştığını yeni fark ettim. Boş parantez herhangi bir fark yaratır mı?
Yanıtlar:
İkincisi, Python'un eski sürümlerinde bir sözdizimi hatasıdır. Python 2.x'te object
, mümkün olduğunda türetmelisiniz, çünkü birkaç kullanışlı özellik yalnızca yeni stil sınıflarında mevcuttur ( object
yeni stil sınıfları orada varsayılan olduğu için Python 3.x'te türetmek isteğe bağlıdır).
class A()
hiç bir sözdizimi hatası? Python 1.4 docs 's cezası söylemek ve bu hala python.org geçerli en eski belgeler bulunmaktadır.
Bir sınıf tanımında boş parantezlerin kullanılması sözdizimsel olarak yanlış olmasa da, bir sınıf tanımından sonra parantezler kalıtımı belirtmek için kullanılır, örneğin:
class A(baseClass):
...
Python'da, herhangi bir temel sınıf içermeyen bir sınıf bildirimi için tercih edilen sözdizimi basitçe şöyledir:
class A:
...
Diğer sınıfları alt sınıflara ayırmadığınız sürece parantez kullanmayın.
Konuyla ilgili belgeler, Python'da sınıfları nasıl bildireceğiniz ve kullanacağınız konusunda size daha iyi bir anlayış sağlamalıdır.
object
saçmalıklardan kaynaklanan her şey otomatik olarak halledilir.