OneBook(Python & Deep Learning)
  • 한곳에서 끝내는 파이썬 & 머신러닝 & 딥러닝
  • 문서 작업을 시작하며
  • 1. 인공지능(Artificial Intelligence) 시대
    • 1.1. 인공지능이란 도대체 무엇인가?
    • 1.2. 4차 산업혁명
    • 1.3. 인공지능의 역사
    • 1.4. 인공지능 > 머신러닝 > 딥러닝
    • 1.5. 머신러닝
    • 1.6. 머신러닝 알고리즘
      • 1.6.1. 지도 학습 (Supervised Learning)
      • 1.6.2. 비지도 학습 (Unsupervised learning)
      • 1.6.3. 강화 학습(Reinforcement Learning)
    • 1.7. 인공신경망(ANN)
    • 1.8. 딥러닝
  • 2. 기본 상식
    • 2.1. 기본 용어의 이해
      • 2.1.1. CPU와 GPU의 차이
      • 2.1.2. 오픈소스(Open Source)
      • 2.1.3. 깃허브(GitHub)
      • 2.1.4. 위키 Wiki
      • 2.1.5. 아나콘다(Anaconda)
      • 2.1.6. 활성화 함수
      • 2.1.5. 딥러닝 프레임워크 소개
    • 2.2. 텐서플로(Tensorflow)
    • 2.3. 케라스(Keras)
    • 2.4. 파이토치(PyTorch)
    • 2.5. 학습에 필요한 중요한 도구와 라이브러리들
      • 2.5.1. 주피터 노트북(Jupyter Notebook)
      • 2.5.2. 파이참(PyCharm)
      • 2.5.3. 스파이더(Spyder)
      • 2.5.4. 넘파이(NumPy)
      • 2.5.5. 싸이파이(SciPy)
      • 2.5.6. Matplotlib
      • 2.5.7. 판다스(Pandas)
      • 2.5.8. 장고(Django)
      • 2.5.9. 파이큐티(pyQT)
      • 2.5.10. 싸이킷런(Scikit-learn)(Sklearn)
      • 2.5.11. CUDA & cuDNN
      • 2.5.12. 파이썬 표준 내장 라이브러리
    • 2.6. AI공부에 필요한 기본지식 3가지
      • 2.6.1. 수학
      • 2.6.2. 프로그래밍 기술
      • 2.6.3. AI의 적용 대상 산업에 대한 지식
  • 3. 개발 환경설정
    • 3.1. 윈도우 환경에서 설치하기
      • 3.1.1. 아나콘다 설치 (파이썬 설치)
        • 1) 아나콘다 패키지 업데이트
        • 2) conda에서 파이썬 가상 환경 (virtual environments) 생성하기
        • 3) NVIDIA GPU 환경 설정하기
      • 3.1.2. 텐서플로 설치
      • 3.1.3. 케라스 설치
      • 3.1.4. Jupyter Notebook 설치
      • 3.1.5. Visual Studio Code 설치
      • 3.1.6. 파이참 설치
        • 1) 파이참 가상환경 설정
        • 2) 파이참 환경 설정
        • 3) 설치된 라이브러리들의 버전 확인 하기
    • 3.2. 리눅스 환경에서 설치하기
      • 3.2.1. 아나콘다 설치(파이썬 설치)
      • 3.2.2. 텐서플로 설치
      • 3.2.3. 케라스 설치
      • 3.2.4. 장고 설치
      • 3.2.5. 파이참(PyCharm) 설치
        • 1) 파이참 가상환경 설정
  • 4. 파이썬 기초 학습
    • 4.1. 파이썬(Python)
    • 4.2. 파이썬의 특징
    • 4.3. 파이썬 기본 문법
      • 4.3.1. 대화형과 스크립트 모드 프로그래밍
      • 4.3.2. 모듈의 사용(import)
      • 4.3.3. 파이썬 식별자(Identifiers)
      • 4.3.4. 예약어(Reserved Words)
      • 4.3.5. 행(Lines)과 들여쓰기(Indentation)
      • 4.3.6. 문자열 표시
      • 4.3.7. 주석
      • 4.3.8. 파이썬 변수(Variables)
    • 4.4. 자료형과 연산자
      • 4.4.1. 자료형
      • 4.4.2. 파이썬 연산자
    • 4.5. 조건문과 반복문
      • 4.5.1. 조건문
      • 4.5.2. 반복문
    • 4.6. 함수
      • 4.6.1. 함수의 종류
    • 4.7. 모듈(Modules)
      • 4.7.1. 모듈의 참조 위치
      • 4.7.2. 네임스페이스(Namespace)와 범위(Scoping)
      • 4.7.3. dir( ) 함수
      • 4.7.4. 패키지(Packages)
      • 4.7.5. 기본 내장 모듈
    • 4.8. 숫자형 활용
      • 4.8.1. 실습: 계산기 만들기
    • 4.9. 문자열(Strings) 활용
      • 4.9.1. Unicode 한글의 사용
      • 4.9.2. 이스케이프 문자
      • 4.9.3. 문자열 연산자
      • 4.9.4. 문자열 포맷 연산자
      • 4.9.5. 내장 문자열 함수
    • 4.10. 시퀀스(Sequence) 자료형 활용
      • 4.10.1. 리스트(Lists)
      • 4.10.2. 튜플(Tuple)
      • 4.10.3. 딕셔너리(Dictionary)
    • 4.11 Class
    • 4.12. Date & Time
    • 4.13. 파이썬 에러처리
  • 5. 기초수학
  • 6. 머신러닝을 위한 파이썬
  • 7. 텐서플로 2.x
  • 8. 딥러닝을 이용한 자연어 처리 입문
  • 9. 파이토치로 시작하는 딥 러닝 입문
  • 9.6 6. Pytorch lightning
  • A1. 필수 학습 라이브러리들
    • 4.1 NumPy
      • 4.1.1. Basic Operations
      • 4.1.2. Indexing, Slicing 그리고 Iterating
      • 3.13.3. Shape Manipulation
    • 4.2 Matplotlib
    • 4.3 SciPy
      • 4.3.1. Interpolation
      • 4.3.2. Optimization
      • 4.3.3. Fast Fourier transforms: scipy.fftpack
    • 4.4 Pandas
      • 4.4.1 Pandas 자료구조
      • 4.4.2 Pandas 활용하기
  • A2. 머신러닝 & 딥러닝
    • 5.1. 머신러닝 개념 소개
      • 5.1.1. 경사하강법(Gradient Descent )
      • 5.1.2. 분류 (Classification)
      • 5.1.3. MNIST Dataset 소개
    • 5.2. 딥러닝 개념 소개
      • 5.2.1. 퍼셉트론
      • 5.2.2. 인공 신경망
      • 5.2.3. 대표적인 딥러닝 모델
    • 5.3. Tensorflow를 사용한 학습
      • 5.3.1. TensorFlow 기본 메커니즘
      • 5.3.2. Tensorflow Types
      • 5.3.3. 기본 동작 실습
      • 5.3.4. 선형 회귀
      • 5.3.5 로지스틱 회귀
    • 5.4. Keras를 사용한 학습
      • 5.4.1. Keras로 분석한 선형 회귀
      • 5.4.2. CNN(Convolutional Neural Network)
      • 5.4.3. Fashion MNIST with Keras
    • 5.5. 웹 크롤링
      • 5.5.1. requests와 BeautifulSoup으로 웹 크롤러 만들기
