Day1. 5/3일 01 파이썬 기초

이동은·2023년 5월 4일
0
post-thumbnail

01. 파이썬이란?

  • 1991년 네덜란드 개발자 귀도 반로섬이 만듦.
    처음 소규모 프로젝트에 사용하기위해 만들어졌으나 이후 주변 사람들에게 인기를 얻어 완성도가 높은 파이썬이 탄생.
    https://www.python.org/에서 무료로 다운 받을 수 있다.

01-1. 파이썬의 특징

  • 무한 정수를 처리할 수 있다.
  • 문법 구조가 쉽다.
  • 다양하고 뛰어난 모듈이 있다.

02. 파이썬 실행

  • Python shell은 간단한 코드를 작성하는 경우 사용한다.
  • 파이썬 IDLE(Integrated Development and Learning Environment)은 파이썬 ‘통합 개발 환경’ 툴로 우리말로 ‘아이들’ 이라고 한다.
  • ‘통합개발환경’툴이란 프로그램 개발에 필요한 코드 작성,디버깅,실행 등을 위한 툴을 말하는 것으로 쉽게 생각해서 ‘코딩 툴’ 이라고 생각하면 된다.

03. 프로그램 실행 과정

컴파일러와 인터프린터
  • 컴파일 언어는 소스 전체를 실행 파일로 만든 후 기계에서 실행 -> 번역과 같음 ex) c/c++, java
  • 인터프린터 언어는 필요한 소스코드만 그때 그때 실행함. -> 동시통역과 같음. ex) ptyhon

04. 파이참

  • 파이썬의 코드 에디터들의 불편함을 해소하기 위해 만들어진 모듈.
  • https://www.jetbrains.com/ko-kr/pycharm/download/#section=windows 에서 무료 다운로드 받을 수 있다.
  • IDLE이나 Shell 모드처럼 사용 가능하다.(파이참의 실행 단축키는 맥북기준 control + r 버튼을 눌러주면 된다.)

05. 데이터와 메모리

  • 데이터는 위에 그림에서와 같이 숫자, 문자, 음원, 영상, 이미지 등이 있다.
  • 모든 데이터는 메모리에 저장되어 있어야 pc에서 출력이 된다.

06. 변수

  • 변수란 데이터가 저장되어 있는 메모리 공간.

06-1. 변수 선언 및 초기화

  • 수학에서 '='는 같다를 의미하지만 프로그램 언어에서는 숫자 10을 number에 대입한다.라는 의미로 사용된다.
    그리하여 아래 사진과 같이 number를 출력하면 10이라는 출력값이 나오게 된다.

number = 10
print(number)

num이라는 변수를 선언하고 초기화 해주지 않으면 아래 그림과 같이 오류가 발생한다. 항상 변수를 선언할때는 초기화를 같이 해주어야 한다.

06-2. 변수를 사용하는 이유?

  • 변수는 주로 데이터를 재사용 하기 위하여 사용한다.
    아래 사진과 같이 변수만 변경해준다면 일일이 데이터를 변경하지 않아도 된다.

06-3. 변수 작명법

  • 영문사용을 기본으로 한다. 한글을 사용해도 에러는 없지만 발생가능성이 있다.
    myAddress = '대한민국 세종시' ------- O
    print(myAddress)
    나의주소 = '대한민국 세종시' ------ 권장하지 않음
    print(나의주소)
  • 첫 번째는 소문자를 기입한다. (나중에 class라는걸 배우는데 그게 대문자를 사용하기 때문)
    myAddress = '대한민국 세종시' -------- O
    print('myAddress)
    Myaddress = '대한민국 세종시' -------- 권장하지 않음
  • 가급적 데이터의 의미를 파악할 수 있는 명사를 사용
    myWeight = 80
    print(myWeight) 권장
    mw=80
    print(mw) 권장하지 않음
  • 카멜 표기법 또는 스네이트 표기법 사용 (최근에는 주로 카멜 표기법을 사용한다.)
    customerBankAccount='125-01-145826' - 카멜 표기법
    customer_bank_account='125-01-145826' - 스네이크 표기법
    customerbankaccount='125-01-145826' - 권장하지 않음
  • 예약어(파이썬에서 이미 에약된 언어) 사용 금지
    ex) print
  • 특수문자 사용 금지(단, 언더바(_)는 사용 가능)
  • 공백문자 사용 금지
  • 숫자는 사용해도 되지만 첫번째는 금지

07. 자료형(data type) 이란?

효율적인 메모리 사용을 위해서 데이터를 정수형, 실수형, 문자(열)형, 논리형으로 구분한 것.

- 정수: int
- 실수: float
- 문자(열): str
- 논리형: bool (True or False로 구분)

