Hướng dẫn how does type hinting work in python? - gợi ý kiểu hoạt động như thế nào trong python?

Trong bài học này, bạn sẽ tìm hiểu về loại gợi ý trong Python. Loại gợi ý là một giải pháp chính thức để chỉ ra định nghĩa loại giá trị trong mã Python của bạn. Nó được chỉ định trong PEP 484 và được giới thiệu trong Python 3.5.type hinting in Python. Type hinting is a formal solution to statically indicate the type of a value within your Python code. It was specified in PEP 484 and introduced in Python 3.5.

Ở đây, một ví dụ về việc thêm thông tin loại vào một chức năng. Bạn chú thích các đối số và giá trị trả về:

def greet(name: str) -> str:
    return "Hello, " + name

Cú pháp name: str chỉ ra đối số name phải thuộc loại str. Cú pháp -> cho biết hàm greet() sẽ trả về một chuỗi.

Hàm ví dụ sau đây biến một chuỗi văn bản thành một tiêu đề bằng cách thêm vốn hóa thích hợp và một dòng trang trí:

>>>

>>> def headline(text, align=True):
...    if align:
...        return f"{text.title()}\n{'-' * len(text)}"
...    else:
...        return f" {text.title()} ".center(50, "o")
...
...
>>> print(headline("python type checking"))
Python Type Checking
--------------------

>>> print(headline("python type checking", align=False))
oooooooooooooo Python Type Checking oooooooooooooo

Bây giờ thêm gợi ý loại bằng cách chú thích các đối số và giá trị trả về như sau:

>>>

>>> def headline(text: str, align: bool = True) -> str:
...    if align:
...        return f"{text.title()}\n{'-' * len(text)}"
...    else:
...        return f" {text.title()} ".center(50, "o")
...
...
>>> headline


>>> print(headline("python type checking", align="left"))
Python Type Checking
--------------------

>>> print(headline("python type checking", align="center"))
Python Type Checking
--------------------

Bây giờ thêm gợi ý loại bằng cách chú thích các đối số và giá trị trả về như sau:

  • Về phong cách, PEP 8 khuyến nghị như sau:
  • Sử dụng các quy tắc bình thường cho các đại phân, nghĩa là không có không gian trước và một không gian sau một dấu hai chấm (text: str).
  • Sử dụng các khoảng trắng xung quanh dấu hiệu = khi kết hợp chú thích đối số với giá trị mặc định (____10).

Sử dụng không gian xung quanh mũi tên -> (

>>> def headline(text, align=True):
...    if align:
...        return f"{text.title()}\n{'-' * len(text)}"
...    else:
...        return f" {text.title()} ".center(50, "o")
...
...
>>> print(headline("python type checking"))
Python Type Checking
--------------------

>>> print(headline("python type checking", align=False))
oooooooooooooo Python Type Checking oooooooooooooo
2).f-strings, check out the following resources:

  • Để tìm hiểu thêm về các chuỗi F, hãy xem các tài nguyên sau:
  • Python 3 Lừa F-Strings: Một cú pháp định dạng chuỗi được cải tiến (Hướng dẫn)

Làm thế nào để bạn sử dụng gợi ý loại?

Loại gợi ý là một giải pháp chính thức để chỉ ra định nghĩa loại giá trị trong mã Python của bạn. Nó được chỉ định trong PEP 484 và được giới thiệu trong Python 3.5. Tên: STR Cú pháp chỉ ra đối số tên phải thuộc loại str. -> Cú pháp biểu thị hàm Greet () sẽ trả về một chuỗi.a formal solution to statically indicate the type of a value within your Python code. It was specified in PEP 484 and introduced in Python 3.5. The name: str syntax indicates the name argument should be of type str . The -> syntax indicates the greet() function will return a string.

Python có kiểu gợi ý loại không?

Với Python 3.5, các gợi ý loại chính thức trở thành một phần của ngôn ngữ (PEP 484). Sử dụng một công cụ kiểm tra linter hoặc kiểm tra mã, các nhà phát triển có thể kiểm tra tính nhất quán của các biến và loại của chúng trên cơ sở mã và thực hiện các phân tích tĩnh của mã trước đây là khó khăn hoặc không thể. (PEP 484). Using a linter or code-checking tool, developers can check the consistency of variables and their types across a code base, and perform static analyses of code that would previously have been difficult or impossible.

Python có thực thi gợi ý loại không?

Python sẽ luôn luôn là một ngôn ngữ được đánh máy động.Tuy nhiên, PEP 484 đã giới thiệu các gợi ý loại, điều này cũng có thể thực hiện kiểm tra loại tĩnh của mã python.Không giống như cách các loại hoạt động trong hầu hết các ngôn ngữ được gõ tĩnh khác, bản thân các gợi ý không khiến Python thực thi các loại.type hints by themselves don't cause Python to enforce types.

Làm thế nào để Python suy ra các loại?

Một số ngôn ngữ yêu cầu mọi biểu tượng phải được gõ rõ ràng.Python cho phép một biểu tượng bị ràng buộc với các giá trị khác nhau trong thời gian chạy, do đó loại của nó có thể thay đổi theo thời gian.Loại biểu tượng không cần phải được khai báo tĩnh.Python allows a symbol to be bound to different values at runtime, so its type can change over time. A symbol's type doesn't need to be declared statically.