Powered by GitBook
On this page

Was this helpful?

  1. 4. 파이썬 기초 학습
  2. 4.4. 자료형과 연산자

4.4.1. 자료형

메모리에 저장된 데이터는 여러 유형이 있을 수 있습니다. 예를 들어, 사람의 나이는 숫자 값으로 저장되고 주소는 문자, 숫자로 저장됩니다. 자료형이란 프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 뜻합니다. 프로그램의 기본이자 핵심 단위가 바로 자료형입니다. 파이썬에는 가능한 표준 연산과 각각의 저장 방법을 정의하는 데 사용되는 다양한 표준 데이터 유형이 있습니다.

파이썬에는 다섯 가지 표준 데이터 유형이 있습니다.

  1. 숫자(Numbers)

  2. 문자열(String)

  3. 리스트(List)

  4. 튜플(Tuple)

  5. 사전(Dictionary)

1) 숫자(number)

숫자형(Number)이란 숫자 형태로 이루어진 자료형으로 숫자 값을 저장합니다.

var1 = 1
var2 = 10

del 문을 사용하여 숫자 개체에 대한 참조를 삭제할 수도 있습니다. del 문의 구문은 다음과 같습니다.

del var1[,var2[,var3[....,varN]]]]

del 문을 사용하여 단일 개체 또는 여러 개체를 삭제할 수 있습니다.