** 정수에 ''가 붙으면 정수가 아니라 문자로 구분하여 아래 그림과 같이 str로 표시된다.

07-2. 자료형 변환이란?

  • 데이터 타입을 변환하는 것으로 파이썬에서 제공하는 함수를 사용한다.
    ex) 정수를 문자로 type casting 하려면 'str'함수를 이용하여 가능하다.

  • catsing을 통하여 다음과 같은 결과를 확인할 수 있다.

07-3. 자료형 변환(숫자)

  • 데이터를 casting을 통해 문자(열)로 변환할 수 있다.
    ex) 논리 -> 정수를 아래 그림과 같이 출력할 수 있다.
    논리형은 True = 1, False = 0으로 나타낼 수 있음.

07-4. 자료형 변환(그 외 데이터)

''과 같은 빈 문자는 bool형으로 변환하였을때, False를
' '과 같이 공백 문자는 bool형으로 변환하였을때, True를 나타낸다.
=> 항상 데이터의 유무를 확인하는 습관을 들여야한다.

08-1. 데이터 입력

  • input() 함수를 이용한 데이터 입력
  • input() 함수를 이용한 데이터는 항상 문자(열)로 표시되므로 정수, 실수, 논리형에 대해서는 형변환을 해줘야 한다.

rInputData = int(input('정수형을 입력하세요.')
print(userInpData)
print(type(userInputData) => <10, 'int'> 라는 값을 얻을 수 있다.

08-2. 데이터 출력

  • print() 함수를 이용한 기본적인 데이터 출력
  • 콤마(,)를 이용한 데이터 연속 출력
  • 포맷 문자열을 이용한 데이터 출력
  • 특수문자 \t를 이용한 탭 기능, \n을 이용한 개행 기능

08-3. format 함수와 형식 문자

  • format() 함수를 이용한 데이터 출력

  • format() 함수의 인덱스를 이용한 출력

  • 형식 문자를 이용한 데이터 출력

    형식문자의 종류는
    %s -> 문자열
    %d -> 정수
    %f -> 실수로 나뉘어진다.

  • 실수의 소수점 자리를 정해주는 방법도 있다.

09-1. 산술 연산자(덧셈, 뺼셈)

연산자란

  • result = data1 + data2의 데이터에서 +, =와 같은 등호의 값이다.

    연산자의 종류
    1) 산술 연산자 : +, -, , /, %, //, **
    2) 할당 연산자 : =, +=, -=, =, /=, %=. //=
    3) 비교 연산자 : >, >=, <, <=, ==, !=(데이터에서는 ==가 같다라는 의미로 사용됨)
    4) 논리 연산자 : and, or, not

  • 정수를 이용한 덧셈, 뺄셈 가능
  • 실수를 이용한 덧셈, 뺄셈 가능
  • 정수와 실수를 이용한 덧셈, 뺄셈 가능
  • 문자를 이용한 덧셈 가능(단, 뺄셈은 불가능)

09-2. 산술 연산자(곱셈, 나눗셈)

  • 숫자(정수, 실수)를 이용한 곱셈, 나눗셈 가능
  • 0을 나눗셈 하눈 경우 결과값은 항상 '0'이다.(단, 0으로 숫자를 나눌수는 없다.)
  • 문자(열)을 이용한 곱셈 가능(단, 나눗셈은 불가능)
  • 나눗셈 결과는 항상 float이다.(기억해두기)**

09-3. 산술 연산자(나머지와 몫)

  • 나눗셈 결과로 나머지와 몫만 따로 구할 수 있다.
  • 몫을 구하는 함수는 //, 나머지를 구하는 함수는 %로 나타낸다.
  • divmod를 통해서 나머지와 몫을 한 번에 나타낼수도 있다.

09-4. 산술 연산자(거듭제곱)

  • 거듭제곱 연산자는 같은 수를 여러 번 곱한 값을 구한다.
    • 제곱근은 어떤 수를 제곱하였을때 나오는 값
      ex) 2의 제곱근 구하는 공식 = 2 ** (1/2)
      math 모듈의 sqrt()와 pow()함수를 이용하여 제곱근을 구할 수 있다.(단, sqrt()함수는 제곱근만 구할 수 있다.)

09-5. 복합 연산자

+= -> 덧셈 연산 후 할당
-+ -> 뺄셈 연산 후 할당
*= -> 곱셈 연산 후 할당
/= -> 나눗셈 연산 후 할당
%= -> 나머지 연산 후 할당
//= -> 몫 연산 후 할당
**= -> 거듭제곱 연산 후 할당

