조건문

프로그램의 흐름을 제어하기 위한 문법.  조건식이 True 일 경우 수행할 명령문을 코드 블록으로 구성해 기술해야함


if문

어떤 조건을 만족하는 경우, 명령문을 수행하기 위해 사용


if ~ else문

어떤 조건을 만족하는 경우의 명령문과 만족하지 않았을 경우의 명령문을 상호 배타적으로 수행하고자 할 때 사용


if ~ elif ~ else문

2개 이상의 다중 조건을 처리하고자 할 때 사용


제어문 활용




연산자

 연산자

의미 

예 

양변의 값을 더하기

a = 3 + 2 # 5 

양변의 값을 빼기 

a = 3 - 2 # 5

양변의 값을 곱하기

a = 3 * 2 # 6

좌변의 값을 우변의 값으로 나누기 

a = 3/2 # 1.5 

// 

좌변의 값을 우변의 값으로 나눈 몫 

a = 3 // 2 # 1 

좌변의 값을 우변의 값으로 나눈 나머지 

a = 3 % 2 # 1 

**

좌변의 값을 우변의 값으로 제곱 

a = 3 ** 2 # 9 



복합대입연산자


관계연산자

프로그램에서 값을 비교함

산자

의미 

예 

==

양변의 값이 같으면 True 반환 

a, b = 3,2; a == b # False 

!= 

양변의 값이 다르면 True 반환 

a, b = 3,2; a != b # True 

 좌변의 값이 우변의 값보다 크면 True 반환

a, b = 3,2; a > b # True 

좌변의 값이 우변의 값보다 작으면 True 반환 

a, b = 3,2; a < b # False 

>= 

좌변의 값이 우변의 값보다 크거나 같으면 True 반환 

a, b = 3, 2; a >= b # True 

<= 

좌변의 값이 우변의 값보다 작거나 같으면 True 반환 

a, b = 3,2; a <= b # False 



논리연산자

특정 조건을 만족하는지를 검사하기 위함

연산자 

의미 

예 

 and

양변의 값 모두 True일 경우에만 True 반환 

a, b = True, False; a and b # False 

or 

양변의 값 모두 False일 경우에만 False 반환 

a, b = True, False; a or b # True 

not 

True일 경우 False, False 일 경우 True 반환 

a = True; not a # False 



비트연산자

비트 기반의 연산자

 연산자

의미 

예 

양변의 비트 값 모두 1일 경우에만 1를 반환

x, y = 1, 0
x & y # 0 

양변의 값 모두 0일 경우에만 0를 반환 

x, y = 1, 0 

x | y = 1 

^

양변의 값이 다를 경우 1, 같을 경우 0을 반환 

x, y = 1, 0

x ^ y =  1

~

비트 값이 1일 경우 0, 0일 경우 1를 반환

x = 1

~x # -2 

<< 

좌변의 값을 우변의 값 만큼 비트를 왼쪽으로 이동 

x = 4

x << 1 # 8 

>> 

좌변의 값을 우변의 값 만큼 비트를 오른쪽으로 이동 

x = 8

x >> 1 # 4 



# 변수란

값을 저장할 때 사용하는 식별자이고 이며 파이썬은 동적 타이핑 언어로 저장된 값의 자료형에 의해 변수 자료형이 결정된다. 그래서 주의를 필요로하며 type() 함수를 이용하여 자료형을 확인할 수 있다. 


# 변수명

파이썬의 변수는 문자, 숫자, _ 를 조합하여 만들수 있으며 숫자로 시작할 수 없다. 


# 변수와 객체

파이썬의 모든 정보는 객체로 만들어진다. 리터럴로 만들어진 객체는 재사용하여 사용하므로 아래와 같은 예시처럼 True가 출력된다.


# 변수와 자료형

Bool - 참, 거짓을 판단하는 표현식으로 True와 False 값을 가짐


