개발자가 되기로 마음먹은 후 프론트엔드와 백엔드를 많이 고민을 했다. 비전공자로서 경험해보지 않은 두가지 중 한가지를 선택해야 한다는 것은 많은 고민을 낳게 했다. 검색을 많이 해보고 알아보면서 눈으로 보이는 것보다는 서버에 더 흥미가 갔고 많은 고민 끝에 결국 백엔드로 선택을 하게 되었다. 계속 핫해지고 있는 언어인 파이썬을 언어로 선택하게 되었고 파이썬 백엔드 과정이 있는 위코드를 선택하게 되었다. 사전스터디 기간인 지금 스스로 파이썬을 공부하고 있고 아무래도 옛날 사람인 나는 영상보다는 책이 더 편해서 파이썬 초보 교재를 사서 공부를 시작했다. 물론 유투브 영상으로도 공부를 조금 해 보았지만 아무래도 난 정말 옛날 사람이 맞나보다. 책이 더 공부하기 편하고 집중도 잘 되는걸 보니😂
파이썬 초보책으로 책의 절반 정도를 공부하였는데 포스팅을 해보려 한다💻
http://www.python.org 에 접속하여 파이썬을 다운로드하여 대화형 개발환경인 IDLE를 이용해 공부하였다.
연산기호 | 연산 기호의 의미 | 연산기호 | 연산 기호의 의미 |
---|---|---|---|
+ | 더하기 | / | 나누기 |
- | 빼기 | % | 나머지 구하기 |
* | 곱하기 | ** | 지수승 |
Tip 정수는 5. 27. 49 와 같은 소수점이 없는 수이고, 실수는 3.0, 19.3 과 같은 소수점을 가진 수이다.
변수는 결과값을 저장하기 위한 수단이다. 변수에는 숫자나 문자(열)을 저장할 수 있고 '='기호를 사용한다. '='는 같다는 의미가 아니라 오른쪽의 값을 왼쪽의 변수에 저장한다는 의미이다. 또한, 변수는 수식에도 사용할 수 있다.
Tip 변수는 영문자, 숫자, 밑줄(_
)로만 이루어져야 하며, 공백은 절대로 들어가면 안 된다. 또, 숫자로 시작할 수 없으며, 소문자와 대문자를 명확히 구분해야 한다. 변수 이름을 만들 때는 의미 있는 이름으로 지어주면 변수명을 보고 어떤 값이 들어있는지 파악하는 데에 도움이 된다. 변수 선언이 되어 있지 않은 경우에는 에러가 발생한다.
Tip 변수에 새로운 값을 저장하면 이전에 있던 값은 사라진다.
변수에는 숫자 뿐 아니라 문자(열)를 저장할 수도 있다. 문자(열)를 저장할 때는 문자(열)의 앞과 뒤에 ' '기호를 붙여야 한다. 문자(열)는 공백과 숫자, 특수문자 등을 포함할 수 있다. 문자(열)와 문자(열)를 잇기 위해서는 '+' 연산자를 이용한다. 하지만 문자(열)와 숫자는 데이터 타입이 다르기 때문에 '+' 연산자를 이용하여 더하거나 이어붙이기를 할 수 없다.
'python' + 'test'
-> 'pythontest'
소스코드 한 줄을 주석으로 처리하기 위해서는 '#' 기호를 문장의 맨 앞에 붙인다. #기호를 문장의 중간에 붙이면 # 기호부터 그 줄의 마지막까지 주석으로 처리된다. 주석으로 처리된 코드는 프로그램의 실행에 전혀 영향을 미치지 않는다. 각 줄의 코드에 부연 설명을 적기 위해 # 기호로 주석으로 처리하기도 한다.
print ( ) 함수는 표준출력장치인 스크린에 글자를 출력하는 함수이다. ( ) 안에 출력하고자 하는 문자열, 숫자 또는 변수를 쓴다. 만약 아무런 내용 없이 print () 만 쓴다면 한 줄이 띄워진다. 또한, print ( '문자열' * 숫자 )는 '문자열'을 숫자만큼 반복해서 출력한다.
print ('Hello')
print ()
name = 'Peter'
print ('Nice to meet you, ' + name + '!')
print ('welcome' * 3)
예를 들어, 이런 소스코드를 실행시키면 다음과 같은 결과가 나온다.
Hello
Nice to meet you, Peter!
welcome welcome welcome
Tip print 문 끝에 end=' ' 를 붙이면 줄이 바뀌지 않고 공백만 하나 추가된 후 다음 출력문이 이어서 출력된다. 또한 '+' 기호 대신에 ','를 사용하면 숫자인지 문자인지에 관계없이 출력된다.
print('Ten years later, you will be', end=' ')
print(30, end=' ')
print('years old.')
이렇게 소스코드를 입력했을 때 실행결과는 다음과 같이 나온다.
Ten years later, you will be 30 years old.
input( ) 함수는 프로그램 실행 중에 표준입력장치인 키보드로부터 값을 입력받는 함수이다. 프로그램 실행 중에 input( )을 만나면 커서가 깜박거리면서 입력을 기다린다. 주의할 점은 input( )함수는 모든 입력값을 문자(열)로 반환한다는 것이다.
input('문자열')은 '문자열'을 출력한 후에 사용자로부터 값도 입력받는다.
int( ) 함수는 입력받은 정수를 문자열에서 숫자값으로 변환할 때 사용한다. 예를 들어 input( ) 함수에 정수 10을 입력하면 문자열 '10'을 반환하기 때문에 int( )를 이용하여 문자열 '10'을 정수 10으로 바꿔줄 수 있다.
int( ) 함수가 문자열을 정수로 변환했다면 str( )함수는 역으로 정수를 문자열로 변환하는 함수이다.
Age = 20
print ('I am' + Age + ' years old')
위 코드에서는 변수 Age에 숫자가 저장되어 있기 때문에 문자와 숫자는 데이터 타입이 다르기 때문에 '+' 연산을 수행할 수 없다. 따라서 str(Age)를 사용해 Age의 값을 문자열로 바꿔야 한다.
비교연산자는 if문, while문 등에서 정수, 문자열, 변수 등의 값을 비교할 때 사용한다. 비교연산자를 이용한 수식의 결과 값은 True 아니면 False로 산출된다.
비교연산자 | 의미 |
---|---|
a < b | a는 b보다 작다 |
a > b | a는 b보다 크다 |
a <= b | a는 b보다 작거나 같다 |
a >= b | a는 b보다 크거나 같다 |
a == b | a와 b는 같다 |
a != b | a와 b는 같지 않다 |
Tip '=' 기호는 대입연산자이고 '==' 기호는 비교연산자이다. 예를 들어 'a=20' 은 변수 a에 20을 저장하는 것이고, 'a==20'은 변수 a의 값과 20이 같은지 비교하는 것이다.
if문은 정수, 문자열, 변수 등의 값을 비교할 때 비교연산자나 논리연산자 등과 함께 사용한다. if, elif, else 등 조건에 의해서 실행되는 문장들은 반드시 들여쓰기를 해야 한다.
형식1
if 조건 :
실행문장 1
-> if문에서 조건 비교 결과가 True인 경우 실행문장 1 을 실행한다.
형식2
if 조건 :
실행문장 1
else :
실행문장 2
-> 조건 비교결과가 True인 경우 실행문장 1 을 실행하고, False인 경우 실행문장 2를 실행한다.
형식3
if 조건 1 :
실행문장 1
elif 조건 2 :
실행문장 2
else :
실행문장 3
-> 조건 1 의 결과가 True인 경우 실행문장 1 을 실행하고, False인 경우 조건 2 를 비교한다. 조건 2 의 결과가 True인 경우 실행문장 2 를 실행하고, False인 경우 실행문장 3 을 실행한다. 조건 1 이 True인 경우에는 elif로 내려오지 않는다.
score = 85
if score >= 90 :
print('A')
elif score <90 and score >=80 :
print('B')
else :
print('C')
-> 위 같은 if문에서는 score가 85점으로 조건 1의 결과가 False이므로 A를 출력하지 않고 elif로 내려와 조건 2 를 비교한다. 조건 2의 결과가 True이므로 B를 출력한다.
while문은 조건비교 결과가 True인 동안 블록 소스코드를 여러번 수행하는 구조로, 이를 반복문이라고 한다.
while 조건비교 :
실행문장 1
실행문장 2
실행문장 3
-> 실행문장 1, 실행문장 2, 실행문장 3을 블록 소스코드라고 한다. while문의 소스코드는 if문에서와 같이 반드시 들여쓰기를 해야 한다.
number = 1
while number <= 5 :
print ('안녕하세요')
number = number + 1
-> 이렇게 소스코드를 입력하게 되면 숫자1부터 시작하며 5보다 작거나 같은 동안 '안녕하세요'라는 문자열을 출력하게 된다. 실행결과는 다음과 같다.
안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요
random.randint(a, b)함수는 a부터 b까지의 범위 중 정수 하나를 무작위로 선택하는 기능을 가지고 있다. randint(a, b)함수는 random 모듈에 구현되어 있으므로 이를 사용하기 위해서는 random 모듈을 import해야 한다. 모듈 import는 함수를 사용하기 전 한번만 작성하면 되며, 일반적으로 소스코드의 처음 부분에 작성한다.
import random
random.randint(a, b)