파이썬은 무엇인가?
파이썬은 Low-Level Language가 아닌 High-Level Language다. 자바의 JRE와 비슷하게 Interprreter라는 Runtime위에서 구동된다. 즉, 작성한 코드/프로그램을 구동할 때 컴파일 할 필요없다는 것.
Interpreter 란? 작성된 스크립트/코드를 실행(Run)하는 프로그램을 뜻한다.
파이썬은 IDLE 이라는게 있는데 이는 프로그램을 작성하고 디버그할 수 있는 툴이다.
Python으로 Hello World 출력하려면?
print('Hello world!')
Python으로하는 간단한 수칙 연산
2+2의 결과값은 ? 4
5+4-3의 결과값은 ? 6
곱하기는 *
나누기는 /
음수는 숫자 앞에 - 를 표기한다.
괄호 ( )는 사칙연산 우선 순위에 있음을 기억하자!
(-7 + 2) * (-4)의 결과는? 20
Python에서 사칙연산 오류는 어떻게 표현될까?
11 / 0 은? 분모가 0이므로 나눌 수 없다. 이 때 Python은 다음의 오류를 발생시킨다.
ZeroDivisionError: division by zero
파이썬은 맨 마지막줄에 Error Message를 표시한다.
Float 값은 소수를 표현한다!
3/4의 결과는? 0.75
9.87650000을 입력하면 결과는? 9.8765로 쓸데없는 0은 사라져버린다.
컴퓨터는 끊임없이 반복되는 소수(무한소수/순환소수)를 정확히 저장할 수 없다!
예) 1/3 = 0.333333333333333333333
정수를 정수로 나누면 Float이 된다.
정수 * Float은 Float이다.
정수 + Float은 Float이다.
Python은 결과가 Float이면 변수 형식을 Float으로 자동변경해준다.
>>>8/2
4.0
>>> 6*7.0
42.0
>>>4+1.65
5.65
나누기 연산에는 몫과 나머지를 구할 수 있다. 이는 어떻게 할까?
나누기 몫을 구할 때는 //를 사용
>>>20//6
3
나누기 나머지를 구할 때는 %를 사용
>>> 1.25%0.5
0.25
파이썬의 String은 " "나, ' '를 사용한다.
>>> "Hello World!!" 혹은
>>> 'Hello World!'
파이썬 String 에서 '를 사용하려면 \를 사용하자.
>>> '서점에서 책을 샀다. 제목은 \'파이썬 정복기\'
서점에서 책을 샀다. 제목은 '파이썬 정복기'
파이썬 String 에서 줄바꿈을 하려면 \n을 사용하자.
>>> '나의 이름은 \n홍길동 입니다.'
나의 이름은
홍길동 입니다.
파이썬에서 사용자 입력값은 어떻게 설정할까? input을 사용하자.
>>> input("이름을 입력하세요")
이름을 입력하세요:
String을 어떻게 합할까? + 를 사용하자.
>>> "Spam" + 'eggs'
Spameggs
>>> print("안녕" + "?" +"반가워")
안녕?반가워
String으로된 문자를 합치면 어떻게 될까?
만약 int와 string이 + 되면 TypeError가 발생한다.
>>> "2" + "2"
'22'
>>> 1 + '2'
TypeError: unsupported operand type(s) for +: 'int' and 'str'
똑같은 String을 여러번 출력하려면? String을 곱하자(*)
곱하는 숫자는 float형식이될 수 없다.
곱하는 숫자는 String형식이 될 수 없다.
>>> print("안녕"*3)
안녕안녕안녕
>>> 5*'3'
555
변수 형식은 어떻게 바꿀까?
int 형식은 int로 표기
float 형식은 float으로 표기
strings 형식은 str로 표기
>>> "2"+"3"
'23'
>>> int("2") + int("3")
5
>>float(input("숫자값 입력하세요:")) + float(input("숫자값 입력하세요:"))
숫자값 입력하세요: 50
숫자값 입력하세요: 2
52.0
파이썬에서 변수 사용하기
>>> x = 5
>>> print(x)
5
>>> pinrt(x+3)
8
변수에는 int / float / string이 모두 사용가능하다.
>>>x = 123.456
>>>print(x)
123.456
>>> x = "이건 문자열이다."
>>> print(x + "1")
이건 문자열이다!
파이썬에서 변수명 정하기
1) 파이썬의 변수명은 Case Sensitive다.
즉, Lastname과 lastname은 서로 다른 변수다.
2) 파이썬의 변수명은 영문자,숫자,그리고 _ 로만 이루어질 수 있다.
3) 파이썬의 변수명은 숫자로 시작할 수 없다.
4) 파이썬의 변수명은 공백이 있을 수 없다.
>>> this_is_anormal_name = 7
>>> 123abc = 7
SyntaxError: invalid syntax
>>> spaces are not allowed
SyntaxError: invalid syntax
값이 지정되지 않은 변수는 에러 메시지를 일으킨다!
예) NameError: name 'bar' is not defined
변수에 지정된 값을 지우려면 del을 사용한다.
예) del foo
아래 예제 코드에서 foo와 bar 변수는 metasyntactic variable라고 부른다. 그 뜻은 다음과 같다.
프로그래밍을 하다보면 책이나 웹 사이트의 예제 코드에서 foo, bar 와 같은 문자를 흔히 볼 수 있는데요, 변수명 또는 함수명을 짓거나 간단한 문자열 값이 필요한데 딱히 쓸 말이 없을 때 주로 사용하는 문자들입니다.
참조: https://futurecreator.github.io/2018/06/05/metasyntactic-variables-foo-bar/
>>> foo = "a string"
>>> foo
'a string'
>>> bar
NameError: name 'bar' is not defined
>>> del foo
>>> foo
NameError: name 'foo' is not defined
파이썬의 변수값은 사용자의 입력값으로 저장할수도 있다.
>>> foo = input("Enter a number:")
Enter a number: 7
>>> print(foo)
7
In-Place Operator는 다음과 같은 코드를 뜻한다.
예) x = x+3 을 x+=3
이는 -,*,/ 그리고 % 연산과 string에도 사용가능하다.
주의할 점!
다른 언어에서는 ++로 x+=1를 나타내지만 파이썬에서는 불가능하다.
>>> x =2
>>>print(x)
2
>>> x+=3
>>>print(x)
5
In-Place Operator을 string에 적용하면 어떻게 될까?
>>> x="spam"
>>> print(x)
spam
>>> x+="eggs"
>>> print(x)
spameggs
파이썬 1.Basic Concepts 정리 문제
1. 다음 코드의 실행결과는 무엇인가?
>>>spam = "7"
>>>spam = spam + "0"
>>> eggs = int(spam) + 3
>>> print(float(eggs))
정답: 73.0
2. 다음 코드의 실행결과는 무엇인가?
>>> word = input("Enter a word:")
Enter a word: cheese
>>> print (word+' shop')
정답: cheese shop
3. 다음 코드의 실행결과는 무엇인가?
>>> x=5
>>> y=x+3
>>> y=int(str(y)+"2")
>>> print(y)
정답: 82
4. 다음 코드의 빈칸을 채워라. x에 5를 더하고 x를 출력하라.
>>> x=4
>>> x _=5 => +
>>> print___ => 9
5. 다음 코드의 실행결과는 무엇인가?
>>> x=3
>>> num=17
>>> print(num%x)
정답: 2
댓글