这个 Python 函数参数是什么意思?
What Does This Python Function Argument Mean?
我在网上看到了以下代码:
class Solution:
def myAtoi(self, str: str):
#function does something here
我不熟悉函数的第二个参数类型str:str
。参数的名称是什么?
我试着 Google 它,似乎 str
是参数的名称。我认为你不能使用类型作为参数的名称。
谁能解释一下它是如何工作的?那么我将如何在我的函数中引用每个 variable str
和 type str
?
此函数是 class 的一个方法,它采用 class(self)和一个字符串的实例,并且(应该)returns 是一个整数。 (名字Atoi是ascii转整数)。
冒号后面的部分是类型提示,通过告诉用户您希望参数类型为 str
来让您的代码对用户更友好,尽管 Python 赢了' 为您强制执行,您仍然可以将其他类型传递给该函数。
-> int
部分也是如此——这意味着该函数应该 return 一个整数(因为你是写它的人,应该是这样的)但是又一次, Python 不会强制这是从函数 return 编辑的实际类型。
第一个 str 是变量的名称,它覆盖函数范围的内置类型名称 str
。 这是一种不好的做法,应该避免。这很混乱,可能会导致意外的错误和错误。
这是一种不好的做法,因为它要求您使用 work-around 来访问内置类型 str
。
让我们看下面的例子:
def foo(str, a):
return str + str(a)
foo("Hello", 5)
当尝试执行那段代码时,我们将收到 TypeError
:
TypeError: 'str' object is not callable
因为该函数不会像在该函数的范围内那样尝试访问内置类型 str
,所以名称 str
指的是局部变量(这也是一个非常令人困惑的部分代码)。
如果我们想要访问内置类型 str
并保留变量名 str
,我们将必须执行如下操作:
import builtins
def foo(str, a):
return str + builtins.str(a)
foo("Hello", 5)
现在可以工作了 return 我们:Hello5
。
如您所见,最简单的解决方法就是将变量名重命名为其他名称:)
我在网上看到了以下代码:
class Solution:
def myAtoi(self, str: str):
#function does something here
我不熟悉函数的第二个参数类型str:str
。参数的名称是什么?
我试着 Google 它,似乎 str
是参数的名称。我认为你不能使用类型作为参数的名称。
谁能解释一下它是如何工作的?那么我将如何在我的函数中引用每个 variable str
和 type str
?
此函数是 class 的一个方法,它采用 class(self)和一个字符串的实例,并且(应该)returns 是一个整数。 (名字Atoi是ascii转整数)。
冒号后面的部分是类型提示,通过告诉用户您希望参数类型为 str
来让您的代码对用户更友好,尽管 Python 赢了' 为您强制执行,您仍然可以将其他类型传递给该函数。
-> int
部分也是如此——这意味着该函数应该 return 一个整数(因为你是写它的人,应该是这样的)但是又一次, Python 不会强制这是从函数 return 编辑的实际类型。
第一个 str 是变量的名称,它覆盖函数范围的内置类型名称 str
。 这是一种不好的做法,应该避免。这很混乱,可能会导致意外的错误和错误。
这是一种不好的做法,因为它要求您使用 work-around 来访问内置类型 str
。
让我们看下面的例子:
def foo(str, a):
return str + str(a)
foo("Hello", 5)
当尝试执行那段代码时,我们将收到 TypeError
:
TypeError: 'str' object is not callable
因为该函数不会像在该函数的范围内那样尝试访问内置类型 str
,所以名称 str
指的是局部变量(这也是一个非常令人困惑的部分代码)。
如果我们想要访问内置类型 str
并保留变量名 str
,我们将必须执行如下操作:
import builtins
def foo(str, a):
return str + builtins.str(a)
foo("Hello", 5)
现在可以工作了 return 我们:Hello5
。
如您所见,最简单的解决方法就是将变量名重命名为其他名称:)