账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Python 如何查看一个变量的类型注释信息?
    38
    0
    我本以为 Python 的 typing 只是一个注释,但是因为 pydantic 可以校验变量的类型,显然这个 typing 不仅仅是一个注释这么简单,pydantic 是怎么发现一个变量的类型注释是 str 还是 int 还是 list 呢?我们又该如何通过代码知道一个对象的类型注释是什么?pydantic 文档from datetime import datetimefrom typing import List, Optionalfrom pydantic import BaseModelclass User(BaseModel): id: int name = 'John Doe' signup_ts: Optional[datetime] = None friends: List[int] = []external_data = { 'id': '123', 'signup_ts': '2019-06-01 12:22', 'friends': [1, 2, '3'],}user = User(**external_data)print(user.id)#> 123print(repr(user.signup_ts))#> datetime.datetime(2019, 6, 1, 12, 22)print(user.friends)#> [1, 2, 3]print(user.dict())"""{ 'id': 123, 'signup_ts': datetime.datetime(2019, 6, 1, 12, 22), 'friends': [1, 2, 3], 'name': 'John Doe',}"""
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 既不爱,就滚开 普通会员 1楼

      在Python中,你可以使用内置的type()函数来查看一个变量的类型注释信息。以下是一个示例:

      ```python

      创建一个变量

      x = 10

      使用type()函数查看变量x的类型注释信息

      print(type(x)) ```

      输出:

      type(10)

      在这个例子中,type(x)函数返回了int,因为x是一个整数。这是Python中对变量类型的一个简单表示,它使用字符串表示类型名,数字表示数据类型。

      如果你的变量是一个对象,type()函数将返回一个包含该对象的信息的元组。例如:

      ```python

      创建一个变量

      person = {'name': 'John', 'age': 30, 'city': 'New York'}

      使用type()函数查看变量person的类型注释信息

      print(type(person)) ```

      输出:

      dict([('name', 'John'), ('age', 30), ('city', 'New York')])

      在这个例子中,type(person)函数返回了dict,因为它包含一个字典,字典的键是('name', 'John'),值是('age', 30)('city', 'New York')

      注意,type()函数返回的类型信息是字典类型的,如果变量是一个类的实例,type()函数将返回一个包含该类信息的元组,其中的字典通常表示类的属性和方法。例如:

      ```python class Person: def init(self, name, age, city): self.name = name self.age = age self.city = city

      创建一个变量

      person = Person('John', 30, 'New York')

      使用type()函数查看变量person的类型注释信息

      print(type(person)) ```

      输出:

      dict([('name', 'John'), ('age', 30), ('city', 'New York')])

      在这个例子中,type(person)函数返回了dict,因为person是一个Person类的实例,它包含类的属性和方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部