Presentation is loading. Please wait.

Presentation is loading. Please wait.

Gachon CS50 Python Basics I Basic Operators 가천대학교 | 산업경영공학과 최성철 교수.

Similar presentations


Presentation on theme: "Gachon CS50 Python Basics I Basic Operators 가천대학교 | 산업경영공학과 최성철 교수."— Presentation transcript:

1 Gachon CS50 Python Basics I Basic Operators 가천대학교 | 산업경영공학과 최성철 교수

2 Basic Operators (간단한 연산)
복잡한 프로그램을 작성하기 앞서 간단한 사칙연산과 문자열 처리 등의 기본을 배워야 함 이를 위해 본 장에서는 아래 내용을 습득 1) 기본 자료형 (Data Types) 2) 연산자와 피연산자 3) 데이터 형변환 이를 통해 간단한 프로그램 작성의 기초를 익힘

3 기본 자료형 (Fundamental Data Types)
유형 설명 예시 선언 형태 수치자료형 정수형 Integer 양/음의 정수 1,2,3,100, -9 data = 1 실수형 Float 소수점이 포함된 실수 10.2, -9.3, 9.0 data = 9.0 문자형(문자형) String 따옴표 (' / ")에 들어가 있는 문자형 abc, a20abc data = 'abc' 논리/불린 자료형 Boolean 참 또는 거짓 True, False data = True

4 자료형 사용 예시 >>> a = 1 # Integer >>> b = 1 # Integer
>>> print (a, b) 1 1 >>> a = 1.5 # Float >>> b = 3.5 # Float >>> a = "ABC" # String >>> b = "101010" # String ABC >>> a = True # Boolean 대소문자 구분 >>> b = False # Boolean 대소문자 구분 True False Python Shell

5 연산자(Operator)와 피연산자(operand)
+ , - , * , / 같은 기호들을 연산자라고 칭함 연산자에 의해 계산이 되는 숫자들은 피연산자라 칭함 “3 + 2” 에서 3과 2는 피연산자 , +는 연산자임 파이썬에서 연산자의 역할은 수학에서 연산자와 동일 연산의 순서는 수학에서 연산 순서와 같음 지수 연산, 괄호 연산, 좌측에서 우측순으로 연산, 곱셈 과 나눗셈을 먼저 연산하고 덧셈과 뺄셈으로 연산 문자간에도 + 연산이 가능함

6 제곱승과 나머지 구하기 “**"는 제곱승 계산 연산자 “%"는 나머지를 구하는 연산자
>>> print (3 * 3 * 3 * 3 * 3) # 3을 다섯번 곱함 243 >>> print (3 ** 5) # 3의 5승 Python Shell “%"는 나머지를 구하는 연산자 >>> print (7 / 2) # 7 나누기 2 (정수형 계산) 3.5 >>> print (7 % 2) # 7 나누기 2의 나머지는 1 Python Shell

7 증가 또는 감소 연산 a += 1 는 a = a +1 과 같은 의미로 증가연산 (-= 동일)
>>> a = a # a 에 1를 더한 후 그 값을 a에 할당 >>> print (a) # a 출력 2 >>> a += 1 # a 증가 연산 3 >>> a = a – 1 # a 에 1를 뺀 후 그 값을 a에 할당 >>> a -= 1 # a 감소 연산 1 Python Shell

8 증가 또는 감소 연산 a = a +1 의 의미는? 만약 a = 4 일 때
a = 로 a에 다시 5가 할당(assign)됨 즉 좌변에 a는 할당 받는 변수 (variable) 우변에 a는 기존 a의 값(value)

9 데이터 형변환: 정수형 ↔ 실수형 float()와 int() 함수를 사용하여 데이터의 형변환 가능
>>> a = # a 변수에 정수 데이터 10을 할당 >>> print (a) # a가 정수형으로 출력 10 >>> a = float(10) # a를 실수형으로 변환 / 정수형은 int() >>> print (a) # a를 출력 # a가 실수형으로 출력됨 >>> b = 3 # b 에 정수 데이터 3 할당 >>> print a / b # 실수형으로 a 나누기 b를 출력 # 실수형 결과값 출력 Python Shell 10.3과 10.7 정수형으로 형변환후 덧셈하면 결과값은?

10 데이터 형변환: 정수형 ↔ 실수형 10.3과 10.7 정수형으로 형변환후 덧셈하면 결과값은?
>>> a = 10.7 >>> b = 10.3 >>> a= int(a) # a를 정수형으로 형변환후 a에 할당 >>> b = int (b) # b를 정수형으로 형변환후 b에 할당 >>> print (a+b) # 정수형 a와 b의 합을 출력 20 >>> print (a) # 정수형 a값 출력 10 >>> print (b) # 정수형 b값 출력 Python Shell 실수형으로 정수형으로 형변환시 소수점 이하 내림

11 데이터 형변환: 숫자 ↔ 문자열 문자열로 선언된 값도 int() , float()함수로 형변환 가능
>>> a = '76.3' # a에 문자열 76.3을 할당, ''은 문자열을 의미 >>> b = float(a) # a를 실수형으로 형변환후 b에 할당 >>> print (a) # a값 출력 76.3 >>> print (b) # b 값 출력 >>> print (a + b) # a와 b를 더함 그러나 문자열과 숫자열의 Traceback (most recent call last): # 덧셈이 불가능하여 에러발생 File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'float' objects Python Shell a와 b를 실수형으로 덧셈하고, 문자열로 연결하려면?

12 데이터 형변환: 숫자 ↔ 문자열 a와 b를 실수형으로 덧셈하고, 문자열로 연결하려면?
>>> a = float(a) # a를 실수형으로 형변환 후 a에 할당 >>> b = a # 실수형 a 값을 b에 할당 >>> print (a + b) # 두 실수형 더한후 출력 152.6 >>> a = str(a) # 실수형 a 값 문자열로 변환후 a 할당 >>> b = str(b) # 실수형 b 값을 문자열로 변환후 b 할당 >>> print (a + b) # 두 값을 더한 후 출력 # 문자열간 덧셈은 문자열간 단순 연결 Python Shell str() 함수는 숫자 값을 문자 값으로 변환함 데이터간의 형변환을 casting 이라고 함

13 데이터 형 확인하기 type() 함수는 변수의 데이터형을 확인하는 함수
>>> a=int(10.3) # a는 정수형으로 10.3을 할당 >>> b=float(10.3) # b는 실수형으로 10.3을 할당 >>> c=str(10.3) # c는 문자열로으로 10.3을 할당 >>> type(a) # a의 타입을 출력 <class 'int'> >>> type(b) # b의 타입을 출력 <class 'float'> >>> type(c) # c의 타입을 출력 <class 'str'> Python Shell

14 컴퓨터의 반올림 오차 아래와 같이 나오는 이유는 무엇일까? 컴퓨터의 모든 값은 이진수로 변환되어 메모리에 저장
>>> c = # c에 실수형 38.8 할당 >>> print c # c 출력 38.8 >>> c # c에 있는 값은? # 응? Python Shell 2.7 Only 컴퓨터의 모든 값은 이진수로 변환되어 메모리에 저장 Python 2.7에서만 나오는 숫자 3.8에선 정상으로 나옴

15 컴퓨터의 반올림 오차 0.1를 이진수 변환하여라 0.00011001100110011……(2)
0.1 X 2 = 0.2 → 0 0.2 X 2 = 0.4 → 0 0.4 X 2 = 0.8 → 0 0.8 X 2 = 1.6 → 1 0.6 X 2 = 1.2 → 1 0.2 X 2 = 0.4 → 0 ……… ……(2) 단순한 실수도 이진수로 변환하면 무한소수가 됨 반올림오차는 충분히 작아 반올림을 하여 일반적으로 문제가 되지 않음

16 [알아두면 상식] 컴퓨터는 왜 이진수를 쓰나? 컴퓨터는 실리콘이라는 재료로 만든 반도체로 구성됨
반도체는 특정 자극을 줬을 때 전기를 통할 수 있게 하는 물질 Source : 도체와 부도체에 반해 반도체는 전류의 흐름의 제어가 가능 전류가 흐를때 1, 흐르지 않을 때 0으로만 숫자를 표현할 수 있음 이진수 한자리를 bit라 칭하고 8개의 bit는 1byte


Download ppt "Gachon CS50 Python Basics I Basic Operators 가천대학교 | 산업경영공학과 최성철 교수."

Similar presentations


Ads by Google