当我尝试使用“ 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)
答案 0 :(得分:0)
问题在上面的行中
i_str = i.lower
应为:
i_str = i.lower()
i_str
的类型已更改为可用于该分配。
答案 1 :(得分:0)
正如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()
时,变量(现在包含函数)没有{{1} }方法,就像字符串一样。