Tuple - () 안에 서로 다른 자료형의 값을 콤마(,)로 구분해 하나 이상 저장할 수 있는 컬렉션 자료형

 0부터 시작하는 인덱스를 이용해 접근할 수 있고 한 번 저장된 항목은 변경할 수 없음

List - [] 안에 서로 다른 자료형의 값을 콤마(,)로 구분해 하나 이상 저장할 수 있는 컬렉션 자료형

0부터 시작하는 인덱스를 이용해 접근할 수 있고 저장된 항목도 변경이 가능함


Set - {} 안에 서로 다른 자료형의 값을 콤마(,)로 구분해 하나 이상 저장할 수 있는 컬렉션 자료형

순서의 개념이 존재하지 않아 인덱스를 사용할 수 없고 데이터 항목의 중복을 허용하지 않음


Dictionary - {} 안에 키:값 형식의 항목을 콤마(,)로 구분해 하나 이상 저장할 수 있는 컬렉션 자료형

키를 이용해 값을 읽어올 수 있으며 항목을 추가할 때 동일키가 없으면 새로운 항목을 추가하고, 동일키가 있으면 저장된 항목을 변경한다.



None - None 객체를 이용해 널(null) 객체 상태를 표현함. 

최초 변수를 선언할 때 초기화를 하지 않으면 에러가 발생함. 초기화 값을 제공하지 않을 경우엔 None 객체 저장 필요

다양한 변수 선언, 초기화 방법




1. 숫자형의 특징

리터럴(Literal)

소스코드 상에서 내장 자료형의 상수 값을 나타내는 용어

type() 함수

파이썬은 값에 의해 자료형이 결정되는 동적 타이핑 언어의 성격을 가지므로 type() 함수를 통해 자료형을 확인한다.

1
2
3
4
5
6
7
8
9
10
>>> type(15)
<class 'int'>
>>> type(3.14)
<class 'float'>
>>> type('파이썬')
<class 'str'>
>>> type(True)
<class 'bool'>
>>> type([123])
<class 'list'>
cs

숫자형

  • 정수형: 정수형의 길이는 무제한이며, 메모리가 허용하는 범위까지 사용할 수 있음. 10진수 뿐만아니라 0o(8진수), 0x(16진수), 0b(2진수) 값도 표현이 가능하다

    1
    2
    3
    4
    5
    6
    7
    8
    >>> 0o177
    127
    >>> 0o377
    255
    >>> 0xdeadbeef
    3735928559
    >>> 0b100110111
    311
    cs
  • 부동소수점형: 큰 수를 표현하기위해 지수표현법도 가능하며 소수점 생략, 지수부 생략도 가능하다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> 3.14
3.14
>>> -2.4
-2.4
>>> 10.
10.0
>>> .001
0.001
>>> 1e100
1e+100
>>> 3.14e-10
3.14e-10
>>> 0e0
0.0
cs
  • 허수형: 3+2j(i와 같음): 파이썬에서 허수는 i대신 j를 사용함. 
1
2
3
4
5
6
7
8
>>> 3.14j
3.14j
>>> 10.j
10j
>>> 10j
10j
>>> 0.001j
0.001j
cs


문자열

문자열이란 문자들의 집합이다. 파이썬에는 문자형은 제공하지 않는다. 


이스케이프 시퀀스

프로그램의 소스 코드 내에서 사용할 수 있도록 백슬래시 기호와 조합해서 사용하는 사전에 정의해둔 문자 조합으로 문자열의 출력 결과를 제어하기 위해 사용함


문자열 포맷팅

문자열을 출력하는데 포맷을 지정하는 방법인데 다른 프로그래밍 언어와 크게 다르지 않다. 오랜만에 정리해보록 하자 ..

유형 

내용 

%s 

문자열 포맷 

%c 

문자 포맷. 정수를 유니코드 문자로 변환해 출력 

%d 

10진 정수 

%o 

8진수 

%x 

16진수 

%f 

부동소수점 숫자로 출력. 

%% 

 %출력



