본문 바로가기
반응형

개발150

[python] is 와 == 의 차이점 나는 비교 대상이 None이 아닌 이상 대체로 ==를 사용하기 때문에 이 둘의 차이점을 깊게 생각해본 적이 없다. 근데 오늘 스택오버플로우를 서핑하다가 이와 관련된 글이 눈에 띄어서 읽어봤는데 재밌었다. is는 reference equality. 메모리 상의 두 object를 비교한다. 두 reference가 같은 object를 가리키는지 확인할 수 있다. ==는 value equality. 값을 비교한다. 두 object가 같은 값을 가지는지 알 수 있다. 예시를 보자. >>> foo = 10 >>> dir(foo) == dir(10) True >>> dir(foo) is dir(10) False 동일한 변수의 dir()을 가져왔음에도 이들은 같은 값을 가질 뿐, 같은 object는 아니기 때문에 is.. 2017. 10. 27.
[python] print와 return의 차이점 print와 return은 모두 function이 아닌 statement다. 뭐 이건 제쳐두고, print와 return의 가장 큰 차이점은 함수 및 프로그램에 영향을 주느냐 마느냐이다. print는, 그저 값을 출력할 뿐, 컴퓨터가 이 값을 가지고 무얼 하진 못한다. 변수가 어떤 값을 가지는지 사용자 측에서 편하게 보기 위함이지 함수에는 전혀 영향을 끼치지 않는다. return은, 함수가 값을 반환하는 가장 주된 방법이다. 모든 함수는 어떠한 값을 return하며, 이 return(혹은 yield)이 명시되어 있지 않은 경우에는 None을 return한다. 이 반환된 값은 다른 함수에서 사용될 수 있으며 변수에 저장될 수도 있다. def function_that_prints(): print("I pri.. 2017. 10. 27.
[GitHub] Star와 Fork(Fork와 Clone) 0. 최근 오픈소스에 관심이 생겨 이것저것 찾아보다가 GitHub가 오픈소스 프로젝트에 얼마나 많이 기여하는지 알게 되었다. 언젠가 친구가 나에게 'GitHub가 뭐냐'라고 물었을 때 '코드 공유 사이트다'라고 답한 적이 있는데, 뭔가 시원찮았다.아주 틀린 말은 아니지만 이것만으로는 Github의 역할을 전부 설명할 수 없다. 어쨌든 여차저차한 이유로 GitHub의 기능들을 차근차근 살펴보고 있다. 1. 본론에 앞서 Git과 GitHub의 차이점을 짚고 넘어간다. Git은 분산 버전 관리 시스템(DVCS; Distributed Version Control System)이며, GitHub는 Git을 사용하는 프로젝트를 지원하는 웹 호스팅 서비스이다. Git을 호스팅할 수 있는 사이트는 GitHub 말고도 .. 2017. 9. 28.
프로그램 성능 개선: 코드 미세조정 - 공통된 부분 표현식을 하나로 모으라 - 비싼 연산을 싼 연산으로 대체해라: 연산강도의 감축(reduction in strength) ex. 나눗셈과 나머지 연산은 곱셈보다 훨씬 느리다. 따라서 나눗셈을 곱셈의 역연산으로 대체한다든가, 나누는 수가 2의 승수일 때 마스킹 연산(AND 연산)으로 나머지 연산을 대체하면 성능을 개선할 수 있을 것이다. - 루프를 펼치거나 제거하라 루프를 준비하고 실행하는 데에는 시간과 메모리가 든다. 만약 루프가 너무 길지 않다면, 반복주기 내용을 쭉 장성하는 게 더 효율적일 수 있다. for i in range(3): a[i] = b[i] + c[i] 대신 a[0] = b[0] + c[0] a[1] = b[1] + c[1] a[2] = b[2] + c[2] 을 사용하면 .. 2017. 9. 25.
반응형