Python中的函数参数转换

Python中的函数参数转换,python,function,type-conversion,Python,Function,Type Conversion,将我的问题改写如下: 当输入整数时无法将参数转换为字符串时,告诉参数为字符串有什么意义 我知道我们可以使用str()将整数转换为字符串,但这不是我想要的答案 在parameter中输入gss运行代码后, 我收到了1张。然而,当我查找这个结果的类型时,它显示为NoneType 为什么这不是绳子 gss=1 convert_gss_to_str(gss) 1 type(convert_gss_to_str(gss)) Nonetype 我运行了下面的代码,认为整数1将转换为字符串“1” 但是,

将我的问题改写如下:

当输入整数时无法将参数转换为字符串时,告诉参数为字符串有什么意义

我知道我们可以使用str()将整数转换为字符串,但这不是我想要的答案


在parameter中输入gss运行代码后, 我收到了1张。然而,当我查找这个结果的类型时,它显示为NoneType

为什么这不是绳子

gss=1
convert_gss_to_str(gss)
1
type(convert_gss_to_str(gss))
Nonetype

我运行了下面的代码,认为整数1将转换为字符串“1”

但是,我收到了以下错误: TypeError:convert_gss()缺少1个必需的位置参数:“gss”

有什么建议我做错了什么吗

gss = 1

def convert_gss_to_str(gss: str):
    print(gss)

convert_gss_to_str()
只需使用内置函数
str

>>> gss = 1
>>> str(gss)
"1"
此函数接受一个非可选参数
gss
,不返回任何内容,因此其返回类型为
Nonetype
。如果您想进行实际转换,可以使用Sawel建议的内置函数
str()

对于
print()
,类型转换实际上不是必需的,因为它将以任何方式打印整数

def convert\u gss\u to\u str(gss:str):
...
这只是一个类型提示

有关更多信息,请阅读

虽然这些注释在运行时通过通常的注释属性可用,但在运行时不会进行类型检查。相反,该提案假设存在一个单独的离线类型检查器,用户可以自动运行其源代码。本质上,这样的类型检查器充当非常强大的过梁


您需要将参数传递到函数中<代码>将\u gss\u转换为\u str(gss)。返回
str(gss)
也是有意义的,因为这似乎是函数的目的。这是否回答了您的问题@亚历克你好,亚历克。如果不使用str(gss)返回,则返回的类型为NoneType。为什么我必须指定我已经告诉函数gss是字符串的时间。即使当我返回结果时,函数中也没有错误。您能提供建议吗?与其他语言不同,python中的参数类型是可选的。事实上,它不会强制您传递给它的对象。如果要从函数接收特定值,必须指定它返回的值。默认情况下,返回类型为
None
,这就是您看到
Nonetype
的原因。当显式返回字符串时,返回类型将是
str
@ThomasHesse。它不限制参数的类型,只是一个提示。将参数设置为str有什么意义?那么,当它不转换时,它的目的是什么呢?它只是声明它将是字符串吗?但在本例中,我输入了integer,当我特别告诉python它将是string时,为什么python会传递我的integer?只是为了澄清,该参数应该是string,它不会进行转换。您可以通过在函数内部打印
print(type(gss))
来测试它,它将打印
@Arh1113,因此除了澄清之外,没有其他目的,除了说明gss将是字符串?
def convert_gss_to_str(gss: str):
    print(gss)