빠르게 활용하는 파이썬 3.2 프로그래밍 – 12장 숫자이야기


 

Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다.

빠르게 활용하는 파이썬 3.2 프로그래밍
[구매하기]

빠르게 활용하는 파이썬 3.2 프로그래밍 – 1장 파이썬 개요 및 설치, 2장 자료형 및 연산자
빠르게 활용하는 파이썬 3.2 프로그래밍 – 3장 함수
빠르게 활용하는 파이썬 3.2 프로그래밍 – 4장 제어
빠르게 활용하는 파이썬 3.2 프로그래밍 – 5장 클래스
빠르게 활용하는 파이썬 3.2 프로그래밍 – 6장 모듈
빠르게 활용하는 파이썬 3.2 프로그래밍 – 7장 예외처리
빠르게 활용하는 파이썬 3.2 프로그래밍 – 8장 입출력
빠르게 활용하는 파이썬 3.2 프로그래밍 – 10장 문자열이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 11장 날짜이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 12장 숫자이야기
빠르게 활용하는 파이썬 3.2 프로그래밍 – 13장 파일 시스템을 자유자재로
빠르게 활용하는 파이썬 3.2 프로그래밍 – 14장 데이터베이스

▣ 12장 숫자 이야기

12.1 수학(math) 모듈
내장함수 : 대부분의 수학관련 함수가 math 모듈에 존재, 자주 사용되는 아래의 함수에 대해서는 내장함수로 제공
sum(iterable[, start]) : iterable 객채의 총합계
max(iterable, *[, key]) : iterable 객채의 최대값
min(iterable, *[, key]) : iterable 객채의 최소값
abs(x) : x의 절대값
pow(x, y[, z]) : x의 y 제곱값(z가 있을시 z로 나눈 나머지)
round(number[, ndigits]) : x의 반올림(n을 자리수)
divmod(a, b) : a/b의 몫과 나머지를 튜플형태로 반환

상수 :math 모듈에 정의
math.pi : 원주율(\pi)
math.e : 지연상수(e) 값

