AttributeError: 'builtin_function_or_method' object has no attribute 'isalpha'
AttributeError: 'builtin_function_or_method' object has no attribute 'isalpha'
当我尝试像这里一样使用“isalpha()”函数时:
def find_chars(string):
num_letter = 0
num_int = 0
num_spec = 0
for i in string:
i_str = i.lower
if i_str.isalpha():
num_str +=1
elif i.isdigit():
num_int += 1
else:
num_spec += 1
return num_letter, num_int, num_spec
我得到以下内容
AttributeError: 'builtin_function_or_method' object has no attribute 'isalpha'
如果有帮助,我正在使用 python 3.6.9(使用 google colab)
问题出在上面那行
i_str = i.lower
应该是:
i_str = i.lower()
i_str
的类型更改为使用该分配函数。
正如 user2357112 支持 Monica 所说,您忘记了 i.lower
中的括号
def find_chars(string):
num_letter = 0
num_int = 0
num_spec = 0
for i in string:
i_str = i.lower() # <-- Added parenthesis
if i_str.isalpha():
num_str +=1
elif i.isdigit():
num_int += 1
else:
num_spec += 1
return num_letter, num_int, num_spec
由于您忘记了括号,您正在将一个函数分配给一个变量,因此当您尝试执行 i_str.isalpha()
时,该变量(现在包含一个函数)没有 isalpha()
像字符串一样的方法。
当我尝试像这里一样使用“isalpha()”函数时:
def find_chars(string):
num_letter = 0
num_int = 0
num_spec = 0
for i in string:
i_str = i.lower
if i_str.isalpha():
num_str +=1
elif i.isdigit():
num_int += 1
else:
num_spec += 1
return num_letter, num_int, num_spec
我得到以下内容
AttributeError: 'builtin_function_or_method' object has no attribute 'isalpha'
如果有帮助,我正在使用 python 3.6.9(使用 google colab)
问题出在上面那行
i_str = i.lower
应该是:
i_str = i.lower()
i_str
的类型更改为使用该分配函数。
正如 user2357112 支持 Monica 所说,您忘记了 i.lower
def find_chars(string):
num_letter = 0
num_int = 0
num_spec = 0
for i in string:
i_str = i.lower() # <-- Added parenthesis
if i_str.isalpha():
num_str +=1
elif i.isdigit():
num_int += 1
else:
num_spec += 1
return num_letter, num_int, num_spec
由于您忘记了括号,您正在将一个函数分配给一个变量,因此当您尝试执行 i_str.isalpha()
时,该变量(现在包含一个函数)没有 isalpha()
像字符串一样的方法。