Nếu tôi có một chức năng như thế này:Thêm giá trị tham số mặc định với kiểu gợi ý bằng Python
def foo(name, opts={}):
pass
Và tôi muốn thêm gợi ý loại các thông số, làm thế nào để làm điều đó? Con đường tôi giả định mang lại cho tôi một lỗi cú pháp:
def foo(name: str, opts={}: dict) -> str:
pass
Sau đây không ném một lỗi cú pháp, nhưng nó không có vẻ như cách trực quan để xử lý trường hợp này:
def foo(name: str, opts: dict={}) -> str:
pass
tôi có thể không tìm thấy bất kỳ thứ gì trong số typing
documentation hoặc trên tìm kiếm của Google.
Chỉnh sửa: Tôi không biết các đối số mặc định hoạt động như thế nào trong Python, nhưng vì lợi ích của câu hỏi này, tôi sẽ giữ các ví dụ ở trên. Nói chung, tốt hơn hết là làm như sau:
def foo(name: str, opts: dict=None) -> str:
if not opts:
opts={}
pass
Chức năng cuối cùng là cách chính xác. Nó cũng giống như ngôn ngữ 'scala'. –
bạn có loại mặc định có thể thay đổi - điều này sẽ dẫn đến sự cố –
xem câu trả lời cập nhật của tôi, @josh –