10-1. 비교연산자(숫자 비교)

  • <, <=, >, >=, ==, != 등으로 표시할 수 있다.
  • 연산 결과는 bool이고, True or False로 출력된다.

10-2. 비교연산자(문자 비교)

문자비교는 아스키 코드를 이용하여 가능하다.(십진법)

character를 통해서 아스키 코드 입력시 알파벳 출력 가능
order를 통해서 알파벳 입력시 아스키 코드 출력 가능

  • 문자열 비교는 문자열 자체 비교를 통하여 나타낼 수 있다.
    때문에 True or False로만 출력 가능.

10-3. 논리 연산자

  • 논리 연산자란, 피연산자의 논리(True, False)를 이용한 연산으로 and, or, not이 있다.
    • and 연산자는 하나의 값이라도 True가 아니라면 False로 표시된다.
    • or 연산자는 하나의 값이라도 True라면 True.
    • not 연산자는 현재 상태를 부정하는 결과를 나타낸다.

11. Operator 모듈

  • 모듈이란, 누군가 이미 만들어 놓은 훌륭한 기능(우리가 공짜로 사용할 수 있음.)

12-1. 조건식

  • 조건식이란 if와 else를 두고 어떤 조건에 따라 실행이 분기 되는 식.

12-2. 조건문

조건문의 종류

  • if문 => 단일조건
    - if ~ else => 양자택일
    - if ~ elif => 다자택일(다자조건)
  • 조건문이 진행중일시 들여쓰기를 통한 코드블럭을 만들어줘야한다.
  • if문은 if ~ else문으로 모두 변경이 가능하지만 반대로는 제약이 있다.
  • 아직 조건문의 내용이 정해지지 않았을때 'pass'를 이용하여 에러를 피할 수 있다.
  • if~elif(다자택일)
    여러가지 조건식 결과에 따라 실행이 결정됨
  • 주의할 점
    -조건식 순서가 중요하다.
    -아니면 범위를 명확하게 해주어야 한다.

12-3. 중첩 조건문

  • 조건문 안에 또 다른 조건문이 있을 수 있다.

13-1. 반복문

반복문이란?

  • 특정 실행을 반복하는 것
  • 반복문을 사용하면 프로그래밍이 간결하고 유지 보수가 쉽다. ex) 대량 메일 또는 문자 발송, 인사말 반복, 게임 반복 실행, 타이머 등
    • 반복문을 사용하는 이유
    • 조건문을 하나하나 입력하여 사용하면 비효율적이기 때문.

반복문의 종류

  • 횟수에 의한 반복(for문)
  • 조건에 의한 반복(while문)

13-2. 횟수에 의한 반복(for문)

  • 정해놓은 반복 횟수에 따라 반복 실행된다.
  • 횟수에 의한 반복은 for문이 주로 사용된다.
  • for in을 기본으로 사용한다.

13-3. 반복 범위 설정(range()함수)

13-4. 조건에 의한 반복(while문)

  • 조건에 만족하면 반복 실행한다. 그렇지 않으면 반복을 중단한다.(ex: 타이머, 게임 반복 실행, 알람)
  • 조건에 의한 반복은 while문이 주로 사용되다.
  • while문이 항상 True일 경우 무한루프에 빠질 수 있다. (항상 n에 += 1을 해줘야한다.)-while문 사용 방법

13-5.for문과 while문 비교

  • 횟수에 의한 반복은 for문이 유용하고, 조건에 의한 반복은 while문이 유용하다.

14. 무한루프

  • 반복문 사용 시 빠져나올 수 없는 경우
    • 무한 루프에 빠지는 경우
      - while문에서 조건식의 결과가 항상 True인 경우(때문에 += 1을 항상 기입해줘야 한다.
      - 조건식에 논리형 데이터를 사용해서 무한 반복 실행할 수 있다.

15. 반복문 제어(continue)

  • 반복 실행 중 continue를 만나면 실행을 생략하고, 다음 반복 실행문으로 넘어간다.
  • else의 실행문은 반복문이 종료된 후 실행된다.

15-2. 반복문 제어(break)

  • 반복 실행 중 break를 만나면 반복문을 빠져나온다.

15-3. 중첩반복문

  • 반복문 안에 또 다른 반복문 선언

오늘 공부를 하면서 느낀점

다시 한 번 파이썬 강의를 들으니 확실히 처음 들었을때보다 이해가 쉽고 빠르게 잘 되어서 진도를 나가는게 수월했다. 앞으로 복습을 철저히하여 코딩 실력을 더 열심히 다듬고 키워나가야겠다.

[해당 글의 내용은 제로베이스 사이트의 내용과 이미지가 포함되어 있습니다.]

profile
또 다른 나를 찾아서

0개의 댓글