2014-07-12 2 views
3

'을 교체하지'가, 거기 속성 오류AttributeError가 'builtin_function_or_method'객체 내 프로그램에서 이것을 사용하려고하면 어떤 속성이

'builtin_function_or_method' object has no attribute 'replace' 

입니다하지만 난 왜 이해하지 못하는 것을 말한다.

def verify_anagrams(first, second): 
    first=first.lower 
    second=second.lower 
    first=first.replace(' ','') 
    second=second.replace(' ','') 
    a='abcdefghijklmnopqrstuvwxyz' 
    b=len(first) 
    e=0 
    for i in a: 
     c=first.count(i) 
     d=second.count(i) 
     if c==d: 
      e+=1 
    return b==e 

답변

6

당신은 뒤에 ()을 배치하여 전화str.lower 방법이 필요합니다

>>> first = "ABCDE" 
>>> first = first.lower 
>>> first 
<built-in method lower of str object at 0x01C765A0> 
>>> 
>>> first = "ABCDE" 
>>> first = first.lower() 
>>> first 
'abcde' 
>>> 
+0

감사 :

first=first.lower() second=second.lower() 

그렇지 않으면, firstsecond 함수 객체 자체에 할당됩니다 너 너무 많이, 나는 올바른 곳을보고 있지 않았다! – 1089

관련 문제