it공부 (개념)/python 3

enumerate(이뉴머레이트) 함수: 배열의 인덱스와 값에 함께 접근해보자/ 파이썬

enumerate? 뜻: 하나하나 세다 파이썬 함수: 순회 가능한 객체를 입력받고 enumerate 오브젝트를 반환하는 함수 *다시 말하자면 string, list, tuple 등 [0]과 같은 인덱스로 접근가능한 자료구조를 인자로 받아들인다. 그리고 마찬가지로 비슷한 구조를 가진 enumerate 라는 객체를 반환한다. enumerate오브젝트? loop문으로 순회가 가능한 객체이다. 입력받은 인자의 인덱스 번호 및 성분을 함께 담고 있는 튜플을 원소로 갖는다. example = [x,y,z] enumerate(example) 이 반환하는 객체는 다음과 같은 값들을 갖는다. (0,x),(1,y),(2,z) 성분을 보고 싶다면 list()를 통해 리스트로 변화시키면 된다. * tuple()도 가능하나 s..

__init__? 파이썬 magic method(매직메서드)란?

Python icons created by Freepik - Flaticon 파이썬에선 class를 통해 객체를 선언할때, 객체 내부 변수들을 선언하면서 초기화해주는 메서드가 있다. class HelloWorld: def __init__(self): self.class_variable = 0 def는 새로운 함수를 정의할때 사용하는 keyword이다. 그러므로 우리는 __init__ 이라는 이름을 가진 클래스 메서드를 새로 만든것이다. import HelloWorld helloworld = HelloWorld() helloworld.__init__() 클래스메서드를 사용하려면 호출을 해줘야한다. ..? 조금 이상한점을 느끼지 않았는가? 우리는, 적어도 나는 객체를 만든후 저런식으로 초기화 메서드를 호출하..

반복문을 사용하여 List를 수정할때에는 새로운 List를 만들자.

반복문을 사용하여 list의 element를 수정하고자 할때에 list에저장된 값에 변화가생긴다면 의도와는 다른 결과가 종종 나오곤 한다. list의 i번째 값이 0 이라면 그 다음값은 1로 바꾸는 코드를 짜보자. [0,0,0] ->[0,1,1] 이것을 아무생각없이 for loop로 구현해보면 olist = [0, 0, 0] for i in range(len(olist) - 1): if olist[i] == 0: olist[i+1] = 1 print(olist) 결과값 [0, 1, 0] 을 얻을 수있다. 중간에 olist[1]의 값이 1로바뀌었기때문에, olist[2]의 값이 변하지 않게 되는것이다. 그래서 리스트를 직접 수정한다기보단 새로운 리스트를 만들고, 기존 리스트에 덧씌우는것을 추천한다. 1. ..