del var
del var_a, var_b

파이썬은 네 가지 다른 숫자 타입을 지원합니다 -

  • int (정수형)

  • long (long integers, 8진수와 16진수로 표현될 수 있다)

  • float (소수점이 포함된 숫자)

  • complex (복소수)

다음 몇 가지 예제를 보겠습니다.

int

long

float

complex

10

51924361L

0.0

3.14j

100

-0x19323L

15.20

45.j

-786

0122L

-21.9

9.322e-36j

080

0xDEFABCECBDAECBFBAEl

32.3+e18

.876j

-0490

535633629843L

-90.

-.6545+0J

-0x260

-052318172735L

-32.54e100

3e+26J

0x69

-4721885298529L

70.2-E12

4.53e-7j

  • long integer 표현을 위해 대문자L 을 사용합니다.

  • 복소수는 x + yj로 표시된 실수 부동 소수점 숫자 쌍으로 구성됩니다. 여기서 x와 y는 실수이고 j는 허수 단위입니다.

  • 8진수(Octal)를 만들기 위해서는 숫자가 0o 또는 0O(숫자 0 + 알파벳 소문자 o 또는 대문자 O)로 시작하고, 16진수(Hexadecimal)를 만들기 위해서는 0x로 시작하면 됩니다.

2) 문자열(string)

문자열은 따옴표로 묶인 연속된 문자 집합을 의미합니다. 숫자도 따옴표안에 있으면 문자열입니다. 파이썬에서는 작은 따옴표나 큰 따옴표를 사용할 수 있습니다. 문자열의 부분 집합은 슬라이스 연산자 ([ ] 및 [ : ])를 사용하여 가능합니다. 문자열 시작 위치는 0이고 끝 위치는 -1 입니다.

플러스 (+) 기호는 문자열 연결 연산자이고 별표 (*)는 반복 연산자입니다.

str = 'Hello World!'
print str          # Prints complete string
print str[0]       # Prints first character of the string
print str[2:5]     # Prints characters starting from 3rd to 5th
print str[2:]      # Prints string starting from 3rd character
print str * 2      # Prints string two times
print str + "TEST" # Prints concatenated string

위 코드의 실행 결과는 다음과 같습니다.

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

3) 리스트(list)

리스트는 파이썬의 복합 데이터 유형 중 가장 다양한 기능을 제공합니다.

리스트에는 쉼표로 구분되고 대괄호 ([ ])로 묶인 항목이 있습니다. C의 배열과 차이점은 리스트에 속한 모든 항목이 다른 데이터 유형이 될 수 있다는 것입니다.

리스트에 저장된 값은 슬라이스 연산자 ( [ ] 및 [ : ] )를 사용하여 액세스 할 수 있습니다. 인덱스는 목록의 시작에서 0부터 시작하여 끝은 -1입니다. 더하기 (+) 기호는 목록 연결 연산자이고 별표 (*)는 반복 연산자입니다.

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print list          # Prints complete list
print list[0]       # Prints first element of the list
print list[1:3]     # Prints elements starting from 2nd till 3rd 
print list[2:]      # Prints elements starting from 3rd element
print tinylist * 2  # Prints list two times
print list + tinylist # Prints concatenated lists

위 코드의 실행 결과는 다음과 같습니다.

