스터디/파이썬 스터디 강의자료

[3팀/김규리] 1차시 파이썬 스터디 - 입출력

kyuree 2023. 3. 9. 03:35
1차시_입출력_강의안.pdf
15.83MB
1차시_입출력_과제.docx
2.20MB
1차시_입출력_과제답안.docx
0.45MB



*모든 출처는 도서 "데이터 과학을 위한 파이썬 프로그래밍"입니다

#1 파이썬 소개

프로그래밍 & 프로그래밍 언어 & 코딩


  • 프로그래밍
    • 프로그래밍 언어 사용하여 프로그램 개발하는 행위
    • 컴퓨터에게 어떠한 명령을 내리는 일
  • 프로그래밍 언어
    • 프로그램 개발할 때 사용하는 도구
    • 인간과 컴퓨터 사이에서 의사소통 가능하게 하는 인공적인 언어
      • 기계어(machine language) ; 기계가 이해할 수 있는 언어
      • 자연어(natural language) ; 사람이 이해할 수 있는 언어
  • 코딩
    • 코드 : 컴퓨터가 이해할 수 있는 언어
    프로그래밍을 하는 행위
  • 코드를 작성하는 행위
  • 실생활 예시
    • 대형마트, 전통시장, 동네마트 등 오프라인의 행위
    • 이커머스, 인터넷 쇼핑몰, 쿠팡온라인으로도 가능하게 함
    • 은행업무, 배당 서비스, 택시 호출 등 …
    ⇒ 프로그래밍을 통해 다양한 프로그램 구현!

 

파이썬 특징


  • 수많은 프로그래밍 언어 중 하나 ( C, C++, Java, Ruby …)
  • 플랫폼 독립적 언어
    • 윈도우, 맥os, 리눅스 등 운영체제 상관없이 독립적 사용 가능
  • 인터프리터 언어
    • 인터프리터?
      • 프로그래밍 언어의 소스코드가 컴퓨터에 의해 해석되는 과정
        • 소스코드 : 작성한 프로그래밍 언어의 텍스트 파일
    • 코드의 실행방식
    • 자연어(인간의 사고) > 파이썬 코드(소스코드) > 인터프리터 > 기계어 > 실행(기계의 작동)
    • 컴파일러 vs. 인터프리터
  • 통역과 번역의 차이 !
    • ex. 인터프리터 방식 → 영어책을 한 줄씩 한국어로 통역하며 읽기
    • ex. 컴파일러 방식 → 영어책 전체를 한국어로 번역 후 읽기
  • 객체 지향 언어
    • 객체 지향 프로그래밍 환경에서 사용되는 프로그래밍 언어
    • 특징
      • 프로그램을 다수의 객체로 구성 → 객체끼리 상호작용하도록 만듦
      • 객체별로, 구성요소별로 특징을 정의
    • 예시 - 식당의 계산하기 프로그램
      • 식당에 있는 계산서 + 손님 + 음식 등.. 연결짓기 → 하나의 프로그램으로

파이썬을 배우는 이유


  • 쉽고 간단한 언어
    • 인간 지향적, 직관적인 문법 및 코드

       

  • 다양한 라이브러리 제공
    • 딥러닝(pyTorch), 인공지능, 웹프로그래밍 개발 등 다양하게 활용
    • 만들어져있는 수많은 모듈 & 패키지 쉽게 사용가능
    • 큰 규모의 커뮤니티 보유
      • 에러 해결, 궁금증 해결 등
  • 대중적인 언어
    • 많은 사용자 보유
    • 인공지능, 데이터분석, 과학 계산 분야에서 활발히 사용

 

#2 파이썬 개발환경과 설치

