밑져야
2024-01-04 TIL 본문
1. 파이썬 기초 문법 - 변수 선언
먼저 파이썬에서 변수를 선언한다는 것의 의미는 특정한 위치에 어떠한 값을 저장해둘 것을 의미한다
예를 들면,
a = 0 이라고 변수 선언을 하게되면
0 이라는 값을 a라는 상자안에 넣어두겠다

라는 의미로 해석할 수 있다.
이 때 박스 안에 넣어줄 수 있는 값의 종류에는 크게 숫자형과 문자형, Boolean 자료형이 있는데,
각각에 대해 간략히 설명하자면 숫자형은 단어 그대로 숫자형의 값을 의미하는 것으로
수의 형식이 때문에 당연하게도 사칙연산이나 제곱, 더 나아가서는 나누어준 후 몫과 나머지를
구하는 연산 같은 기본적으로 숫자로 가능한 연산이라면 무엇이든 할 수 있다.
두번째로 문자형은 특정 기호나 단어부터 문자로 표현할 수 있는 값을 의미하며, 값의 양쪽에
' ' 를 붙이는 방식으로 이 값이 문자형이라는 것을 구분해줄 수 있다.
이때 주의해야 할점은 숫자 또한 양쪽에 ' ' 를 붙임으로서 이를 문자형으로 저장할 수 있는데
예를 들어 a = 2 라고 선언하면 여기서의 2는 수를 의미하게되지만.
a = '2' 라고 선언하면 여기서의 2는 문자가 되므로 추후 이 값을 더하거나 빼는 등
일반적인 수처럼 연산하는 것이 불가능하게 된다.
마지막으로 Boolean 자료형은 특수한 자료형으로 이 데이터에는 오직
True 와 False 두가지 값만이 존재한다.
주로 숫자형의 연산을 행할 때, 비교 연산자의 결과로 나타내기 위해 쓰이며

숫자형의 값과 마찬가지로 논리연산자를 적용하는 것이 가능하다

주의해야 할점으로는 Bool 자료형을 적을 때, 첫 철자를 대문자로 적어야한다는 것인데
그렇지 않으면 이를 변수명이라고 인식에 오류가 발생한다.
-------------------------------------------------------------------------------------------------------------------------------------
2. 파이썬 기본 문법 - 문자열 편집 방법
파이썬에서 글을 데이터로 사용하려면 데이터를 저장할 때, 양쪽에 쌍따옴표 " " 를 붙여주면 된다.
쌍따옴표로 감싸준 문자열은 안에 띄어쓰기가 있던 다른 문자가 있던 안에 있는 것들은 모두
문자 데이터, 문장으로 이루어진 데이터로 인식하게 된다.
변수 선언을 이용해서 두가지의 서로 다른 문자열 데이터를 저장해놓았을 때,

위처럼 연산자를 적용하여 서로 붙여줄 수 있다.
또한 원하는 문자열 앞에 len() 을 이용하여 지정한 문자열 데이터가 몇 글자로 이루어져 있는지 셀 수있다.

이 때 저장한 문자를 편집할 수 있는 방법 중에 인덱싱과 슬라이싱이이라는 것이 있는데
저장한 문자열 데이터의 문자들을 컴퓨터가 맨 앞에서부터 각각 0 ~ n 의 순서를 부여하게 되는데,
각각의 문자에 순서를 지정하는 것이 곧 그 문자의 '인덱스' 이므로 이 작업을 인덱싱이라고 지칭한다.
이를 이용하여 저장한 문자 데이터에서 원하는 문자만을 뽑아오거나 삭제하는 등의 작업을 할 수 있다.

그 중, 이들 문자 중 일부를 자르거나 뽑아오는 것을 슬라이싱이라고 부르며
변수명 뒤에 대괄호 [ ] 를 붙이고 그 안에 원하는 명령어를 적는 것으로 이를 수행할 수 있다.

저장된 문자열을 특정한 기호나 문자를 기준으로 모두 자르고 싶을 때는
.split( '기준이 되는 문자' ) 활용할 수 있다

물론 앞의 두 방식을 동시에 쓰는 것도 가능하며, 순서대로 각각 대괄호 안에 넣어주면 된다.

-----------------------------------------------------------------------------------------------------------------------------
3. 파이썬으로 조건문과 반복문 만들기
파이썬에서 조건문이란 기본적으로 if 를 사용하는 문법을 의미하여,
if 로 묶어준 조건이 만족되었을 때, 특정 코드를 실행하도록 하는 문법을 의미한다.
이때, 들여쓰기를 하는 것이 아주 중요한데, 파이썬 문법에서의 들여쓰기의 의미는
들여쓴 행이 앞의 행의 하위에 들어간다는 것을 뜻하므로,
간단하게 말하면 a * ( b + c ) 라는 수학 공식이 있다면
파이썬에서는 b + c 를 들여쓰기를 통하여 먼저 수행해주는 것이다.
다른 프로그래밍 언어의 ( ) 와 sql의 서브 쿼리문 같은 것을 떠올리면 될 것이다.
또한 들여쓰기를 하기전에 : 를 쓰는 경우가 많은데, 여기서 콜론의 뜻은
들여쓰기를 하기 전 상위행에 해당하는 문장이 여기서 끝났음 을 명시하기 위해 존재하는 것이다.
다음은 if 문의 예시이다.

