본문 바로가기

웹 프로그래밍/Python

파이썬의 기초, 숫자형과 문자열

 

왜 파이썬이지?

  • 초보자도 배우기 쉽다.
  • 간결한 문법, 표준 라이브러리를 가진다.
  • 자료구조들과 OOP에 대해 간단하고 효과적인 접근법을 제공한다.
  • 인터프리터적인 특징은 대부분 플랫폼과 다양한 문제 영역에서 스크립트 작성과 빠른 응용 프로그램 개발에 이상적인 환경을 제공한다.
  • 풍부한 표준 라이브러리는 소스나 바이너리 형태로 파이썬 웹사이트, https://www.python.org/ 에서 무료로 제공, 자유롭게 배포가능하다.
  • C 나 C++로 구현된 함수나 자료 구조를 쉽게 추가할 수 있다.
  • 웹/앱에서 인공지능까지 인기가 급상승하며 주목받고 있는 언어이다.
  • 데이터 분석에 장점을 가진 스크립트 언어 (데이터 사이언티스트)

인터프리터 

프로그래밍 언어로 작성된 소스코드를 바로 실행할 수 있는 프로그램 또는 환경을 말한다.
컴파일러(원시코드를 기계어로 해석해주는 프로그램 또는 환경) 언어보다 속도가 느리다.

 

Python 의 철학

  • 아름다운 것이 보기 싫은 것보다 좋다.
  • 명시적인 것이 암묵적인 것보다 좋다.
  • 간단한 것이 복합적인 것보다 좋다.
  • 복잡한 것이 복잡한 것보다 좋다.
  • 수평한 것이 중첩된 것보다 좋다.
  • 희소한 것이 밀집된 것보다 좋다.
  • 가독성이 중요하다.
  • 규칙을 무시할 만큼 특별한 경우는 없다.
  • 하지만 실용성이 순수함보다 우선한다.
  • 에러가 조용히 넘어가서는 안된다.
  • 명시적으로 조용히 만든 경우는 제외한다.
  • 모호함을 만났을 때 추측의 유혹을 거부해라.
  • 하나의, 가급적 딱 하나의 확실한 방법이 있어야 한다.
  • 하지만 네덜란드 사람(귀도)이 아니라면 처음에는 그 방법이 명확하게 보이지 않을 수 있다.
  • 지금 하는 것이 안하는 것보다 좋다.
  • 하지만 안하는 것이 이따금 지금 당장하는 것보다 좋을 때가 있다.
  • 설명하기 어려운 구현이라면 좋은 아이디어가 아니다.
  • 설명하기 쉬운 구현이라면 좋은 아이디어다.
  • 네임스페이스는 아주 좋으므로 더 많이 사용하자!

 

수식 표현

2 + 2 Addition
2 - 2 Subtraction
2 * 2 Multiplication
2 / 2 Division
2 % 2 Modulus
2 ** 2 Square

 

Assignment(할당)

  • 변수(Variables)는 어떤 값을 갖고 있는 박스와 같다.
  • = (대입 연산자)를 이용하여 값, 또는 연산 결과를 저장한다.
  • 변수에 값을 저장하면 메모리에 저장하게 되는데, 메모리는 고유의 주소값을 가진다.
  • 주소값을 확인하려면 id() 함수를 사용한다.
  • %whos : 현재 메모리에 올라간 변수들의 목록을 확인한다.

 

1
del a
  • del : 변수를 더 이상 사용하고 싶지 않을 때 사용한다.
  • 변수 이름은 의미 있는 이름을 권장한다.
  • 소문자와 대문자는 다르게 취급하므로 주의한다.
  • 변수의 이름은 문자, 숫자, 밑줄( _ )로 이루어진다.
  • 중간에 띄어쓰기(공백)이 들어갈 수 없다.
  • 숫자로 시작할 수 없다.
  • 낙타체를 권장한다(ex. myNewCar).

 

문자열

