Tôi có một đối tượng cần phải có một số giá trị 4-5 được truyền cho nó. Để minh họa:Khởi tạo các biến đối tượng - một cách tiếp cận Java, một cách tiếp cận Python?
class Swoosh():
spam = ''
eggs = ''
swallow = ''
coconut = ''
[... methods ...]
Ngay bây giờ, cách sử dụng Swoosh
là:
swoosh = Swoosh()
swoosh.set_spam('Spam!')
swoosh.set_eggs('Eggs!')
swoosh.set_swallow('Swallow!')
swoosh.set_coconut('Migrated.')
Tôi đang gặp sự nghi ngờ cho dù đây là Pythonic hoặc là ảnh hưởng Java quá nhiều này. Hoặc là nó chỉ cần thiết? Ngoài ra, trong trường hợp bạn đang tự hỏi tại sao tôi đang sử dụng setters thay vì chỉ đơn giản là truy cập vào các biến đối tượng - một số xác nhận cơ bản phải được thực hiện ở đó, do đó các phương pháp set_
.
Tôi nghĩ tôi có thể cung cấp cách khác để khởi tạo số Swoosh
- cung cấp __init__()
có thể chấp nhận dict
/list
?
Dù sao, tôi chỉ đang tìm kiếm trợ giúp/lời khuyên từ một người nào đó có kinh nghiệm hơn về nội dung này.
Cảm ơn trước về bất kỳ đầu vào nào về điều này.
Tại sao nhiều người hiện nay viết 'class SomeThing():' nếu các parens trống phục vụ ab không có mục đích? Hay là quá khó để chèn 'đối tượng' vào giữa những thứ đó? – pillmuncher