어떤 프로그래밍 언어를 배우더라도 항상 접하게 되는 최초의 프로그램인 "Hello World"를 만나게 됩니다.
그리고 Python의 기본 사칙연산 연산자와 변수의 개념을 익힘으로서, 간단한 산수 계산을 Python을 이용하여 할수 있도록 합니다.
가장 기초적인 "Hello World 프로그램"을 입력하고 실행해 봅니다.
아직은 프로그램의 의미를 모르겠지만, 간단하게 Hello World
라는 문장을 화면에 출력하는 프로그램입니다.
아래의 코드를 입력하고 실행해 봅니다.
print("Hello World")
In [ ]
으로 표현된 입력창(박스)안에 (위의) Python 프로그램을 타이핑하는 것을 의미하며,print()
문법은 Python에서 괄호안의 내용을 화면에 출력합니다.
위의 예제와 같이 "
"
기호로 앞뒤를 감싼 문자열을 주면, 해당 문자열을 그대로 출력합니다.
print("Hello World")
Hello World
print(7+3)
과 같이 계산식을 주면, 계산한 결과 값을 화면에 출력하는 기능을 수행합니다.
아래의 입력창에서 print(7+3)
를 입력하고 실행해 봅니다.
print(7+3)
10
Python의 더하기와 빼기 연산자는 이미 수학에서 배운 기호인 +
와 -
를 동일하게 사용합니다.
단순하게 정수들을 더하고 빼는 작업을 해봅니다.
다음의 각줄을 '한줄씩' 아래의 입력창에 입력하고 실행하여, 제대로 된 더하기와 빼기 연산이 이루어 지는 것을 확인합니다.
4 + 13
15 - 3
4 + 13
17
15 - 3
12
위에서 나타낸 두 연산식을 한줄씩 실행하지 않고, 두줄을 한번에 모두 실행하는 것은 print()
문법을 사용하여, 다음과 같이 하면 가능합니다.
print(4 + 13)
print(15 - 2)
아래 입력창에 상기 print()
문법을 사용한 두줄을 한꺼번에 입력해서, 실행해 보기바랍니다.
print(4 + 13)
print(15 - 2)
17 13
Python의 곱하기 연산자는 수학에서 사용하는 x
기호가 아닌 *
기호를 사용합니다.
다음을 아래의 입력창에 입력하고 실행하여, 제대로 된 곱하기 연산 이루어 지는 것을 확인합니다.
9 * 9
9 * 9
81
Python을 포함한 컴퓨터 프로그래밍 언어의 나누기는 조금 복잡하게 느낄 수 있습니다.
Python은 나누기 관련 3개의 연산자가 있습니다.
첫번째, /
은 Division 연산자라고 하며, 나누기 결과를 실수로 출력하는 수학의 나누기 연산자의 역할을 합니다.
두번째, //
은 Integer (혹은 floor) Division 연산자라고 하며, 몫을 출력합니다.
세번째, %
는 Remainder 연산자라고 하며, 나머지를 출력합니다.
: 가장 다양하게 활용되며 12번마다 반복하는 코드를 만들고싶으면 12로 나눈 나머지의 종류로 12개의 순환마디를 만들수 있습니다.
간단하게 다음의 수식들을 각각 한줄씩 입력하고 실행하여 결과를 확인해 봅니다.
11 / 2
11 // 2
8.5 % 3.5
11 / 2
5.5
11 // 2
5
8.5 % 3.5
1.5
Python에서 자주 사용하는 다른 기본 연산자는 -
와 **
가 있습니다.
기호 -
가 변수나 숫자의 앞에 있으면, 양수를 음수로 바꾸고, 음수를 양수로 바꾸는 역할(Negation)을 합니다.
기호 **
는 Exponentiation 연산자라고 하며, 지수 계산을 합니다.
간단하게 다음의 수식을 각각 한줄씩 입력하고 실행하여 결과를 확인해 봅니다.
-5
2 ** 5
-5
-5
2 ** 5
32
Python은 이외에도 다양한 목적의 연산자를 지원합니다.
특별히 복수의 연산자가 한줄에 섞여서 사용될 경우에 대한 연산자 우선순위는 다음과 같으며, 상위가 낮은 우선 순위입니다.
Operator | Description |
---|---|
+, - | Addition and subtraction |
*, /, //, % | Multiplication, Division, floor division, remainder |
+x, -x | Positive, negative |
** | Exponentiation |
Python은 기본 연산자외에도 다양한 연산자를 지원합니다.
각 연산자에 대한 설명과 연산자 간 우선순위에 대해서 구체적으로 알고 싶다면 관련 자료 혹은,
Python 공식 언어 웹사이트(https://docs.python.org/3/reference/expressions.html)를 방문합니다.
1+2*3**3
55
위의 예시의 경우 연산자가 가장 먼저 계산되고 그다음 연산자 + 연산자 순으로 계산되므로 1 + 2 3 3 = 1 + 2 * 27 = 1 + 54 = 55 입니다.
Python과 같은 컴퓨터 프로그래밍 언어는 무한한 실제 세상을 유한한 컴퓨터의 세상에 담기 위하여, 다양한 데이터 타입을 제공합니다.
가장 기초적인 데이터 타입은 수학의 정수(integer), 실수(float) 및 복소수(complex) 입니다.
Python 프로그래밍을 하면서, 프로그램에서 사용하는 데이터의 타입을 알고 싶으면 type()
문법을 사용하면 됩니다.
다음의 문장을 각각 한줄씩 입력하고 실행하여 결과를 확인해 보면, type()
문법으로 숫자의 타입을 출력하는 것을 실습할 수 있습니다.
type(17)
type(17.0)
type(17)
int
type(17.0)
float
Python에서 숫자는 기본적으로 위와 같이 십진법을 사용합니다.
하지만 필요시에는 8진법 혹은 16진법과 같은 다른 진법을 사용하기도 합니다.
이 경우 숫자가 8진법인 경우는 숫자앞에 0o
를 붙여서 0o34처럼 십진법의 28을 나타내며,
16진법의 경우는 숫자앞에 0x
를 붙여서 0x34처럼 십진법의 52을 나타내기도 합니다.
위에서 0o
의 0
는 숫자 0
이고, o
는 알파벳 O
의 소문자 o
이며,
0x
의 0
는 숫자 0
이고, x
는 알파벳 X
의 소문자 x
입니다.
다음의 문장을 각각 한줄씩 입력하고 실행하여 결과를 확인하여 실습해보기 바랍니다.
0o34
0x34
0o34
28
0x34
52
다음은 수학 기호를 이용하여 화씨 온도인 F를 섭씨 온도인 C로 변환하는 것을 나타낸 것입니다.
Fahrenheit to Celsius (수학)
: $C=(F-32)*\frac{5}{9}$
수학 수업을 통해서, 우리는 F에 어떤 값을 대입할 경우에, 해당 수식을 계산할 수 있음을 알고 있습니다.
즉, F
에 212이라는 값을 대입 한다면, C
는 100이라는 값으로 계산이 된다는 것을 이해하는 것이지요.
이런 경우, F
는 변하는 값을 갖는 변수로서, 예제의 경우는 212의 값을 갖으며, C
도 변수로서 이경우 100이라는 값을 갖게 됩니다.
이와 같이, Python에서도 변수를 만들어서, 필요한 시점에 필요한 값을 '저장'하는 용도로 활용합니다.
Python과 같은 컴퓨터 프로그래밍 언어에서의 변수 이름은 반드시 용도를 이해할 수 있는 길이와 단어를 사용합니다.
위의 수학 공식을 Python 코드 스타일로 바꾸면 다음과 같이 됩니다.
Fahrenheit to Celsius (Python)
:
degree_celsius = (degree_fahrenheit - 32) * 5 / 9
실제로 다음의 코드를 아래의 입력창에 입력하고, 수행하여 화씨 212도가 섭씨 100도로 제대로 변환이 되는지를 확인해 봅니다.
degree_fahrenheit = 212
degree_celsius = (degree_fahrenheit - 32) * 5 / 9
print(degree_celsius)
Python에서의 변수명은 대소문자 알파벳으로 시작해서 가능하면 이름이 명확한 의미를 전달할 수 있는 명사와 동사를 섞어서 사용하기 권합니다.
degree_fahrenheit = 212
degree_celsius = (degree_fahrenheit - 32) * 5 / 9
print(degree_celsius)
100.0
주석(Comment)은 1) 내가 만든 코드를 미래의 내가 다시 읽을때 이해를 쉽게 하기 위한 용도,
그리고 2) 내가 만든 코드를 남에게 주었을때 다른 사람이 내가 만든 코드를 쉽게 이해하기 위한 용도로 활용합니다.
실제 Python에 의해서는 실행되지 않는 문장이며, 사람간에 소스 프로그램에 대한 정보를 전달하기 위함입니다.
Python에서의 주석은 줄의 시작 부분에 #
기호를 삽입합니다.
예를 들어 앞서 섭씨/화씨 변환 프로그램에 주석을 달면 다음과 같습니다.
# Purpose: Fahrenheit to Celsius
# Date: 2018. 9. 1
# Written by: Sungwon Lee
degree_celsius = (degree_fahrenheit - 32) * 5 / 9
# degree_fahrenheit: target variable to convert
# Contact: drsungwon@khu.ac.kr
최근의 Agile과 같은 프로그래밍 기법은 설계 문서 보다는 동작하는 코드를 중시하는 바,
설계 문서를 작성하는 대신에 소스 코드 안에 미리 주석 문으로 수행해야 하는 동작을 기술한 후,
실제 Python과 같은 컴퓨터 프로그래밍 언어로 주석문의 내용을 1:1로 구현하는 방식의 기법을 많이 사용합니다.
이렇게 함으로서 주석 구문을 설계 방법 처럼 사용하는 것이니, 많이 활용해 보기 바랍니다.
Python 코드로 아래의 계산을 수행하고 결과를 print()
문법을 사용하여 출력합니다.
단순하게 결과 값을 출력하는데 그치지 말고, 왜 그런 결과 값이 나왔는지에 대해서 이해합니다.
특별히 어떤 경우에 정수/소수 결과가 나오는지 확인해 봅니다.
9-3
8*25
9/2
9/-2
9//2
9//-2
9%2
9.0%2
9%2.0
9%-2
-9%2
9/-2.0
4+5*5
(4+3)*5
print(9-3)
print(8*25)
print(9/2)
print(9/-2)
print(9//2)
print(9//-2)
print(9%2)
print(9.0%2)
print(9%-2)
print(-9%2)
print(9/-2.0)
print(4+5*5)
print((4+3)*5)
6 200 4.5 -4.5 4 -5 1 1.0 -1 1 -4.5 29 35
Python을 사용하여 섭씨 온도를 화씨 온도로 변경하는 간단한 프로그램을 만들어 봅니다.
1) 변수 temp를 생성하고, 값 24로 설정합니다.
2) temp의 값을 섭씨 온도로 가정하여, 이를 화씨 온도로 바꿉니다. 이렇께 바꾼 결과값을 다시 temp 변수에 저장합니다.
3) 결과 확인을 위하여 temp 값을 print()
문법을 사용하여 출력합니다.
temp = 24
temp = temp*1.8+32
print(temp)
75.2
print(27**(1/3))
print(121**0.5)
3.0 11.0
Step_06_Boolean (0) | 2021.05.18 |
---|---|
Step_05_String (0) | 2021.05.15 |
Step_04_Functions_Part_2 (0) | 2021.05.13 |
Step_03_Functions_Part_1 (0) | 2021.05.10 |
Anaconda3 설치 및 Jupyter notebook 실행 (3) | 2021.05.06 |
댓글 영역