KyleXID

몬스터코딩

코드 정리, 파이썬 get함수, hasattr

2019-05-09 KyleXIDTIL

Vim 코드 길이 정리

일반적으로 vim은 80자가 넘으면 가독성이 좋지 않으므로, 자르는 것이 좋다.

Python Get 함수

파이썬 get은 dictionary에서 key값으로 value를 얻을때 사용한다.

get(key)은 key값이 없을경우 None을 반환한다.
반면 d[key]로 접근하면 key값이 없을 경우 오류가 발생한다.

get(key, []) 와 같이 응용할 수 있다. key값이 없으면 []을 반환한다.
get(key, default)로 생각하면된다. key값이 안올 경우 default값을 반환하는 것.

hasattr을 이용한 존재 여부 확인

오브젝트에서 해당 존재 여부를 확인할때 사용 할 수있다.
request에서 해당 존재를 확인할 때, 이 방법으로 사용하지않고 다른 방법으로 접근하면 request에는 원래 user라는 항목이 없기 때문에 에러메세지가 뜬다. 대신 hasattr로 하면 True, False 를 반환한다.

이 외에 getattr , setattr 등이 있다.

getattr은 해당 오브젝트에 변수의 값을 가져오는 method이다.

setattr은 해당 오브젝트에 변수에 값을 설정하는 method이다.

class sample:
    def __init__(self, value):
        self.value = x

	.
	.

test = sample(50)
test.value = 50

위와 같은 오브젝트를 만들고

hasattr(test, 'value')
>True

getattr(test, 'value')
>50

setattr(test, 'value', 10)
test.value
>10

이런식으로 할수있다.