标签:name item Python items 提示 str 类型 def
摘自:Python 类型提示简介 - FastAPI (tiangolo.com)
快速入门
类型提示用于声明一个变量的类型,在Python 3.6+版本的时候引入。
示例:
def get_full_name(first_name: str, last_name: str):
full_name = first_name.title() + " " + last_name.title()
return full_name
print(get_full_name("peter","park"))
注意,类型提示用的是冒号,不是设置默认参数的等号。
这样编写的好处在于,编辑器知道参数类型后,比如vs code,输完 first_name.
后按一下 Ctrl + Space,会自动显示字符串支持的方法。
嵌套类型
有些容器数据结构可以包含其他的值,比如 dict
、list
、set
和 tuple
。它们内部的值也会拥有自己的类型。
你可以使用 Python 的 typing
标准库来声明这些类型以及子类型。
它专门用来支持这些类型提示。
列表
例如,让我们来定义一个由 str
组成的 list
变量。
从 typing
模块导入 List
(注意是大写的 L
):
from typing import List
def process_items(items: List[str]):
for item in items:
print(item)
这表示:"变量 items
是一个 list
,并且这个列表里的每一个元素都是 str
"。
这样,即使在处理列表中的元素时,编辑器也可以提供支持。
元组和集合
声明 tuple
和 set
的方法也是一样的:
from typing import Set, Tuple
def process_items(items_t: Tuple[int, int, str], items_s: Set[bytes]):
return items_t, items_s
这表示:
- 变量
items_t
是一个tuple
,其中的每个元素都是int
类型。 - 变量
items_s
是一个set
,其中的每个元素都是bytes
类型。
字典
定义 dict
时,需要传入两个子类型,用逗号进行分隔。
第一个子类型声明 dict
的所有键。
第二个子类型声明 dict
的所有值:
from typing import Dict
def process_items(prices: Dict[str, float]):
for item_name, item_price in prices.items():
print(item_name)
print(item_price)
这表示:
- 变量
prices
是一个dict:- 键都是
str
类型 - 值都是
float
类型
- 键都是
类作为类型
你也可以将类声明为变量的类型。
假设你有一个名为 Person
的类,拥有 name 属性:
class Person:
def __init__(self, name: str):
self.name = name
def get_person_name(one_person: Person):
return one_person.name
接下来,你可以将一个变量声明为 Person
类型:
class Person:
def __init__(self, name: str):
self.name = name
def get_person_name(one_person: Person):
return one_person.name
然后,你将再次获得所有的编辑器支持。
标签:name,item,Python,items,提示,str,类型,def 来源: https://www.cnblogs.com/XY-Heruo/p/15012540.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。