【Python】型アノテーション③ (型アノテーションを設定するには # type:type アノテーションを使用 | 型アノテーションは示唆的ですが必須ではありません)





1. 注釈構文を使用して型注釈を設定する




1. 注釈構文を使用して型を設定する 注釈構文の概要


次の構文を使用して变量: 类型型の注釈をフォーマットすることに加えて、

注釈構文を使用して、Python 変数の型注釈を設定することもできます。構文は次のとおりです。

# type: 类型名称

型の注釈は必須ではなく、示唆的なものであるだけです。

型アノテーションに従って割り当てが行われていない場合、コードはエラーを報告しません。


2. 基本型変数に「型アノテーション」を設定する


基礎となる型変数に対して「型アノテーション」を設定します。

# 1. 为 基础类型变量 设置 " 类型注解 "
var_int = 10                                # type: int
var_float = 3.14                            # type: float
var_bool = True                             # type: bool
var_str = "Tom"                             # type: str

3. クラスのオブジェクト型に「型アノテーション」を設定する


クラスのオブジェクト型変数に「型アノテーション」を設定します。

# 2. 为 类 的 对象类型变量 设置 " 类型注解 "
class Student:
    pass


s = Student()                               # type: Student

4. 基本コンテナ型変数に簡単な「型アノテーション」を設定します。


基礎となるコンテナ型変数に単純な「型アノテーション」を設定します。

# 3. 为 基础容器类型变量 设置 简易 " 类型注解 "
var_list = [1, 2, 3]                        # type: list
var_tuple = (1, 2, 3)                       # type: tuple
var_set = {
    
    1, 2, 3}                         # type: set
var_dict = {
    
    "Tom": 18, "Jerry": 12, }       # type: dict
var_str = "China"                           # type: str

5. 基本的なコンテナ型変数に詳細な「型アノテーション」を設定する


基礎となるコンテナ型変数に対して詳細な「型アノテーション」を設定します。

# 4. 为 基础容器类型变量 设置 详细 " 类型注解 "
var_list_2 = [1, 2, 3]                      # type: list[int]
var_tuple_2 = (1, True)                     # type: tuple[int, bool]
var_set_2 = {
    
    1, 2, 3}                       # type: set[int]
var_dict_2 = {
    
    "Tom": 18, "Jerry": 12, }     # type: dict[str, int]

リスト データ コンテナ型の詳細型アノテーションの場合、設定する必要がある要素型は 1 つだけです。

  • list[int]リスト型。リストの要素の型は int 型です。

タプル データ コンテナ型の詳細な型注釈には、各要素の型マークが必要であり、複数の要素に対して複数の型をマークする必要があります。

  • tuple[int, bool]タプル型。最初の要素の型は int 数値型、2 番目の要素の型は bool ブール型です。

辞書データコンテナ型の詳細な型アノテーションには、2 つの型を設定する必要があります。1 つ目はキーと値のペアのキー Key の型、2 つ目はキーの値 Value の型です。 -値のペア;

  • dict[str, int]フィールドの型、キーの型 Key は str string 型、値 Value の型は int デジタル型です。

6. 完全なコード例


型注釈を含む完全なコード例:

"""
类型注解 代码示例
"""

# 1. 为 基础类型变量 设置 " 类型注解 "
var_int = 10                                # type: int
var_float = 3.14                            # type: float
var_bool = True                             # type: bool
var_str = "Tom"                             # type: str


# 2. 为 类 的 对象类型变量 设置 " 类型注解 "
class Student:
    pass


s = Student()                               # type: Student

# 3. 为 基础容器类型变量 设置 简易 " 类型注解 "
var_list = [1, 2, 3]                        # type: list
var_tuple = (1, 2, 3)                       # type: tuple
var_set = {
    
    1, 2, 3}                         # type: set
var_dict = {
    
    "Tom": 18, "Jerry": 12, }       # type: dict
var_str = "China"                           # type: str

# 4. 为 基础容器类型变量 设置 详细 " 类型注解 "
var_list_2 = [1, 2, 3]                      # type: list[int]
var_tuple_2 = (1, True)                     # type: tuple[int, bool]
var_set_2 = {
    
    1, 2, 3}                       # type: set[int]
var_dict_2 = {
    
    "Tom": 18, "Jerry": 12, }     # type: dict[str, int]

の結果:

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py

Process finished with exit code 0

ここに画像の説明を挿入





2. 型アノテーションは必須ではありません



型の注釈は必須ではなく、示唆的なものであるだけです。

型アノテーションに従って割り当てが行われていない場合、コードはエラーを報告しません。


次のコードでは、変数に int 型の型アノテーションが 2 つの方法で設定されていますが、変数値には string 型が設定されており、最終的な実行ではエラーは報告されません。


コード例:

"""
类型注解 代码示例
"""

# 使用 变量: 类型 设置类型注解
var_jerry: int = "Jerry"
print(var_jerry)

# 使用 type: 类型 注释设置类型注解
var_tom = "Tom"                                # type: int
print(var_tom)

の結果:

D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
Jerry
Tom

Process finished with exit code 0

警告状況:エラーは報告されませんが、警告メッセージが報告されます。

Expected type 'int', got 'str' instead

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/han1202012/article/details/131683427