01/10/2018, 08:53
Thắc mắc về kiểu dữ liệu động trong Python
Chào mọi người, mình đang học Python. Về kiểu dữ liệu trong Python, mình có một vài thắc mắc, mong các bạn giải đáp:
- Làm cách nào để có thể tạo ra một kiểu dữ liệu người dùng định nghĩa tương tự như Struct trong C++ hoặc C# ?
- Vì Python là ngôn ngữ kiểu động, nên khi truyền tham số vào hàm, ta không cần xác định kiểu của tham số. Vậy với trường hợp kiểu người dùng tự định nghĩa hay các kiểu dữ liệu ta import từ các module khác, cơ chế nào để Python biết được tham số đó thuộc kiểu gì và các thuộc tính của nó ?
Cảm ơn mọi người
Bài liên quan
2 . Mình không chắc là giải thích cho bạn hiểu được (vì mình cũng “sơ sơ” thôi). Tốt nhất là tải mã nguồn Python về tham khảo.
Mình hiếu ý của bạn là tạo một class Book, sau đó set tất cả các thuộc tính với phương thức thành public? À mà tại sao tên tham số truyền vào của bạn lại có “_” phía trước, có ý nghĩa gì đặc biệt không ?
Tất thành phần trong class Python đều public mà, tuy là có cách “giấu” biến nhưng nó vẫn là public (truy cập thông qua 1 cách khác)
Còn tên tham số có có dấu “_” phía trước là vì mình thích đặt vậy nếu để chữ “class” hay “as” thì trùng với từ khóa (mình cũng muốn nhấn mạnh: tham số truyền vào là class, không phải instance hay bất kỳ thứ gì khác), mình cũng tự quy ước với bản thân cho cách đặt tên biến và tên hàm đó mà (quen tay với C rồi, chưa quên OOP nó vậy ).