一、常见的状态码
在网络通信中,常见的状态码用于表示请求的处理结果。以下是一些常见的状态码:
200 0K:表示请求成功,服务器成功处理了请求。
301 Moved Permanently: 表示请求的资源已永久移动到新的 URL。
400 Bad Request: 表示请求包含语法错误或无法被服务器理解。
401 Unauthorized: 表示请求需要进行身份验证,未提供有效的身份验证凭证。
403 Forbidden: 表示服务器拒绝请求,没有权限访问请求的资源。
404 Not Found: 表示请求的资源不存在
500 Internal Server Error: 表示服务器在处理请求时遇到了错误。
502 Bad Gateway: 表示服务器作为网关或代理,从上游服务器接收到无效的响应。
503 Service Unavailable: 表示服务器暂时无法处理请求,通常是由于过载或维护而导致
504 Gateway Timeout: 表示服务器作为网关或代理,未及时接收到上游服务器的响应。
这只是一些常见的状态码,HTTP 协议中还有更多的状态码可以表示各种不同的情况和错误。
在进行网络开发时,了解和正确处理这些状态码是非常重要的。
二、->在python中的意义
->在python中表示的是返回值的类型
例如:
def run(self) -> None:
三、在写参数的时候有多个类型
在写参数的时候定义的类型可以有多个其中用 "|" 来表示
比如:
def _make_timedelta(value: timedelta | int | None):
这段代码定义了一个_make_timedelta的函数,它里面参数是value他的类型可以是timedelta也可以是int也可以是None
四、两种类型的不定长参数
*args用于接收任意数量的位置参数(非关键字参数),作为元祖传给函数
例如:
def my_func(*args):
for arg in args:
print(arg)
my_func(1, 2, 3) # 输出:1 2 3
my_func('a', 'b') # 输出: a b
**kwargs用于接收任意数量的关键字参数,作为字典传递给函数
例如:
def my_func(**kwargs):
for key, value in kwargs.items():
print(key,value)
my_func(name='Alice', age=25) # 输出: name Alice age 25'
my_func(country='USA', city='New York') # 输出: country USA city New York
在使用不定长参数时,可以在函数定义时将*args和*kwargs作为参数,然后在函数体内根据需要使用这些不定长参数。
请注意,tarqs和kwarqs只是一种约定的命名方式,你也可以选择其他的名称。但是,"和符号是必须的,它们用于指示参数为不定长。
五、泛型
泛型函数:可以使用泛型类型注解来指定函数参数和返回值的类型。
例如:
from typing import List
def reverse_list(lst: List[int]) -> List[int]:
return lst[::-1]
泛型类:可以使用泛型类型注解来指定类成员变量和方法参数、返回值的类型。
例如:
from typing import TypeVar, Generic
T = TypeVar('T') # 定义泛型类型变量
class Box(Generic[T]):
def __init__(self, item: T):
self.item = item
def get_item(self) -> T:
return self.item
泛型集合:可以使用泛型类型注解来指定集合的元素类型。
例如:
from typing import List
data: List[int] = [1, 2, 3, 4]