在 Python Google 云函数中键入提示?
type hints in a Python Google Cloud Function?
在 Python Google Cloud Function 中,在“main.py”中有很多子函数,我在 pep8 样式中添加了类型提示 (= return value annotation as part of function annotation)像这样:
from typing import Union
def f1() -> int:
return 5555
def f2() -> Union[int, int]:
return 9999, 1111
def my_main_function(request) -> str:
a = f1()
x, y = f2()
return 'Done.'
Union
取自,如果类型提示不止一种则需要
函数无法部署,没有关于错误的日志,只有一个橙色错误日志条目,其文本与上面的开始项相同。
MY_TIME_ZONE_LOCATION:MY_CLOUD_FUNCTION_NAME MY_MAIL.com {@type:
type.googleapis.com/google.cloud.audit.AuditLog, authenticationInfo:
{…}, methodName:
google.cloud.functions.v1.CloudFunctionsService.UpdateFunction,
resourceName:
projects/MY_PROJECT_NAME/locations/MY_TIME_ZONE_LOCATION/functions/MY_CLOUD_FUNCTION_NAME,
serviceName: cloudfunctions.googleapis.com, status… {@type:
type.googleapis.com/google.cloud.audit.AuditLog, authenticationInfo:
{…}, methodName:
google.cloud.functions.v1.CloudFunctionsService.UpdateFunction,
resourceName:
projects/MY_PROJECT_NAME/locations/MY_TIME_ZONE_LOCATION/functions/MY_CLOUD_FUNCTION_NAME,
serviceName: cloudfunctions.googleapis.com, status… ```
并且当我将 ->
替换为 : # ->
以便注释掉所有类型字符串时,它起作用了,因此,类型提示似乎扰乱了 Google 云函数。
是否完全支持类型提示?我怎样才能让类型提示在 Google 云函数中工作?
根据评论,错误出在另一个代码片段中,如下所示:
def f3() -> int, int:
return 4444, 2222
该代码已更正为包含 Tuple
(Union
也有效,但不是一种类型提示中许多类型的默认值):
def f3() -> Tuple[int, int]:
return 4444, 2222
在 Python Google Cloud Function 中,在“main.py”中有很多子函数,我在 pep8 样式中添加了类型提示 (= return value annotation as part of function annotation)像这样:
from typing import Union
def f1() -> int:
return 5555
def f2() -> Union[int, int]:
return 9999, 1111
def my_main_function(request) -> str:
a = f1()
x, y = f2()
return 'Done.'
Union
取自
函数无法部署,没有关于错误的日志,只有一个橙色错误日志条目,其文本与上面的开始项相同。
MY_TIME_ZONE_LOCATION:MY_CLOUD_FUNCTION_NAME MY_MAIL.com {@type: type.googleapis.com/google.cloud.audit.AuditLog, authenticationInfo: {…}, methodName: google.cloud.functions.v1.CloudFunctionsService.UpdateFunction, resourceName: projects/MY_PROJECT_NAME/locations/MY_TIME_ZONE_LOCATION/functions/MY_CLOUD_FUNCTION_NAME, serviceName: cloudfunctions.googleapis.com, status… {@type: type.googleapis.com/google.cloud.audit.AuditLog, authenticationInfo: {…}, methodName: google.cloud.functions.v1.CloudFunctionsService.UpdateFunction, resourceName: projects/MY_PROJECT_NAME/locations/MY_TIME_ZONE_LOCATION/functions/MY_CLOUD_FUNCTION_NAME, serviceName: cloudfunctions.googleapis.com, status… ```
并且当我将 ->
替换为 : # ->
以便注释掉所有类型字符串时,它起作用了,因此,类型提示似乎扰乱了 Google 云函数。
是否完全支持类型提示?我怎样才能让类型提示在 Google 云函数中工作?
根据评论,错误出在另一个代码片段中,如下所示:
def f3() -> int, int:
return 4444, 2222
该代码已更正为包含 Tuple
(Union
也有效,但不是一种类型提示中许多类型的默认值):
def f3() -> Tuple[int, int]:
return 4444, 2222