SlideShare a Scribd company logo
1 of 16
Download to read offline
널널한 교수의 기초 파이썬
05_2 자료형, 수치오류, 복소수
창원대학교 정보통신공학과 박동규, 주효진, 김덕구
동영상 강의자료와 코드
• 동영상 강의(널널한 교수의 기초 파이썬)
• https://www.youtube.com/watch?
v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX
• 소스코드( GitHub )
• https://github.com/dongupak/Basic-Python-Programming
기본 데이터 자료형
정수 음의 자연수, 0, 자연수를 포함하는 수
실수 소수점 이하 값도 함께 표현할 수 있는 수
• 정수형(int)
• Ex : 1,2,3, -100, -200,…
• 부동소수형(float)
• Ex : 1.0, 2.0, 3.141592, 3.33333, 3456.789
• 부울형(bool) : True, False
• 문자열(str) : ‘Hello’, “World”,…
정수와 실수 사용
결과
numberEx1.py
수치 오류
• 1/3 의 답은 무엇일까?
• 0.3333333… 으로 시작하여 무한히 긴 3의 값을 가지는 수이다
• 컴퓨터는 무한을 표현할 수 없다
• 아래와 같이 표현된 실수 값이 파이썬에서 사용하는 float 형이
다( 오차를 포함하고 있다 )
정밀도 한계
• 분수 1/3을 컴퓨터는 어떻게 표현해야 하나?
• 컴퓨터에서는 실수값을 표현할 때 (-1)s× M × 2E 와 같이
부호비트 s, 유효숫자 M, 지수 E를 이용하여 표현하며 이
값을 2진수로 저장한다
컴퓨터의 실수 표현
0 0 0 … 0 0 0 0 0 … 0
s
(부호)
E(지수부) M(가수부)
10진수 2003.0을 2진수로 바꿔보자.
2003.0 = 11111010011(2) = 1.1111010011(2) × 210
이므로, E = 10, M = 1.1111010011(2)이다.
정수와 실수 출력 예제
numberEx2.py 결과
파이썬의 실수 값은 실수 영역까지 다룰 수 있는 대신 정밀도에 한계가 있다
위의 예제에서 0.1 + 0.1 + 0.1 의 수학적인 결과는 0.3이다
그러나 파이썬은 이 값을 0.3과 다르다고 판단한다??????
0.1은 부동소수점수(floating point number)라고 하는데 컴퓨터는 이 수를
저장할 때 가수부, 지수부로 나누어 저장한다.
이렇게 저장된 값은 오차를 포함하고 있다 따라서 0.1+0.1+0.1의 결과는
다음과 같다
Lab
정수
• 실수와 마찬가지로 프로그래밍 언어의 정수값도 그 범위가 정해져 있다.
• 그러나 파이썬의 정수는 그 범위의 제한이 존재하지 않음
• 시스템 메모리가 허용하는 한계까지 사용가능함
• 10100 을 구해보자
정수의 연산
• 나누기 연산은 /(나누기), %(나머지 구하기), //(몫 구하기)의
세가지가 있음
11 ÷ 2 = 5 … 1
몫 나머지
11 ÷ 2 = 5.5
실수로 된 결과값
나눗셈 값 출력
division.py
결과
복소수
https://en.wikipedia.org/wiki/Complex_number
실수
허수
복소수 자료형
• 복소수는 실수의 확장된 개념으로 실수부와 허수부를 가지는 수이다
• 파이썬은 복소수 형을 제공하며 다음과 같이 사용한다
복소수 자료형
• 복소수를 표현하는 방법은 3 + 4j혹은 3 + 4J와 같이 허수부에 j나 J를 붙여서 표
현하는 방법과 함께 complex(3,4)와 같이 complex 클래스를 이용하여 표현할
수 있다(i를 쓰지 않음)
• 실수부는 .real, 허수부는 .imag 멤버변수로 조회할 수 있다
• 켤레복소수는 conjugate() 메소드로 구하며 , abs() 함수로 복소수의 크기를 알 수
있다
감사합니다

More Related Content

What's hot (7)

