728x90

011. for문 - list와 for문의 변수 작동원리 이해

 

 

종종 for문이 반복되면서 이게 식안에서 어떻게 작동되는지 햇갈릴 때가 있었다. 어떤 때는 잘 알겠고 어떤 때는 햇갈려서 뭘 모르는지 잘모르는 상태였는데 계속 보다보니 

range를 사용하면 숫자여서 이해하기가 좀 쉬웠는데 변수명이 들어간다거나 다른 자료형이 들어가면 햇갈리는 걸 발견했고, 어떻게 작동하는지 방법을 찾아내서 팁을 공유할까한다.

 

<문장 안에서 해당 코드가 어떻게 작동하는지 확인하는 팁!>

print() 함수를 알고 알고 싶은 코드 중간중간에 넣어서 해당 값이 어떤건지 출력하게끔해서 중간중간 값을 체크하면 어떻게 돌아가는지 알 수 있다. for문 뿐만 아니라 다른 곳에서 가능!!

 

 

 

728x90
반응형
728x90

010. for문 - dict와 for문의 받는값 & tuple

위는 for문에 연산자 in으로 딕셔너리 값을 받아서 값을 도출하는 식이다

 

for문에 딕셔너리 값을 받으면 뭘로 값이 나올까?

키값이 나온다

 

for문의 결과값을 밸류값으로 받고 싶다면?

변수명.values()

 

for문의 결과값을 키값, 밸류값 둘 다 받으려면?

변수명.items()

 

for문에서 tuple은 for문의 변수를 두개 써도 된다

ex) for a,b in dData:

예처럼 a와 b 두개의 변수를 써도 된다. 튜플로 변수을 지정할 때 괄호를 생략해도 튜플로 인식하는거랑 같다

(원래는 양쪽 다 괄호를 쳐줘야한다)

 

 

728x90
반응형
728x90

009. while문 - 가진 물품수에서 판매될시 차감 및 소진시 

 

 

내가 만약 자판기의 자동화를 프로그래밍 한다면?

이라는 자기물음에 매번 단순한 변수지정이나 +1을 많이보다가 -1로 한정된 재화 안에서 소진되는 물품을

만들 때 자주 쓰일 것 같아서 복습하기 위해 가져왔다.

 

유용한 쓰임새

한정된 재화 안에서 소진되는 물품의 수 카운트할 때

728x90
반응형
728x90

008. 초기값 지정의 의미 

 

 

초기값 지정이란?

위의 이미지처럼, 미리 변수를 만들어두는 것이다.

 

초기값 지정이란 용어를 왜 알아야할까?

일을 혼자하는게 아닌 협업이기 때문에 이런 용어들을 알아야 소통이 쉬워진다!

 

초기값 지정, 왜 하는걸까?

복잡한 여러 식과 계산을 하기 전에, 미리 변수를 만들어둔다. 변수는 프로그래밍에서 어떤 값이나 데이터의 주소를 저장해두는 공간이라고 할 수 있다. 즉, 복잡한 식들에서 중간의 값을 저장해두거나 결과값을 도출하기 위해 쓴다고 볼 수 있다. 

위의 예제에서 처럼 

728x90
반응형
728x90

007. str과 repr 차이

 

 

 

여러 자료 찾아보다가 그나마 이해가 잘되는 분의 글을 기억할려고 캡쳐해뒀는데 누구인지까지 캡쳐가 안되서 작성자분 보시면 양해부탁드립니다ㅠㅜ

 

__str__과 __repr__

배우던 도중 퀘스쳔 마크가 뜬 것과 위의 둘이 관련이 있어서 찾아찾아보게되었다

사실 이 글을 쓰는 지금도 정확히 파이썬에서 어떻게 어우려서 작동하는지 완전히 이해하지 못했다

앞으로도 계속 배울꺼지만 일단 잊지않게 복습해둔다

 

간단하게 둘은 메소드(method)이며,

__str__ : 사람이 보기(인식) 쉽게 출력하는 방법 // 객체의 비공식적 문자열 출력

__repr__ : 컴퓨터가 인식할 수 있게 출력하는 방법 // 객체의 공식적 문자열 출력

 

주피터를 쓰면서 변수명을 그냥 적으면 print()를 쓰지 않아도 결과값이 출력이 되는데

위의 이미지처럼 결과 값이 다르다

그래서 다시 한번 관심을 갖게 되었는데 이번에 새로 알게 된 것은, 

 

변수명만 선언한 것이 __repr__이고, 주피터에서 자동으로 이렇게 한다고 한다.

print() 함수를 사용한게 __str__이다.

 

 

 

 

datetime 모듈을 써보다가 __repr__ 과 __str__의 출력 차이가 모듈에서 이렇게 날 줄 몰랐다...ㄷㄷ

차차 더 깊은 이해를 위해 나올 때마다 찾아보고 물어봐야겠다

아직은 찾아보다가 이해도 다 안되고 번아웃 될 것 같아서 패스

 

*프로그램에서 편의를 위해 자동적으로 이것저것 해주는 것만큼 왜 그런지 작동 원리를 알고,

더 내 수족처럼 사용할 수 있게 정진해야겠다!!!

 

728x90
반응형

+ Recent posts