이번 시간에는 파이썬의 기초 문법 및 지식에 대하여 다뤄 보았습니다.
변수란 데이터(값)을 저장하기 위한 메모리 공간의 프로그래밍상 이름
변수를 이용하여 다양한 데이터들을 저장 및 활용이 가능
변수의 네이밍 규칙
1, 알파벳, 숫자, 언더스코어(_)사용이 가능
2, 의미 있는 단어로 표기
3, 대소문자 구분 가능
4, 예약어 사용은 불가
데이터 타입
1, 정수형(integer) : 양/음의 정수를 표기
2, 실수형(float) : 소수점이 포함된 실수
3, 문자형(string) : 문자형을 나타냄
4, 논리/불린 자료형(boolean) : 참, 거짓의 값
<논리값은 정수형으로도 표현이 가능한데 1은 참값을 의미하고 나머지 수는 거짓을 의미한다.>
연산자의 사용
1, +, - , *, / 같은 기본 연산 사용 가능
2, 추가적인 연산자
ex)
// : 몫을 가져옴
% : 나머지
** : 제곱
3, 문자열 같은 데이터 형태에서도 연산자가 사용 가능
s1 = "abc"
s2 = "def"
print(s1 + s2)
(주의 : 문자열은 문자열끼리만 덧셈이 가능함)
인덱싱(원하는 위치의 데이터 접근 및 변경이 가능)
슬라이싱
리스트 연산
mutable한 성질
리스트 안에는 다양한 형태의 데이터 타입들이 들어갈 수 있음
변수로 리스트를 가리킬 시 같은 메모리 공간을 가리킴 -> 서로 영향을 주기 않기 위해 copy를 해서 사용
1, .copy()사용
2, a[:] 사용
패킹과 언패킹
패킹: 한 변수에 여러개의 데이터를 넣음
언패킹: 한 변수의 데이터를 각각의 변수로 변환
2차원리스트
이차원 리스트의 복사시에는 바깥 부분만 복사되고 안쪽 리스트부분은 복사되지 않는채로 있기 때문에 깊은 복사가 필요하다.
함수의 선언은 파라미터와 출력값으로 이뤄져 있고 각각에 맞는 기능을 수행한다.
자주하는 실수: 종종 문자열을 리턴 할 때 print()를 사용하여 리턴하는 실수를 범하는데 print()는 반환값이 존재하지 않기 때문에 원하지 않는 오류가 나올 때가 있다.
input()을 이용하여 입력값을 받아 올 수 있다.
온도를 받아와서 출력하는 예시 코드
프린트문을 사용하는 다양한 예시
1, %문을 사용하는 경우
2, {} , format을 사용하는 경우
3, python3.6이후, PEP498에 근거한 formattin기법
각각의 조건에 맞게 수행을 하기 위한 문법(if, else, elif등이 존재)
"is" VS "=="
is는 메모리의 주소를 비교함
== 는 값을 비교함
"is" 를 사용할 때 주의점
-5부터 256까지의 수는 정적 메모리에 저장
-6같은 수는 새로 메모리를 잡아서 저장함
이에따라, "is" 를 사용할 때, 원하지 않은 결과가 나올 수 있음
숫자를 이용한 조건 설정
"and" 와 "or"를 사용한 조건문 설정
다중 논리값 판단시 all(), any()를 사용
삼항연산자
동일한 기능을 반복 수행하기 위한 문법(for, while등이 존재)
for
while
기타 제어문(break, continue)
break : 반복문을 빠져나옴
continue : 반복문 위에 오는 실행코드를 생략하고, 소속된 반복문/조건문의 조건식 부분으로 다시 수행
반복문안에서의 else문
반복문이 다 수행된 후 이후 작업을 명시
문자열 인덱싱
다양한 메소드의 지원
전체 메소드 사항은 파이썬 Reference를 참조하자
https://docs.python.org/ko/3/library/stdtypes.html#text-sequence-type-str
개행문자 처리
1, """ """ 따옴표의 사용
2, \n을 사용
3, 기타 특수문자는 \를 사용하여 표현함
C 언어의 경우 Call By Value, Call By Reference 방식을 사용
지역변수와 전역변수
지역변수 : 함수 내에서만 사용
전역변수 : 프로그램 전체에서 사용
전역변수를 함수 안에서 사용 하고 싶으면 "global"키워드를 사용
재귀함수의 사용
자기 자신을 호출하는 함수
종료 조건을 설정하는 것이 중요하고 잘 설정되지 않으면 무한루프에 빠질 수 있다.
function type hint
파라미터 타입이나 리턴 타입을 명시 해 줄 수 있는 기능
docstring
주석과 함수의 타입들을 명시 해 줄 수 있다.
함수는 어떻게 짜는 것이 좋을까?
1, 함수는 가능하면 짧게 작성할 것
2, 함수 이름에 함수의 역할, 의도가 명확히 들어낼 것
3, 하나의 함수에는 유사한 역활을 하는 코드만 포함
4, 인자값은 값을 바꾸지 않는 것이 좋음(ex - 리스트로 인자를 넘길 시 복사를 해서 사용)
5, 공통 코드는 함수로 작성
Naver BoostCamp AI Tech - edwith 강의
https://dasima.xyz/javascript-break-continue/
https://rfriend.tistory.com/327
https://docs.python.org/ko/3/library/stdtypes.html#text-sequence-type-str
https://m.blog.naver.com/PostView.nhn?blogId=acornedu&logNo=220934409189&proxyReferer=https:%2F%2Fwww.google.com%2F