[Ep.5] AI-REMEMBER (07.01)

권승민·2021년 7월 1일
0

오늘 학습한 내용 (Fundamental Stage)
: 노드 4. 파이썬으로 코딩 시작하기

♣ 시간관계상 아쉽게도 Fundamental Stage는 4.15절까지만 포스팅 하겠습니다 ㅠㅠ

<4.1~4.5절>

  1. 수학에서의 함수 : 입력값에 대해 출력값을 가지는 관계
  2. 프로그래밍에서의 함수 : 불려진 시점에 작업을 수행. 입력값이 있을 수도, 없을 수도 있다.
  3. 파이썬 print() 실행 결과 : 빈값
  4. 파이썬 print(1) 실행 결과 : 1
  5. 파이썬 print(1+1) 실행 결과 : 2 → 수학에서의 계산과 같음
  6. 프로그래밍 분야에서는 입력값을 다른 말로 인자(argument)라고 한다.
  7. 문자열 : 숫자 대신 글자를 표현하기 위해 '' or "" 로 둘러싸인 글자들의 집합
  8. 문자열은 더하기(+)를 통해 결합이 가능하지만, 빼기(-)는 오류가 발생한다. 예를 들어 print('인공' + '지능') 은 '인공지능'으로 출력되지만, print('인공지능' - '인') 은 오류구문이다.
  9. 문자열을 출력하기 위해서는 반드시 ''"" 를 붙여서 표현해야 한다. 예를 들어 print(something)오류구문이 된다.
  10. def : 파이썬에서 함수를 정의해 주는 예약어이다.
  11. 입력값을 받지 않는 say_hi 함수는 '안녕!'을 출력한다.
  12. 위의 코드와 같이 def는 함수를 정의하는 것이기 때문에, 함수의 정의가 끝나는 시점까지는 반드시 들여쓰기를 유지해야 한다.
  13. 아래 코드와 같이 함수를 정의한 후에 변수를 지정하여 변수를 출력하면 오류구문이다.
  14. 아래 코드와 같이 함수 밖에서 정의된 변수를 읽어와서 함수를 실행하면 '하루'가 출력된다. 뒤이어 name을 '시우'로 재설정하면 이미 name이 함수 내에 내장되어 있으므로 재설정된 name인 '시우'가 출력된다.
  15. 아래 코드가 16번과 다른 점은 코드 세 번째 줄에 있다. 세 번째 줄의 name = '시우'는 그 함수 내에서만의 문자열로 간주되므로 함수를 호출해도 변화가 없다. 첫째 줄의 name 문자열이 그대로 출력되는 것이다.
  16. 따라서, 함수에 옵션을 넣고 싶을 때는 'print(함수 밖에서 정의된 임의의 변수)' 형태로 나타내어 함수를 호출해야 오류가 나지 않는다.

<4.6~4.8절>

  1. 첫째 줄과 같이(마치. y=f(x)와 같이) 함수와 변수를 정의하고 둘째 줄처럼 출력을 실행하면 이전에 살펴보았던 문자열의 더하기와 같은 방식으로 출력된다. 여기서 더하기는 공백도 모두 포함한다.
  2. 위의 코드에서 name은 입력값으로 주어진 인자를 받는 변수로서, 매개변수라고 한다.
  3. 위의 코드에서 외부에서 함수를 호출할 때 넣어 준 '준이'는 매개변수에 대한 인자가 된다.
  4. 위의 코드와 같이 함수가 정의된 상태에서 매개변수 없이 함수만 출력하면 오류가 발생한다.
  5. 이와 같이 함수를 호출할 때는 미리 정의된 입력값을 넣어야 문제가 생기지 않는다.
  6. 아래의 코드와 같이 함수가 정의되었다면, name을 아무 것도 지정하지 않았을 때 기본값인 'somebody'를 출력하고, 이름이 있을 경우에는 그 이름을 출력해준다. 따라서 각각의 함수에 대한 Output은 다음과 같이 나온다.
  7. 함수에 매개변수가 2개 들어가도록 설정되어 있다면, 인자 또한 반드시 2개가 들어가야 한다. 그렇지 않으면 오류가 발생한다.
  8. 함수를 정의할 때 쓰인 인자를 알고 있다면 함수 호출 시 직접 붙이는 것도 가능하다.
  9. 위의 코드에서 name1, name2 이외의 매개변수를 쓰고 인자를 지정할 경우, 오류가 발생한다.
  10. 아래의 코드와 같이 기본값이 있는 인자들이 기본값이 없는 필수 인자들의 뒤에 배치되는 규칙이 있다. 이 규칙을 어기면 오류가 발생한다.
  11. 아래 코드와 같이 add 함수와 매개변수 2개를 지정하고 출력하는 코드에 따라 세 번째 줄의 결과는 정상적으로 3으로 출력된다.
  12. 위의 코드의 네 번째 줄의 오류 사유는 NoneType와 int 간의 +연산은 가능하지 않다는 것입니다. 여기서 NoneType는 add(1, 2)를 의미한다.
  13. 아래의 코드와 같이 함수 실행 결과를 가지고 무언가를 하기를 원하면, return을 이용해서 그 값을 출력값으로 반환하도록 하면 된다.

    ★ 이 부분은 좀 이해하기 어려운 부분이었는데, 혹시 이 코드 이해 되시는 분 있으시면 이 글에 댓글로 남겨주시면 그걸로 이해해 보도록 하겠습니다... ㅠ
    (+) 긴급수정 : 정답 BCAD(X) → DCAB(O)

