본문 바로가기
Coding/Python

1.Basic Concepts

by 그냥그렇듯이 2019. 6. 17.
반응형

파이썬은 무엇인가?

파이썬은 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

댓글