수치 연산 : math의 수치연산 함수
math.ceil(x) : N>=x를 만족하는 가장 작은 정수 N을 반환(올림)
math.floor(x) : N< =x를 만족하는 가장 큰 정수 N을 반환(내림) math.trunc(x) : x의 정수부분만 반환(버림) math.copysign(x, y) : y의 부호만 x에 복사해서 반환 math.fabs(x) : x의 절대값 math.factorial(x) : x의 계승을 반환(x! : x 팩토리알) math.fmod(x, y) : c라이브러리의 fmod 함수 호출 (x%y 연산과 항상동일하진 않음) math.fsum(iterable) : iterable 객채의 총합계 math.modf(x) : x의 순수 소수부분과 정수부분으로 분리해 튜플로 반환(분리된 두부분 모두 부호가 할당) 지수, 로그연산 math.pow(x, y) : x의 y제곱([latex]x^{y}[/latex]) math.sqrt(x) : x의 제곱근([latex]\sqrt{x}[/latex]) math.exp(x) : e의 x제곱([latex]e^{x}[/latex]) math.log(x[, base]) : 밑을 base 으로 하는 log x의 결과를 반환(base 가 없으면 자연로그([latex]ln^{x}[/latex])으로 연산) 삼각함수 연산 math.degrees(x) : 라디안으로 표현된 각도를 60분법으로 변환 math.radians(x) : 60분법으로 표현된 각도를 라디안 으로 변환 기본삼각함수는 생략 http://docs.python.org/3/library/math.html 12.2 분수(fractions) 모듈 유리수와 관련된 연산을 효율적으로 처리하고자 분수(fractions)모듈 추가 클래스 생성자 class fractions.Fraction(numerator=0, denominator=1) : 분자(numerator), 분모(denominator)를 받아서 처리 class fractions.Fraction(other_fraction) : 다른 fraction 객체를 받아서 생성 class fractions.Fraction(string) : 문자열을 받아서 객체 생성 from_float(flt) : 실수 값을 받아 fraction 객체를 생성 from_decimal(dec) : 10진수 값을 받아 fraction 객체를 생성 limit_denominator(max_denominator=1000000) : 입력받은 분모의 최대값을 넘지않은 가장 가까운 fraction 객체 찾아 반환 __floor__() : 해당 유리수를 넘지 않는 가장 큰 정수를 반환(내림) math.floor() 에 의해 호출 __ceil__() : 해당 유리수를 넘는 가장 작은 정수를 반환(올림) math.ceil() 에 의해 호출 __round__(), __round__(ndigits) : 반올림해서 가장 가까운 정수를 반환 fractions.gcd(a, b) : 두정수 사이의 최대 공약수를 반환 http://docs.python.org/3/library/fractions.html 12.3 십진법(decimal) 모듈 실수를 표현하기 위해 float자료형보다 Decimal 클래스를 제공 부동소수점 표현방식 수치 데이터를 표현하기 위해 정수는 고정 소수점 방식, 실수는 부동 소수점 방식을 사용 부동 소수점 방식이란, 소수점의 위치를 고정하지 않고 그위치를 나타내는 수를 따로 적는 방식으로 유효숫자를 나태내는 가수, 소수점 위치를 나타내는 지수로 나누어 표현 ((가수)*(밑수)^(지수)) 컴퓨터 시스템은 일반적으로 이진법을 사용하기 때문에 밑수를 2로 하고 부호를 나타내는 하나의 비트를 추가해서 3부분으로 나누어 표현 그래서(?) 컴퓨터에서는 부동소수점 으로 표현되는 수가 원래 실수를 정확하게 못나타내는 문제가 있음 그래서 파이썬에서는 십진법 모듈을 지원(무한대 표현이 가능, 정밀도 조정 가능) Decimal 객체 생성 class decimal.Decimal(value="0", context=None) : value 으로 정수, 문자열, 튜플, Decimal 객체 를 안자로 받아 생성 Decimal 객체간에 수치 연산 가능 Decimal 객체의 내장 메서드 sqrt(context=None) : Decimal의 제곱근 exp(context=None) : e**Decimal 의 결과 ln(context=None) : Decimal의 자연로그 compare(other, context=None) : 두 Decimal객체를 비교 copy_abs() : Decimal의 절대값을 반환 copy_negate() : Decimal의 음수값을 반환 copy_sign(other, context=None) : 원본 Decimal 객체에 인자(other)의 부호를 갖는 Decimal 반환 is_signed() : 부호비트가 설정되어 있으면 True is_finite() : 유한수의 경우 True is_infinite() : 무한수의 경우 True is_zero() : 0 인경우 True Decimal 객체의 설정 decimal.getcontext() : decimal 객체의 환경 설정확인 decimal.setcontext() : decimal 객체의 환경 설정 http://docs.python.org/3/library/decimal.html 12.4 랜덤(random) 모듈 random.seed(a=None, version=2) : 임의 숫자 생성기의 초기화 random.random() : 0.0 <= F < 1.0 사이의 임의의 float 숫자 생성 random.uniform(a, b) : 인자로 받은 두 값 사이의 float 숫자 생성 random.gauss(mu, sigma) : 가우스 분포(정규분포)의 난수를 반환 random.randrange(start, stop[, step]) : 내장함수의 range()의 아이템중에서 임의로 선택해 반환 random.randint(a, b) : a <= N <= b 인 이의의 정수 N을 반환 random.choice(seq) : 입력받은 시퀀스 객체중 임의의 아이템을 반환 random.shuffle(x[, random]) : 입력받은 시퀀스 객체를 섞음 random.sample(population, k) : population(시퀀스, 또는 set 객체) 로부터 중복없이 k개 만큼을 추출 http://docs.python.org/3/library/random.html?highlight=random#random  


This entry was posted in Python/Ruby/Perl, Reading and tagged , , . Bookmark the permalink.

댓글 남기기