<4.9~4.12절 : 제어문>

♣ 본 내용은 Python Master에서 다룬 일부 내용이 응용된 부분으로, 이해를 위주로 작성하고 필요한 부분만 정리했습니다.

  1. 파이썬에서 특정 조건에 따라 필요한 횟수만큼 반복 실행하는 등 프로그램의 흐름을 제어할 수 있는 방법이 있다. (if, elif, else, while, for 등)
  2. 피보나치 수는 F(1)=F(2)=1이라고 두고 F(3)부터 그 전전 값과 전 값을 더하여 만들어진 수이다. 예를 들면, F(10) = F(8)+F(9)이다. 피보나치 수를 이용하여 다음과 같이 조건이 참일 동안 반복을 실행하는 while 구문에 적용한 예시이다.
  3. 위와 같은 유한한 반복문을 루프(Loop)라 하며, 무한한 반복문은 무한 루프(Infinite Loop)라고 한다.
  4. for도 루프의 일종이다.
  5. for 루프를 쓰면 순서대로 엮인 값들을 하나씩 처리할 수 있다.
  6. 여기서 순서대로 엮인 값을 프로그래밍에서는 반복 가능한(Iterable) 객체라고 한다.
  7. 문자열 'IRENE'을 for를 이용해 한 글자씩 출력하는 방법이다.

<4.13~4.15절 : 다양한 자료형(부분소수점 수까지..)>

♣ 본 내용은 이전 AI-REMEMBER의 Python Master 영역에서 다루었던 내용이거나 곧 다뤄지는 내용이기 때문에, 자료형에 대한 간단한 구조만 정리하고 넘어가겠습니다.

  1. 파이썬은 숫자가 커지면 알아서 메모리를 더 사용한다. 따라서 아무리 숫자가 곱절로 커져도 크게 신경 쓸 필요는 없다. 가령 1000을 10제곱하면 짐작할 수 없을만큼 엄청난 수가 나오는데, 위와 같은 근거로 정상적으로 출력된 값을 확인할 수 있다.
  2. int : 정수를 나타낸다. 예를 들어 10은 정수이므로 print(type(10))을 실행하면 class가 int로 출력되는 것을 알 수 있다.
  3. float : 정수를 제외한 실수를 나타낸다. 예를 들어 1.1, 3.16은 실수이므로 print(type())에 각각 값을 넣고 실행하면 class가 float로 출력되는 것을 알 수 있다.
  4. 파이썬에서 1과 1.0은 자료형이 다르다. 1은 int이나 1.0은 float로 처리한다.
  5. 1과 1.0은 비록 자료형이 서로 다르긴 하지만, 값의 비교는 같다. 따라서 아래 코드의 첫 번째 줄은 True로 출력되고, 두 번째 줄의 경우는 서로 다른 자료형의 두 값을 더하는 것으로, 정수와 실수를 더하면 실수로 출력된다.
  6. 소수를 표현하는 두 가지 방식은 고정소수점, 부동소수점이다.
  7. 파이썬에서는 부동소수점 방식을 채택하여 활용한다.
  8. 고정소수점 : 정수를 표현하는 비트 수와 소수를 표현하는 비트 수를 미리 정해 놓고,
    해당 비트만큼만 사용해서 숫자를 표현
  9. 부동소수점 : 소수점 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는 것으로,
    유효숫자를 나타내는 가수와 소수점의 위치를 풀이하는 지수로 나누어 표현
  10. 4Byte(32Bit)에 대하여 고정소수점 수에서의 구분은 1Bit(부호)+16Bit(정수)+15Bit(소수)로 구분한다.
  11. 4Byte(32Bit)에 대하여 부동소수점 수에서의 구분은 1Bit(부호)+8Bit(지수)+23Bit(가수)로 구분한다.

오늘 학습한 내용 (Python Master)

♣ 오늘 Python Master는 가족 생일 회식으로 인해 풀잎 시간에 정리했던 내용을 캡쳐하여 올립니다. 제가 작업했던 내역만 올립니다. 더 궁금하다면 파이썬 코딩 도장에서 확인하세요!

16장. for 반복문

17장. while 반복문

18장. break, continue

profile
날개를 달고 날아오르자!

0개의 댓글