예시처럼 if 문 안에 조건을 명시하면 컴퓨터는 주어진 값(예시의 money)이 조건에 대하여
True 인지 False 인지 Bool 형 데이터로 판단을 하는 과정을 거쳐서
True 일 경우 명령한 값을 출력해주게 된다.
if 문에 else 와 elif 를 같이 사용하는 것으로
여러가지 조건을 동시에 주는 것이 가능하다

SQL에서 case when 문 그리고 else 를 떠올리면 쉽게 이해할 수 있다.
다음으로는 반복문 즉 for ~ in 을 사용한 문법이다.
어떠한 값에 대하여 똑같은 작업을 반복적으로 수행하고 싶을 때 이용하는 문장이다.
예를 들어 아래와 같은 리스트가 있다고 가정했을 때,

만약 이 리스트에서 if 조건문 만을 활용하여 나이가 20보다 큰 사람만 출력하려고 한다면,
리스트 안에 8명의 사람이 있으므로 같은 조건문을 각각의 사람에게 대입하여
결과를 출력해야 한다.
하지만 리스트의 모든 값들에 대하여 같은 조건문을 적용해주고 싶다며 반복문을 통하여
아래처럼 해결할 수 있다.

응용하여 이 조건문을 원하는 결과가 나올때까지만 반복하다가 멈추고 싶을 때,
언제까지(조건문) 반복하고 멈출 것인가를 조건으로 주고
break 문을 사용하여 원하는 값까지 출력하고 난뒤 반복문을 종료하도록 설정할 수도 있다.

심화 예시 1)
문제에서 주어진 리스트안의 값들 중 짝수만 추출하여 출력하라는 문제가 있을 때,
반복문, 조건문, 그리고 짝수는 2로 나누게 되면 나머지가 0이라는 점을 이용하여 문제를 해결할 수 있을 것이다.

자세히 해설하자면,
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4] 라는 리스트가 주어졌을 때,
for num in num_list:
## num_list 안의 숫자들을 간단하게 num 이라는 명칭으로 지칭해준다.
## num_list 안에서 num 이라는 값에 대하여 아래의 조건문을 반복할 것이다, 무엇을 반복해주냐면 ~
if num % 2 == 0:
## 위의 반복문에서 등장하는 num 이라는 변수에 값을 하나씩 대입해가면서 2로 나누는 과정을 반복할 것이다
## 그리고 반복하는 중에 num에 넣어준 값이 2로 나누었을 때의 나머지가 0과 같다면 ~
print(num)
## 이 조건을 만족하는 num 값을 출력해줄 것이다.
심화 예시 2)
리스트 안의 자연수 중 가장 큰 숫자만을 출력하고자 한다면,
마찬가지로 반복문과 조건문, 그리고 대입한 숫자들간의 크기 비교를 반복하여 문제를 해결할 수 있다.
자세히 해설하자면,
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4] 라는 리스트가 주어졌을 때,
max_value = 0
## 우선 연산에 사용하기 위해 max_value 라는 값을 0으로 지정해준다
for num in num_list:
## num_list 안의 숫자들을 간단하게 num 이라는 명칭으로 지칭해준다.
## num_list 안에서 num 이라는 값에 대하여 아래의 조건문을 반복할 것이다, 무엇을 반복해주냐면 ~
if num > max_value:
## 만약 num 값이 max value 안이 값보다 크다면 ~
max_value = num
## max_value 는 num 이랑 같게 된다.
## 이말은 곧 처음에 우리가 설정해둔 max_value의 값이 0이였으므로 리스트 안에서 그보다 큰 숫자를
만나게 된다면 0이, 그 num 값으로 바뀌게 된다는 뜻이다.
## 이 조건문에서는 처음으로 1이라는 값을 만나게 되는데 이는 기본으로 max_value 지정된 0보다 큰 수이므로
max_value가 1이 되게 될 것이고, 그 뒤에 2를 만난다면 또 더 큰 값인 2로 바뀌게 된다
이를 반복하게 된다면, max_value가 가장 큰 값인 6이 될때까지 자신의 값을 비교 대상인 num 값과 같게 만들것이고,
비교했을 때, 더 크지않다면 자신의 값을 그대로 두므로 가장 큰 값 하나만이 max_value라는
변수안에 남아있게 되는 것이다.
print(max_value)
## 앞에서 이 일련의 반복문과 조건문을 모두 통과한 max_value 값을 출력한다면
리스트 안에서 가장 큰 숫자인 6만 남아있는 것을 알 수 있다.
----------------------------------------------------------------------------------------------------------------------------
'TIL' 카테고리의 다른 글
| 2024-01-06 TIL (1) | 2024.01.07 |
|---|---|
| 2024-01-05 TIL (0) | 2024.01.05 |
| 2024-01-04 TIL (1) | 2024.01.03 |
| 2024-01-02 TIL (0) | 2024.01.02 |
| 2023-12-29 TIL (3) | 2023.12.29 |