一个简单的例子:
def speak(name,age):
print(name,age)
speak("张三","18")
可以知道,speak函数的name参数,接收的一定是个字符串,并且希望它以后接收的也一直是字符串,传统的写法如上。
现在有个很简单的需求,我想把name接收的参数都转成大写,我们都知道字符串有upper方法。
print("stark".upper())
但是当我们敲“.”符号的时候,有时候可能并不会出现自动提示,但是name确实是字符串。
我们将代码稍微改一下:
def speak(name: str, age: int):
print(name,age)
speak("张三","18")
这样在敲入点号的时候,只要是主流的编辑器,都会自动提示。
声明简单类型
List:
age_list: List[int] = [12, 32, 65, 47, 88]
def sun_age(age_list: List[int])->int:
sum_age = sum(age_list)
return sum_age
s = sun_age(age_list)
print(s)
>>>244
Dict:
student_dict: Dict[str, str] = {'name': 'mzh', 'address': 'GD'}
def putStudent(student: Dict[str, str]):
for k, v in student.items():
print(k, v)
putStudent(student_dict)
>>>name mzh
>>>address GD
object:
class Student:
def __init__(self, name: str, age: int) -> None:
self.name = name
self.age = age
def getName(student: Student) -> str:
print(student.name)
return student.name
stu = Student('mzh', 23)
getName(stu)
>>>'mzh'