5.model evaluation and improvement(epoch#2) 2
5.model evaluation and improvement(epoch#2) 25.model evaluation and improvement(epoch#2) 2
5.model evaluation and improvement(epoch#2) 2
 
7.woring with text data
7.woring with text data7.woring with text data
7.woring with text data
 
포인터의기초 (2) - 포인터 사용하기1
포인터의기초 (2) - 포인터 사용하기1포인터의기초 (2) - 포인터 사용하기1
포인터의기초 (2) - 포인터 사용하기1
 
3.포인터
3.포인터3.포인터
3.포인터
 
Nlp study1
Nlp study1Nlp study1
Nlp study1
 
포인터의 기초(1)
포인터의 기초(1)포인터의 기초(1)
포인터의 기초(1)
 
Kgc2012강연 이석준
Kgc2012강연  이석준Kgc2012강연  이석준
Kgc2012강연 이석준
 

Similar to 05 2 자료형수치오류복소수

Similar to 05 2 자료형수치오류복소수 (11)

03_2_조건식
03_2_조건식03_2_조건식
03_2_조건식
 
문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의문과생 대상 파이썬을 활용한 데이터 분석 강의
문과생 대상 파이썬을 활용한 데이터 분석 강의
 
12 1 예외처리(try-except)
12 1 예외처리(try-except)12 1 예외처리(try-except)
12 1 예외처리(try-except)
 
04 6 파이썬내장함수
04 6 파이썬내장함수04 6 파이썬내장함수
04 6 파이썬내장함수
 
02_1_변수와친해지기
02_1_변수와친해지기02_1_변수와친해지기
02_1_변수와친해지기
 
05 3 문자열포매팅
05 3 문자열포매팅05 3 문자열포매팅
05 3 문자열포매팅
 
20160126_python
20160126_python20160126_python
20160126_python
 
04 4 입력과출력함수
04 4 입력과출력함수04 4 입력과출력함수
04 4 입력과출력함수
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
 
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
GopherCon Korea 2015 - Python 개발자를 위한 Go (이경찬)
 
파이썬 데이터 분석 (18년)
파이썬 데이터 분석 (18년)파이썬 데이터 분석 (18년)
파이썬 데이터 분석 (18년)
 

More from Changwon National University

More from Changwon National University (20)

생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdf생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdf
 
2011 app center Changwon National Univ.
2011 app center Changwon National Univ.2011 app center Changwon National Univ.
2011 app center Changwon National Univ.
 
인공지능의 파도가 온다
인공지능의 파도가 온다인공지능의 파도가 온다
인공지능의 파도가 온다
 
Mobile Healthcare Application
Mobile Healthcare ApplicationMobile Healthcare Application
Mobile Healthcare Application
 
바다 즐기기
바다 즐기기바다 즐기기
바다 즐기기
 
알아두면 편리한 macOS 에디터 단축키와 기능
알아두면 편리한 macOS 에디터  단축키와 기능알아두면 편리한 macOS 에디터  단축키와 기능
알아두면 편리한 macOS 에디터 단축키와 기능
 
키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)
 
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
 
20 2 강의를 마치며
20 2 강의를 마치며20 2 강의를 마치며
20 2 강의를 마치며
 
20 1 코딩스타일
20 1 코딩스타일20 1 코딩스타일
20 1 코딩스타일
 
18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리
 
18 1 파이썬패키지
18 1 파이썬패키지18 1 파이썬패키지
18 1 파이썬패키지
 
17 2 필터함수와 맵함수
17 2 필터함수와 맵함수17 2 필터함수와 맵함수
17 2 필터함수와 맵함수
 
17 1 람다함수
17 1 람다함수17 1 람다함수
17 1 람다함수
 
16 1 상속과super()
16 1 상속과super()16 1 상속과super()
16 1 상속과super()
 
15 2 클래스정의와self
15 2 클래스정의와self15 2 클래스정의와self
15 2 클래스정의와self
 
14 4 슬라이싱
14 4 슬라이싱14 4 슬라이싱
14 4 슬라이싱
 
14 2 iterator
14 2 iterator14 2 iterator
14 2 iterator
 
14 3 리스트함수
14 3 리스트함수14 3 리스트함수
14 3 리스트함수
 
14 1 리스트의 메소드
14 1 리스트의 메소드14 1 리스트의 메소드
14 1 리스트의 메소드
 

05 2 자료형수치오류복소수

  • 1. 널널한 교수의 기초 파이썬 05_2 자료형, 수치오류, 복소수 창원대학교 정보통신공학과 박동규, 주효진, 김덕구
  • 2. 동영상 강의자료와 코드 • 동영상 강의(널널한 교수의 기초 파이썬) • https://www.youtube.com/watch? v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX • 소스코드( GitHub ) • https://github.com/dongupak/Basic-Python-Programming
  • 3. 기본 데이터 자료형 정수 음의 자연수, 0, 자연수를 포함하는 수 실수 소수점 이하 값도 함께 표현할 수 있는 수 • 정수형(int) • Ex : 1,2,3, -100, -200,… • 부동소수형(float) • Ex : 1.0, 2.0, 3.141592, 3.33333, 3456.789 • 부울형(bool) : True, False • 문자열(str) : ‘Hello’, “World”,…
  • 5. 수치 오류 • 1/3 의 답은 무엇일까? • 0.3333333… 으로 시작하여 무한히 긴 3의 값을 가지는 수이다 • 컴퓨터는 무한을 표현할 수 없다 • 아래와 같이 표현된 실수 값이 파이썬에서 사용하는 float 형이 다( 오차를 포함하고 있다 )
  • 6. 정밀도 한계 • 분수 1/3을 컴퓨터는 어떻게 표현해야 하나? • 컴퓨터에서는 실수값을 표현할 때 (-1)s× M × 2E 와 같이 부호비트 s, 유효숫자 M, 지수 E를 이용하여 표현하며 이 값을 2진수로 저장한다
  • 7. 컴퓨터의 실수 표현 0 0 0 … 0 0 0 0 0 … 0 s (부호) E(지수부) M(가수부) 10진수 2003.0을 2진수로 바꿔보자. 2003.0 = 11111010011(2) = 1.1111010011(2) × 210 이므로, E = 10, M = 1.1111010011(2)이다.
  • 8. 정수와 실수 출력 예제 numberEx2.py 결과 파이썬의 실수 값은 실수 영역까지 다룰 수 있는 대신 정밀도에 한계가 있다 위의 예제에서 0.1 + 0.1 + 0.1 의 수학적인 결과는 0.3이다 그러나 파이썬은 이 값을 0.3과 다르다고 판단한다?????? 0.1은 부동소수점수(floating point number)라고 하는데 컴퓨터는 이 수를 저장할 때 가수부, 지수부로 나누어 저장한다. 이렇게 저장된 값은 오차를 포함하고 있다 따라서 0.1+0.1+0.1의 결과는 다음과 같다
  • 9. Lab
  • 10. 정수 • 실수와 마찬가지로 프로그래밍 언어의 정수값도 그 범위가 정해져 있다. • 그러나 파이썬의 정수는 그 범위의 제한이 존재하지 않음 • 시스템 메모리가 허용하는 한계까지 사용가능함 • 10100 을 구해보자
  • 11. 정수의 연산 • 나누기 연산은 /(나누기), %(나머지 구하기), //(몫 구하기)의 세가지가 있음 11 ÷ 2 = 5 … 1 몫 나머지 11 ÷ 2 = 5.5 실수로 된 결과값
  • 14. 복소수 자료형 • 복소수는 실수의 확장된 개념으로 실수부와 허수부를 가지는 수이다 • 파이썬은 복소수 형을 제공하며 다음과 같이 사용한다
  • 15. 복소수 자료형 • 복소수를 표현하는 방법은 3 + 4j혹은 3 + 4J와 같이 허수부에 j나 J를 붙여서 표 현하는 방법과 함께 complex(3,4)와 같이 complex 클래스를 이용하여 표현할 수 있다(i를 쓰지 않음) • 실수부는 .real, 허수부는 .imag 멤버변수로 조회할 수 있다 • 켤레복소수는 conjugate() 메소드로 구하며 , abs() 함수로 복소수의 크기를 알 수 있다