AttributeError:“ builtin_function_or_method”对象没有属性“ isalpha”

时间:2020-06-30 02:14:14

标签: python attributeerror

当我尝试使用“ 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)

2 个答案:

答案 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} }方法,就像字符串一样。

相关问题