Không thực sự, có thể là dễ dàng hơn để người đọc mới tạo sự khác biệt rõ ràng để hiểu rằng lời gọi của họ hơi khác. Ít nhất đó là lý do tại sao tôi nghi ngờ tác giả có thể đã chọn các từ ngữ khác nhau cho mỗi tác giả.
Dường như không có quy ước nào đưa ra điều này trong Hướng dẫn tham khảo cho ngôn ngữ Python. Những gì tôi có vẻ như họ đang làm là chọn gọi khi cuộc gọi được thực hiện cho một chức năng là ẩn ngụ và không rõ ràng.
Ví dụ, trong phần Callables của the Standard Type Hierarchy bạn thấy:
[..] Khi một đối tượng phương pháp dụ được gọi, chức năng cơ bản (__func__
) được gọi, chèn dụ lớp (__self__
) ở phía trước danh sách đối số. [...]
(tôi nhấn mạnh) Explicit gọi
Tiếp tục xuống trong Basic Customization và đặc biệt for __new__
bạn có thể thấy:
gọi để tạo ra một thể hiện mới của lớp cls. __new__()
là phương pháp tĩnh [...]
(tôi nhấn mạnh) gọi Explicit
Trong khi chỉ một vài câu sau đó bạn sẽ thấy cách gọi được sử dụng vì __new__
ngầm gọi __init__
:
Nếu __new__()
không trả lại một thể hiện của cls
, sau đó phương thức __init__()
của cá thể mới sẽ không được gọi.
(tôi nhấn mạnh) mặc nhiên được gọi
Vì vậy, không, không ước dường như được sử dụng, ít nhất là bởi những người tạo ra ngôn ngữ. Đơn giản là tốt hơn phức tạp, tôi đoán :-).
Nguồn
2016-11-10 13:39:38
Có liên quan, có thể trùng lặp (trong ngữ cảnh C#): [Sự khác biệt giữa "gọi" và "gọi" là gì?] (Http://stackoverflow.com/q/18505422/464709) –
Theo kinh nghiệm của tôi với Python, Tôi sẽ nói rằng nó là phổ biến hơn nhiều để nói/nghe "gọi" cho cả hai phương pháp và chức năng, và tôi hiếm khi nghe nói "gọi" được sử dụng cho một trong hai. Tuy nhiên, việc đào tạo của tôi bằng Python là khá chính thức và bạn có thể có các quy ước khác nhau trong các lĩnh vực khác nhau. – elethan
Tôi đã luôn phân biệt các hàm thứ tự đầu tiên luôn được gọi. Các phương thức của một lớp được gọi * trên lớp * –