['abcd', 786, 2.23, 'john', 70.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

4) 튜플(tuple)

튜플은 리스트와 비슷한 또 다른 시퀀스 데이터 유형입니다. 튜플은 리스트와 동일하게 쉼표로 구분된 여러 값으로 구성됩니다. 그러나 리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러싸여 있습니다. 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없습니다.

튜플은 읽기 전용 리스트로 생각할 수 있습니다. 실제 프로그램에서는 값이 변경되는 형태의 변수가 훨씬 많기 때문에 평균적으로 튜플보다는 리스트를 더 많이 사용하게 됩니다.

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print tuple           # Prints complete list
print tuple[0]        # Prints first element of the list
print tuple[1:3]      # Prints elements starting from 2nd till 3rd 
print tuple[2:]       # Prints elements starting from 3rd element
print tinytuple * 2   # Prints list two times
print tuple + tinytuple # Prints concatenated lists

위 코드의 결과는 다음과 같습니다.

 ('abcd', 786, 2.23, 'john', 70.2)
 abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

튜플을 변경하려고 시도했으므로 다음 코드는 튜플에 대해 허용되지 않습니다. 이런 코드의 경우 리스트에서는 수행 가능합니다.

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

5) 사전(dictionary)

파이썬의 사전은 일종의 해시 테이블 형식을 말합니다. 사전은 연관 배열 혹은 해시처럼 작동하며 Key와 Value라는 것을 한 쌍으로 갖는 자료형입니다. 사전의 키(Key)는 거의 모든 파이썬 유형이 될 수 있지만 일반적으로 숫자 또는 문자열이고, 사전의 값(Value)은 임의의 Python 객체가 될 수 있습니다.

사전은 중괄호 ({ })로 묶이고 값은 대괄호 ([ ])를 사용하여 할당하고 액세스 할 수 있습니다. 파이썬 사전에는 순서의 개념이 없습니다

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

print dict['one']       # Prints value for 'one' key
print dict[2]           # Prints value for 2 key
print tinydict          # Prints complete dictionary
print tinydict.keys()   # Prints all the keys
print tinydict.values() # Prints all the values

위 코드의 결과는 다음과 같습니다.

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

6) 자료형 변환

기본 제공 자료형 간에 변환을 수행하려면 형식 이름을 함수로 사용하기 만하면 됩니다. 하나의 데이터 유형에서 다른 데이터 유형으로 변환을 수행하는 몇 가지 내장 함수가 있습니다. 이 함수는 변환된 값을 나타내는 새 객체를 반환합니다.

Sr.No.

Function & Description

1

int(x [,base]) : x를 정수로 변환합니다. base는 x가 문자열 인 경우 기본을 지정합니다.

2

long(x [,base] ) : x를 long integer로 변환합니다. base는 x가 문자열 인 경우 기본을 지정합니다.

3

float(x) : x를 부동 소수점 숫자로 변환합니다.

4

complex(real [,imag]) : 복소수를 만든다.

5

str(x) : 객체 x를 문자열 표현으로 변환합니다.

6

repr(x) : 오브젝트 x를 표현식 문자열로 변환합니다.

7

eval(str) : 문자열을 평가하고 객체를 반환합니다.

8

tuple(s) : s를 튜플로 변환합니다.

9

list(s) : s를 리스트로 변환합니다.

10

set(s) : s를 집합으로 변환합니다.

11

dict(d) : 사전을 만든다. d는 반드시 (키, 값) 튜플의 시퀀스여야 합니다.

12

frozenset(s) : s를 고저오딘 집합으로 변환합니다.

13

chr(x) : 정수를 문자로 변환합니다.

14

unichr(x) : 정수를 Unicode 문자로 변환합니다.

15

ord(x) : 하나의 문자를 정수 숫자로 변환

16

hex(x) : 정수를 16진수 문자열로 변환

17

oct(x) : 정수를 8진수 문자열로 변환

Previous4.4. 자료형과 연산자Next4.4.2. 파이썬 연산자

Last updated 6 years ago

Was this helpful?