1
2
3
4
5
6
7
8
9
10
>>> "이름: %s" % "홍길동"
'이름: 홍길동'
>>> "나이: %s 세" %20
'나이: 20 세'
>>> "결혼: %s" % False
'결혼: False'
>>> "키: %s cm" %180.5
'키: 180.5 cm'
>>> "이름: %(name)s \n나이: %(age)s세 " % {"name" : "홍길동""age" : 20}
'이름: 홍길동 \n나이: 20세 '
cs


위의 문자열을 이용한 방법은 다른 프로그래밍 언어와 같으니 간단하게 정리하고 넘어가겠다..


str.format() 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>>> "이름: {0}, 나이: {1} 세".format("홍길동"20)
'이름: 홍길동, 나이: 20 세'
>>> "이름: {}, 나이: {} 세".format("홍길동"20)
'이름: 홍길동, 나이: 20 세'"
>>> "{0:c} => {1}".format(97, 97)
'a => 97'
>>> "{0}, {1}, {2:x}".format('가', ord(""), ord(""))
'가, 44032, ac00'
>>> "{0:f} {1:.2f}".format(3.14, 3.14)
'3.140000 3.14'
>>>  "이름: {name}, 나이: {age} 세".format(name='홍길동', age=20)
'이름: 홍길동, 나이: 20 세'
>>>  "{0:<10}".format("좌측정렬")
'좌측정렬      '
>>>  "{0:^10}".format("중앙정렬")
'   중앙정렬   '
>>> "{0:*^10}".format("중앙정렬")
'***중앙정렬***'
>>> "{0:0.2f}".format(3.141592)
'3.14'
>>> "{0:10.2f}".format(3.141592)
'      3.14'
>>> "{{ {0:.1f} }}".format(98.5)
'{ 98.5 }'
cs


주석

프로그램의 코드 앞에 #을 붙여 작성된 부분으로 인터프리터가 해당 부분을 해석하지 않음


1. 통합 개발 환경(IDE)

코딩을 위한 코드 편집기, 컴파일을 위한 컴파일러(혹은 인터프리터), 디버깅으 ㄹ위한 디버거 등 프로그램 개발에 필요한 도구들이 하나의 프로그램 개발 환경으로 통합되어 개발 생산성을 높이는 소프트웨어 
파이썬에는 파이참, 비쥬얼스튜디오코드, 파이데브 등이 있다.

2. 파이참 개발환경 구성

  1. https://www.jetbrains.com/ 사이트 접속 후 PyCharm 메뉴 클릭



  2. 중앙에 DOWNLOAD 버튼을 클릭후 오픈 소스인 Community 버전 다운로드 실행

  3. next 버튼을 누르다가 아래와 같은 옵션선택 화면이 나온다면 체크 후 남은 설치 진행

  4. 설치된 파일(JetBrains PyCharm Community Edition ...)을 실행하면 아래와 같은 화면이 나오는데
    Do not import settings 를 선택한 후 설치를 완료 후 "Start using Pycharm" 버튼을 눌러 실행한다.



  5. "Create New Project" 버튼을 클릭하고 프로젝트를 생성할 위치를 지정한 후 Create버튼을 클릭하여 프로젝트를 생성


  6. File -> New -> Python File 버튼을 클릭하여 파이썬 파일을 만든 후 아래의 예제를 입력한 후 Run을 눌러 실행을 확인한다.
    저같은 경우는 Run탭에서 Run이 비활성화되어 있어서 에디터창을 우클릭후 실행했습니다. 

03. 파이썬의 코드 작성법

들여쓰기

파이썬 인터프리터에 의해 잘못된 들여쓰기가 검사되지 않으면 치명적인 버그가 발생함. 따라서 개발을 진행하기 이전에 표준을 정해놔야함( 4개의 스페이스로 공백문자를 가지도록 함 - 다른 프로그래밍언어의 블록으로 생각하면 될듯)

주석 

파이썬에서 주석은 #을 이용하지만 #이후 coding 지시자는 특별하게 해석하여 인코딩을 지정할 수 있음 .

1
# coding: utf-8
cs