문자, 단어 등으로 구성된 문자들의 집합을 의미한다.
파이썬에서는 홀 따옴표 또는 쌍 따옴표로 묶어준다.
예를 들어 다음과 같은 것들이 문자열이다.

"Hello Python"
'Good!! 123123'
'456'

여기서 주의할 점은 '456'은 숫자가 아닌. 문자라는 것이다.
결론은 따옴표로 둘러싸여 있으면 모두 문자열이다.

 

문자열을 만드는 방법

1. 큰 따옴표(")로 양쪽 둘러싸기

1
"Hello World"

 

2. 작은 따옴표( ' )로 양쪽 둘러싸기

1
'show me the money'

 

3. 큰 따옴표 3개를 연속( """ )으로 양쪽 둘러싸기

1
"""Life is too short, You need python"""

 

4. 작은 따옴표 3개를 연속( """ )으로 양쪽 둘러싸기

1
'''Life is too short, You need python'''

 

문자열 안에 작은 따옴표나 큰 따옴표를 포함시키고 싶을 때

1. 문자열 안에 작은 따옴표 ( ' ) 포함시키기

Python's favorite food is perl

이럴 때는 문자열을 큰 땅모표(")로 둘러싼다. 큰 따옴표 안에 들어 있는 작은 따옴표는 문자열을 나타내기 위한 기호로 인식 되지 않고 text로 인식한다.

 

1
fd = "Python's favorite food is perl"

프롬프트 창에서 fd를 입력해서 결과를 확인해보면 변수에 저장된 문자열이 그대로 출력되는 것을 볼 수 있다.

 

2. 문자열 안에 큰 따옴표 ( " ) 포함시키기

1
"Python is very easy." he says.

마찬가지로 이럴 때는 문자열을 큰 땅모표(')로 둘러싼다. 

1
say = '"Python is very easy." he says.'

 

3.  백슬래시( )를 사용해서 작은 따옴표( ' )와 큰 따옴표( " )를 포함시키기

1
2
fd = 'Python\'s favorite food is perl'
say = "\"Python is very easy.\" he says."

백슬래시( \ ) 뒤의 작은 따옴표( ' )나 큰 따옴표( " )를 문자열을 둘러싸는 기호의 의미가 아니라 문자 ( ' ), ( " ) 그 자체를 뜻한다.

 

이스케이프 코드

문자열 예제에서 여러 줄의 문장을 처리할 때 백슬래시 문자와 소문자 n을 조합한 \n 이스케이프 코드를 사용했다. 이스케이프 코드란 프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 "문자 조합"이다. 주로 출력물을 보기 좋게 정렬하는 용도로 사용한다. 몇 가지 이스케이프 코드를 정리하면 다음과 같다.

코드 설명
\n 문자열 안에서 줄을 바꿀 때 사용
\t 문자열 사이에 탭 간격을 줄 떄 사용
\\ 문자 \를 그대로 표현할 때 사용
\' 작은따옴표( ' )를 그대로 표현할 떄 사용
\" 큰따옴표( " )를 그대로 표현할 떄 사용
\r 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동)
\f 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동)
\a 벨 소리(출력할 때 PC 스피커에서 '삑' 소리가 난다)
\b 백 스페이스
\000 널 문자

 

문자열 연산하기

파이썬에서는 문자열을 더하거나 곱할 수 있다. 

 

1.문자열 더해서 연결하기

1
2
3
head = "Python"
tail = " is fun!"
head + tail

결과 >>>     'Python is fun!'
주의할점은 숫자와 문자 끼리는 ( + )를 쓸수 없다. 
( , )를 써야 한다.

 

2. 문자열 곱하기

1
2
= "python"
* 2

결과 >>>     'pythonpython'

 

3. 문자열 길이 구하기

문자열의 길이는 다음과 같이 len 함수를 사용하면 구할 수 있다.
len 함수는 print 함수처럼 파이썬의 기본 내장 함수로 별다른 설정 없이 바로 사용할 수 있다.

1
2
= "Life is too short"
len(a)

결과 >>>     17