파이썬 개발환경 설정


  • 개발환경
    • 프로그래밍할 수 있는 환경
      • 파이썬은 파이썬 인터프리터기 & 코드 편집기가 필요
  • 개발환경 선택 시 고려할 3가지
    • 운영체제 선정
      • 자신의 상황에 맞게
    • 파이썬 인터프리터 선정
      • Anaconda 사용
        • conda 가상환경 제공
        • 다양한 모듈과 패키지 사용 가능
    • 코드 편집기 선정
      • 코드 편집기?
        • 소스코드도 하나의 텍스트 문서 → 편집 도구 필요
      • 코드 편집기 종류
        • 텍스트 에디터
        • 통합개발환경(Integrated Development Environment, IDE)
          • 텍스트 에디터 + 개발에 유용한 기능

                         

파이썬 인터프리터 설치 ; Anaconda


  • python + 데이터사이언스를 위한 다양한 라이브러리들
  • 설치 사이트 : • https://www.anaconda.com/
  • 설치 과정
    1. 구글에서 아나콘다 검색한 후, 다운로드한다

2. 설치 시작

3.옵션 클릭

4. 아나콘다 설치할 파일 위치 선택 ( 파일경로에 한국어 없도록 하기)

5. 옵션 클릭

6. 다운로드 완료!

파이썬 코드 편집기 설치 ; PyCharm


  • 종류
    • Vim, Vi, Jupyter Notebook, Python, Google Colab 등 ..
  • pycharm 기능
    • • 실행, 디버깅, 컬러링, 자동완성, 변수명 한 번에 바꾸기 등
  • 설치 사이트 : https://www.jetbrains.com/ko-kr/pycharm/download/#section=mac
  • 설치 과정
    1. 구글에서 파이참 검색한 후, 다운로드한다

2.다운로드 완료 후, 클릭하여 본격적인 설치 시작한다

3.파이참 저장 위치 파일 선택한다.(파일명은 영어로 설정하는 것이 좋음 / 파일 경로에 한국어가 없도록 한다)
 
4.옵션 클릭

5.설치 완료한다

Pycharm 사용하기 위한 설정


  • 파이참 클릭
  • newproject 클릭하여, 새로운 프로젝트 생성
  • new environment using 클릭하여 conda로 선택
  • create 누르면 완료!

 

  • 프로젝트에서 마우스 우클릭 후, new > python package 선택
  • 새롭게 생성한 패키지에서 또 우클릭 하여 new > python file 선택
  • 그럼 본격적인 코드 작성을 위한 설정 모두 완료

#3 입력 및 출력

표준 입력 함수 ; input()


  • 입력 함수는 언제 사용될까?
    • 사용자에게 데이터 입력받고 처리를 하는 프로그램
      • 콘솔 창에서 입력 받기 위해 사용!
        • ex. 로그인(아이디 & 비밀번호), 계산기, 번역기 등..
  • 예제 ) 사용자의 이름을 출력하는 함수
    • 코드 예시

       - 실행 화면

  • 실행 단계 설명
    • input() 함수가 실행되면 콘솔 창은 사용자가 입력할 수 있도록 대기 상태
    • print() 함수에 의해 “이름을 입력하세요”가 화면에 먼저 출력
    • 사용자가 입력할 수 있는 공간 나타남
    • 사용자가 텍스트를 입력한 값이 name 변수에 저장
    • print() 함수에 의해 name 값이 다른 문장들과 함께 화면에 출력됨
  • 입력 함수의 다양한 활용
    • 구분자 ; split(자르다)
      • split() 함수
        • 한 번에 여러 값 입력받을 때
          • 기본적으로 input()은 한 번에 하나의 값 입력받기 가능
        • 문자열 슬라이싱하여 변수에 차례대로 저장
        • 코드
        a, b = input('문자열 두 개를 입력하세요: ').split()    # 입력받은 값을 공백을 기준으로 분리
         
        print(a)
        print(b)
        
        • 실행 화면
        문자열 두 개를 입력하세요: Hello Python (입력) 
        Hello
        Python
        
      • 사용 방식 → input().split(’나누는 기준’ )
        • 공백을 기준으로 나누어 개별 저장
        • 두번째 괄호 안에 입력값의 구분 기준이 되는 기호 입력
        • ex. ‘-’ , ’:’ , ‘.’ 등 ..
        • 변수는 콤마(,)로 구분
  • 다양한 사용 방식
    - 변수1, 변수2 = input().split('구분 기준 기호')
    - 변수1, 변수2 = input('문자열').split('구분 기준 기호')
    - 변수1, 변수2 = input('문자열').split()
    - 변수1, 변수2 = input().split()

 

  •  