또는 아래와 같은 방법으로도 인코딩을 지정할 수 있음


1
# -*- coding: utf-8 -*-
cs


세미콜론

기본적으로 구문의 끝에 세미콜론을 사용하진 않지만 하나의 라인에 구문을 구분시켜야 할 때 사용할 수 있음
1
2
3
4
>>> print(0); print(1)
0
1
 
cs

파일과 모듈

하나의 py파일은 하나의 모듈로 인식되며 라이브러리 성격일수도 있고, 진입점(main)을 나타낼 수도 있다. 따라서 if문으로 분기처리를 해야한다.
1
2
if __name__ == "__main__":
    print("Hello World")
cs




1. 파이썬이란

다른 프로그래밍 언어에 비해 빠르게 학습할 수 있고 명령의 수행 결과를 빠르게 확인이 가능하다(인터프리터 방식). 또한 확장 기능을 지원하고 다양한 플랫폼에서 사용이 가능한 프로그래밍 언어이다.


2. 파이썬의 역사와 종류

파이썬의 종류

  1. Cpython - C로 작성된 파이썬(일반적인 파이썬)
  2. IronPython - .Net과 Mono용으로 C#으로 구현
  3. Jython - 자바로 구현된 파이썬, 자바가상머신에서 동작 (자바 클래스, 표준 라이브러리 사용 가능)
  4. PyPy - 파이썬으로 구현


3. 파이썬의 특징

특징

  1. 인터프리팅 방식: 명령의 실행결과를 대화형으로 바로 확인
  2. 동적 타이핑: 실행 시간 값에 의해 자료형 결정
  3. 가비지 컬렉터: 생성된 객체에 대한 메모리 관리는 Garbage Collector 이용
  4. 가독성: 코드블록의 들여쓰기 (문법에서 강제함)
  5. 풍부한 라이브러리: 표준 라이브러리와 통합환경이 배포판과 함께 제공( 정규표현식, 운영체제 시스템 호출, XML, 직렬화, 통신 프로토콜, CSV, DB 접속 등 ..)
  6. 유니코드
  7. 오픈소스: 파이썬 소프트웨어 재단에서 관리
  8. 다양한 프로그래밍 패러다임 지원: 객체지향, 함수형 프로그래밍 지원
  9. 학습 용이성
  10. 내장 스크립트 언어

버전

파이썬 2.0 - GarbageCollector와 유니코드 지원
파이썬 3.0 - 2.x 버전의 파이썬과 하위호환성이 없음, 2.6 버전과 2.7버전에는 일부 호환

유니코드

각 나라별 언어를 모두 표현하기위해 만든 통합코드체계(최대 65,536자를 표현)

유니코드는 각 4자리(각 자리마다 16진수로 표현) 하며 16진수 AA00은 2진수로 표현하면  1010 1010 0000 0000 이다

4. 활용분야

  1. 웹 애플리케이션 개발 분야 : 쟝고(django)와 플라스크(Flask) 를 이용하여 웹 애플리케이션을 생산성있게 개발함
  2. 데이터 수집 분야: 웹 크롤링을 이용하여 데이터를 수집합. ( Beautiful Soup, Scrapy )
  3. 데이터 과학 및 인공지능 분야: Numpy(다차원 배열, 선형대수, 난수 등), pandas(데이터 분석), SciPy(수학, 과학 등에서 사용), scikit-learn(데이터 마이닝과 데이터 분석 도구), TensorFlow(머신러닝 및 딥러닝 프레임워크이며 GPU를 이용한 연산 지원),

5. 개발환경 설치

  1. https://www.python.org/ ▶ Downloads ▶ Windows( 운영체제에 맞게 ) ▶  최신버전 ( Latest Python 3 Release - Python 3.7.4 ) 다운로드
  2. Install launcher for all users, Add Python 3.7 to PATH 체크박스 체크 후 Install Now 클릭

  3. 다운로드 완료 후 Close버튼 클릭
  4. 파이썬 실행 및 출력 확인

 

 


 


+ Recent posts