Old style và new style classes trong Python

Tiện đây cho mình hỏi, khai báo class 2 cách sau đây thì cách nào đúng:

class Sample(object):

class Sample:

Mình biết đây là 2 cách viết của Python 2 và 3, nhưng khổ nỗi tiếng Anh mình yếu nên đọc hoài không hiểu, có ai vào giải thích dùm với…

bạn có thể đưa nguồn mình xem thử đc ko? mình không biết python nhưng java thì 2 cái đó là constructor chứ ko phải khai báo class, ko biết chúng có giống nhau ko?

1 Like
  • 2 cách đó đều đúng với ý nghĩa khác nhau:
  • class Sample (object): đây là cách khai báo lớp theo kế thừa, tức là Sample kế thừa từ lớp cơ sở object.
  • class Sample: đây là cách khai báo lớp bình thường, không kế thừ từ ai.

2.x
https://docs.python.org/2.7/tutorial/classes.html

3.x
https://docs.python.org/3.4/tutorial/classes.html

1 Like

Giờ thì đã hiểu, ngắn gọn là nên xài new style :v, còn python 3 là mặc định extend object dù có ghi ra hay không…

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?