Python에 대해서 공부한 기초 내용을 정리하는 글
목차
Python - 제어문의 이해
1. 조건문
특정 조건의 참, 거짓에 따라 작성한 코드가 동작할지 말지를 결정
if (조건) :
실행할 문장
elif (조건) :
실행할 문장
else :
실행할 문장
1.1. 들여쓰기 - ★
- if 문을 작성하면서 실행할 문장을 들여썼는데, 매우 중요! → 영역 구분
- 공백은 tab, space 전부다 가능하지만 같은 공백만을 써야 하는 것을 절대 주의
1.2. 조건문의 참,거짓
자료형의 참, 거짓
- 숫자형 : 0이 아닌 수 → 참
- 문자열 : 비어 있지 않으면 참
- 리스트 : 위와 동일
- 튜플 : 위와 동일
- 딕셔너리 : 위와 동일
1.3. 비교 연산자
- >, < : 크다, 작다
- >=, <= : 크거나 같다 or 작거나 같다.
- == : 같다.
- != : 같지 않다.
그 외 연산자
and, or, not, in, not in
2. 반복문
어떤 작업들이 반복적으로 사용할 떄 사용
2.1. for 문
2.1.1. for 문의 기초 문법
for 변수명 in 리스트,튜플,문자열 :
실행할 문장
실행할 문장
2.1.2. range() 함수
range(100): [0,1,2,3,4,…99]
•즉, range함수는 입력한 숫자에 맞는 리스트를 만들어 줌
range(10,50)
10부터 50미만까지
range(11,50, 2)
11 13 15 17 …
2.1.3. 자료형과 활용
※ dict : items()로 반환을 하면 key와 value값들이 튜플 형태로 리스트안에 담겨져서 나옴.
튜플의 값의 개수에 맞게 변수명을 써주면 값이 쪼개져서 각각 값이 들어가게 됨.
2.2. while 문
특정 조건을 만족할 때까지 반복함.
while (조건) :
실행문
2.3. input 함수
•사용자로부터 입력을 받는 함수
•뒤에 문자열을 출력해주고 사용자의 입력을 기다림
•엔터가 입력될때까지 입력받음
user_input=input('input : ')
while (user_input == 'quit') :
user_input = input('종료하려면 quit를 입력해주세요.')
print('quit')
3. 반복문의 활용
3.1. break문
- 반복을 하긴 하는데 반복을 나가고 싶을 떄 활용
- ex. 조건을 주고 조건을 만족하면 break하도록 코딩
- while문의 조건문이 복잡하여 풀어쓰기 위해서도 사용됨.
- while True :
if data == '0' :
break
print('test1')
3.2. continue 문
- 반복을 하긴 하는데 특정 경무만 건너뛰고 싶을 때 활용
- ex. 중첩 조건문이 많아 코드 들여쓰기가 많은 경우 continue를 활용하여 가독성 향상
- 원하는 정보가 없어서 해당 데이터만 건너뛸 경우 활용도 가능.
→ 즉 예외되는 조건들만 적어서 cotinue 문으로 작성해두고
나중에 최종으로 진행할꺼면 밑에 놔두면 가독성이 많이 향상되는 코드를 얻을 수 있다는 게 핵심.
※ while문에서 cotinue 사용 시 무한 반복될 수 있으니 꼭 빠져나가기 위한 조건을 체크하고 작성.
4. 함수
4.1. 함수
- 함수 : 입력값을 받으면 특정 작업을 수행한 후에 결과값을 주는 것
- 다만 함수 중에는 입력값이 없을 수도, 결과값이 없을 수도 있음.
4.1.1. 사용자 정의 함수란?
그런데 이런 함수를 사용자가 직접 함수를 정의하여 활용할 수도 있음.
같은 코드가 길게 반복되는 것을 방지할 수 있음.
사용자 정의 함수
- 함수가 호출 되기 전까지는 함수 안에 있는 문장은 수행이 안됨!
- 함수는 호출 되기 전에 만들어져야 함!
- 입력값은 함수안에서 변수로 사용됨
- 공백 들여쓰기 매우 중요!
def 함수 이름 (매개변수1, 매개변수2, ) :
<실행할 코드>
<실행할 코드>
<실행할 코드>
4.1.2. return문
- 함수를 호출한 곳에 결과값을 전달하는 함수
- 즉 함수를 정의할때 return문이 없으면 결과값이 전달되지는 않음.
- 필요할 떄 사용하
Tip : 함수에 변수 설정할 때 기본값도 설정 가능
→ 즉 변수 개수에 안맞게 변수를 넣어줘도 안넣은 건 기본값으로 해서 처리한다.
→ 또한 변수를 지정해서 넣어줄 수도 있음.
5. 변수의 스코프와 내장함수
5.1. 스코프
- scop : 범위, 영역
- 변수는 처음 사용된 위치에 따라 스코프가 결정됨
- ex. 함수를 정의할 때 사용한 변수는 함수 안에서만 변수지 밖에서 다시 정의를 안해주면 난 몰라
- 이런 스코프는 들여쓰기가 표현되어 있는거로 판단한다
※ 제어문에서의 스코프 - ◆
- 코드의 실행 여부에 따라 변수 생성이 결정됨. (if, else 둘 중에 하나는 무조건 실행되는 경우, 미리 선언하는 방)
5.2. 내장함수
자료형 변환 함수
int() : 변수를 숫자형으로 변환하여 반환
str() : 변수를 문자열로 변환하여 반환
list() : 변수를 리스트로 변환하여 반환
tuple() : 변수를 튜플로 변환하여 반환
dict() : dictionary 변수 생성
- 딕셔너리는 key와 value가 있으니 다른 자료형을 변환하는 함수가 아님.
그 외 함수
len() : 변수의 길이를 변환 →
input() : 사용자로부터 문자열을 입력받음
range() : 리스트를 만들어주는 함수
max,min : 리스트, 튜플 문자열에서 최대 or 최소 값을 반
6. 표준 입출력
6.1. 표준 입출력
- 표준 이란?
- '가장 '기본적인' 입력과 출력을 의미
- 표준 입력 : 키보드 입력
- ex. input() 함수
- 사용자로부터 입력을 받는 함수, 문자열을 출력해주고 사용자의 입력을 기다림.
- 표준 출력 : 모니터 상에 출력
- ex. print() 함수
- 화면에 문자열을 출력하는 함수
6.2. 문자열 포매팅
- 표준 출력을 하기 위해 필요한 문자열을 포매팅
- format() 함수와 { }를 함께 사용하여 서식 지정할수도 있음.
- {}의 순서대로 지정해준대로 들어가는 포맷.
- {} 안에 숫자를 넣어두면 인덱싱
- 슬라이싱도 가능하다!
포매팅의 장점
- 비슷한 형태로 출력을 하고 싶을 때 문자열 형태만 그대로 가져다가 데이터만 집어넣으면 되니까 편리함.
- 즉 포맷 정보와 대입하고 싶은 정보가 분리되는 게 장점.
f- string
print(f'{a} + {b} = {a+b}')
문자열 앞에 f를 놓는 것으로 안에 변수를 넣어줘도 format할 수 있음.
{}와 변수와 같이 표현은 : {{{a}}}로 표현.
마무리
조건문과 반복문 문법 자체는 무난하게 넘어갈 수 있지만 실제로 어떤 조건을 짜내야 하고
조건문이 중첩되고 반복문과 조건문이 섞이는 순간 뇌정지가 올 가능성 농후!
연습을 잘 해놔야 함. (가상의 예제를 통해 숙달이 되어야 함.)
→ 즉 문법이 어려운게 아니라 저런 조건들과 어떻게 반복되는지를 생각해내는 것이
순서 짜내는 것이 제일로 중요하다고 판단.
댓글