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

[2팀/김가림, 최다예] 1차시 파이썬 스터디 - 입출력

omomirg 2023. 3. 9. 19:33

 

1차시_입출력_강의안.pdf
3.53MB
1차시_입출력_과제.pdf
0.14MB

 

1

파이참 설치, python 개요, 입출력

참고도서 : 데이터 과학을 위한 파이썬 프로그래밍, 최상철

 

프로그래밍 언어와 파이썬

> 프로그래밍 언어의 이해

  • 프로그래밍 언어
    • 프로그래밍 언어의 개념
      • 코딩 : 프로그래밍을 하는 행위
      • 프로그래밍 : 프로그래밍 언어를 사용하여 프로그램을 개발하는 것
      • 프로그래밍 언어 : 인간이 원하는 것을 컴퓨터로 실행시키기 위해 사용하는 컴퓨터가 이해할 수 있는 언어
      • 코드 : 컴퓨터가 이해할 수 있는 언어
      • 코딩 : 코드를 작성하는 행위

    

  • 프로그래밍 언어를 배우는 이유
“ 이 나라의 모든 사람이 프로그램을 배워야한다. 왜냐하면 프로그램이라는 것은 생각을 어떻게 하는지 가르쳐 주기 때문이다 ”, 스티브 잡스

논리적 사고를 훈련하기 위해 프로그래밍 언어를 배우는 것

 

> 파이썬 소개

  • python
    • python의 등장
      • 1991년 네덜란드의 개발자 귀도 반 로섬이 개발한 언어
      • 처음에는 C 언어 기반으로 개발됐으며 이후 다양한 기능이 추가 되었다.

 

               > python의 특징

 

                         1. 플랫폼 독립적인 언어 :

                            어떤 운영체제 (윈도우, 맥 OS, 리눅스 …)든 상관없이 사용할 수 있는 언어

 

 

                        2. 인터프리터 언어 : 프로그래밍 언어의 소스코드가 컴퓨터에 의해 해석되는 과정

                           소스코드 : 프로그래머가 작성한 프로그래밍 언어의 텍스트 파일

                           소스코드 > 인터프리터 또는 컴파일러에 의해 해석 > 운영체제에 맞춰

                           기계어로 변환  > 컴퓨터의 하드웨어인 메모리와 CPU에 저장 > 실행

        • 인터프리터 언어 :  소스코드의 해석을 위해 사용되는 프로그램의 종류
        • 인터프리터 언어의 특징 : 컴파일러 언어와 달리 소스코드 자체가 바로 실행됨, 그렇기에 느리지만 간편하게 사용할 수 있다는 장점이 있다.
          • 컴파일러 언어 :
            • 소스코드 전체를 번역한 후 실행하는 언어, 코드가 실행 되기 전에이렇게 컴파일된 파일은 해당 운영체제에서만 실행 가능
            • 컴파일러를 이용해 현재 운영체계에 맞추어 기계어로 변환한 후 실행되는 프로그래밍 언어
            • 이렇게 컴파일된 파일은 해당 운영체제에서만 실행 가능

                            3. 객체 지향 언어 :

        • 객체 지향 프로그래밍 환경에서 사용되는 프로그래밍 언어
        • 객체 지향 언어 : 해당 프로그램이 해결해야 할 문제의 구성요소를 요소별로 정의한 다음 각 요소의 기능과 정보를 프로그래밍한 다음 요소들을 결합하는 방식으로 프로그램을 작성한다.

 

 

                            4. 동적 타이핑 언어 :

          • 동적 타이핑 언어 : 프로그램의 실행 시점에서 각 프로그램 변수의 타입을 결정하는 언어, python이 다른 언어와 가장 큰 차이를 보이는 특징
          • python (인터프리터 언어) : 프로그램의 실행 시점에 변수들의 메모리 공간을 자유롭게 할당받을 있다 속도는 느리지만 자유롭게 메모리 공간을 할당받고 사용하는 것이 가능해진다.
      •  

                            

 

 

 

  • python을 배우는 이유

1. 쉽고 간단한 프로그래밍 언어

python 문법은 인간 지향적이고 직관적이기 때문에 이해가가 쉽다

 

Hello World 출력

  • python
print('Hello World')
  • java
class HelloWorldApp {
    public static void main(String[]args){
        System.out.println("Hello World");
    } 
}

2. 다양한 라이브러리 제공

 

3. 대중적인 프로그래밍 언어

 

python 개발환경

> python 개발환경

1. 운영체제 선정

   Windows, Mac OS, Linux

 

2. 파이썬 인터프리터 선정

 

3. 코드 편집기 선정

  • 코드 편집기 :
    • 텍스트 에디터 : 단순히 문서를 편집할 때 사용
    • IDE : 프로그램의 개발부터 배포까지 전 과정을 지원하는 통합개발환경메모장원도의 기본 문서 편집 도구

 

             < 주요 코드 편집기와 IDE >

 

 

 