표준 출력 함수 ; print()


  • 출력 함수는 언제 사용할까?
    • 일반적으로 화면에서 값을 출력할 때
      • ex. 안내 문구, 단순 값(문자, 숫자 등) 출력
  • 사용 방법
    • print() → 괄호 안 출력할 값 입력
    • 예시
  • 여러 값 연결하여 출력하는 방법
    • 콤마(,) 사용
      • 두 문장 간 한 칸 띄울 때
  • 자료형 관계없이 모두 출력 가능
  • + 기호 사용
    • 두 문장 바로 연결할 때
  • 자료형은 모두 문자형일 때 사용 가능
    • ex. 숫자 연결?
  • 특수한 기능 사용 ; 이스케이프 시퀀스(escape sequence)
    • 단순한 문자열 이외에 부가적 기능 사용하여 출력할 때 사용
    • \(백슬래시 or ₩) 뒤에 문자나 숫자가 오는 조합
    • 이스케이프 문자 종류
  • 사용 예시
    • 윗줄 코드, 아랫줄 실행 결과
#기본 출력
print("Hello world")
Hello world

# \\n 줄바꿈 
print("Hello\\nworld")	 
Hello
world

#\\t 탭
print("Hello\\tworld")	
Hello	world

#\\b 백스페이스
print("H\\bello world")	
ello world

#\\000 널문자
print("\\000")	
 
#\\\\ '\\'
print("\\\\Hello world\\\\")	#\\\\ '\\'
\\Hello world\\

#\\" 따옴표(")
print("\\"Hello world\\"")
"Hello world"

#\\' 따옴표(')
print('\\'Hello world\\'')
'Hello world'
  • 값 사이에 문자 넣기 ; sep
    • 공백이 아닌 다른 문자 넣을 때
    • 사용 방식
      • print(값1, 값2, sep='문자 또는 문자열')
      • print(변수1, 변수2, sep='문자 또는 문자열')
    • 사용 예시 #1 - 콤마(,)로 나눌 때
      • 코드
      print(4, 5, 6, sep=',')    # sep에 콤마 지정
      
      • 실행 화면
      4,5,6
      
    • 사용 예시 #2 - 공백없이 출력할 때
      • 코드
      print('Hello', 'Python', sep='')  # sep에 빈 문자열을 지정
      
      • 실행 화면
      HelloPython
      
    • 사용 예시 #3 - 일반적인 문자로 나눌 때
      • 코드
      print(1920, 1080, sep='x')    # sep에 x를 지정
      
      • 실행 화면
      1920x1080
      

입출력하는 프로그램


  • 사용자의 입력 안내할 지시문 넣기
    • input() → 괄호 안 문자열 형태로 입력
      • 따옴표 활용!
    • 사용 예시 ) 사용자 나이를 출력하는 함수

#4 복습 예제


1. 입출력

2. 입출력

3. 출력

4. 출력
<실행 화면>

  • 답안
  • (4) → input으로 입력받을 경우, 입력값의 자료형은 문자형이므로 더하기 연산의 결과는 문자열의 단순한 이어붙이기가 된다
  • 예시 답안
  • A , B = input().split() print(int(A)+int(B))
  • 예시 답안
  • print("Hello") print("World")
  • 예시 답안
  • temperature = float(input("온도를 입력하세요:")) print(temperature)