PyCharm 설치

> 아나콘다 설치

  • 아나콘다
    • python distribution platform
    • python 과 data science의 여러 패키지의 배포판
  •  
  • 아나콘다 설치 https://www.anaconda.com

 

⚠️ 주의 사항 

1. 설치 경로에 한글 포함시 오류 발생

이미지 출처 코드잇 :&nbsp; https://www.codeit.kr/community/threads/32546

해결 방법 : 사용자명이 한글인 경우 영문으로 변경 영문으로 새계정 생성

 

2. window 사용자의 경우 옵션 체크 단계에서 아래 옵션 체크후 install (Mac os 사용자 해당 x)

이미지 출처 :&nbsp;https://daewonyoon.tistory.com/232

 

 

> 파이참 설치

  • IDE
    • Integrated Development Environment, 통합개발환경
    • 공통된 개발자 툴을 하나의 그래픽 사용자 인터페이스(Graphical User Interface, GUI)로 결합하는 애플리케이션을 구축하기 위한 소프트웨어
    • IDE를 사용하는 이유 : 설정 프로세스의 일환으로 여러 유틸리티를 수동으로 설정하고 통합할 필요가 없으므로 개발자들이 새로운 애플리케이션 프로그래밍을 신속하게 시작할 수 있다.
    • 출처 : Red Hat, https://www.redhat.com/ko/topics/middleware/what-is-ide

 

  •  PyCharm
    • JEtBrains에서 개발한 python 통합개발환경(IDE)

 

community 버전 다운

 

 

 

> 파이참 설정

1. pycharm 실행

2. new project 선택

3. 프로젝트 이름, interpreter 설정

      >project 이름, interpreter 설정 방법

               project name 설정

               자기 마음대로 변경 가능

                  interpreter 설정

                  new environment using 선택 후 … 탭 클릭 > 설치한 anaconda 속 python 경로 선택 > create

 

 

 

 

4. python 파일 생성

 

python 입력과 출력

> python 입력과 출력 (1)

python 파일을 생성한후 실행할 코드 작성후 control+ R 또는 마우스 오른쪽 버튼에서 실행 버튼 누르기

 

 

> python 입력과 출력 (2)

  • print() 함수 : python 표준 출력 함수
    • 문자열 출력 : “ ”(큰 따옴표) 또는 ‘ ’(작은 따옴표) 를 이용해 원하는 문자열 출력 가능
    • 문자열 포멧팅
%d 정수형
%f 실수형
%s 문자형

 

a = 7
b = 5
print(a+b)
12

a = 7
b = 5
print('a+b')
a+b

print('hello world')
hello world

1. 기본 출력
print('안녕하세요')
안녕하세요

2. 콤마 이용
age = 21
print('나는', age, '살 입니다')
나는 21 살 입니다

3. + 이용
age = 21
print('나는'+age+'살 입니다')
나는 21 살 입니다

4. 문자열 포멧팅 사용
age = 21
print('나는 %d살 입니다' %age)
나는 21 살 입니다

5. format() 사용
print('나는 {}살 입니다'.format(age))
나는 21 살 입니다

 

 

 

> 연습해보기

조건 :

a = 17

b = 3

c = a/b

출력 결과 : 17/3 = 5.666667 입니다

 

> 정답

a = 17
b = 3
c = a/b

1. 기본 출력
print(a, '/', b, '는', c, '입니다')

2. + 이용
print(str(a)+'/'+str(b),'=',str(c)+'입니다') # str() : 문자형

3. 문자열 포멧팅 사용
print('%d/%d = %f입니다' %(a,b,c))

4. format() 사용
print('{}/{}={}입니다'.format(a,b,c))

❗️소수 둘째자리까지 표시하기

  • round(value, 소수자릿수)
round(1.234234563, 2) 
1.23
  • %.2f 형식으로 나타내기
print('%2.f' %1029384763) 
1.02

 

 

 

  • input() 함수 : 사용자로 부터 입력을 받는 함수, 사용자에게 입력 받을 시 문자열로 인식
name = input('이름을 입력하시오 : ')
print(name,'님 반갑습니다.'))

이름을 입력하시오 : 김가림
김가림님 반갑습니다

age = input('자신의 나이를 입력하세요 :')
print(age+2)

자신의 나이를 입력하세요: 21
TypeError: can only concatenate str (not "int") to str

* input() 함수는 입력값을 문자열로 인식하기에 숫자를 입력받아 연산을 하고 싶다면
꼭 int(정수형)또는 float(실수형)으로 변환해줘야함
문자열은 연산이 불가능 but *: 문자열의 반복을 뜻하는 의미로 사용

age = int(input('자신의 나이를 입력하세요 :'))
print(age+2)

자신의 나이를 입력하세요: 21
23