2021년 9월 25일 토요일

python (number,variable,string)숫자,변수,문자열

python (basic, start)기초 설치 및 시작하기

python (number,variable,string)숫자,변수,문자열

python (list) 자료구조-리스트

 

몇 가지 간단한 파이썬 명령을 사용해봅시다. 인터프리터를 실행하고 기본 프롬프트, >>>, 를 기다리세요. 

# 표시는 주석 입니다.


1. 숫자

다른 언어에서 처럼 숫자 사용 가능합니다. 

인터프리터는 간단한 계산기로 기능합니다. 표현식을 입력하면 값을 출력합니다. 표현식 문법은 간단합니다. +, -, *, / 연산자들은 대부분의 다른 언어들처럼 동작합니다. 괄호 (()) 는 묶는 데 사용합니다.

>>> 2+2
4
>>> 10+299
309
>>> (100+1)*3
303

정수 (예를 들어 2, 4, 20)는 int 형입니다. 소수부가 있는 것들 (예를 들어 5.0, 1.6)은 float 형입니다.

나눗셈 (/) 은 항상 float를 돌려줍니다. 정수 나눗셈 으로 (소수부 없이) 정수 결과를 얻으려면 // 연산자를 사용하면 됩니다. 나머지를 얻으려면 % 를 사용할 수 있습니다.

>>> 10/2
5.0
>>> 10/3
3.3333333333333335
>>> 10//3
3
>>> 10%3
1

파이썬에서는 거듭제곱을 계산할 때 ** 연산자를 사용합니다

>>> 10**3
1000

정리 - 사칙연산(+, -, *, /), 정수나누기 //, 나머지 %, 나누기 연산은 float 형태가 됨, 거듭제곱 **


2. 변수

변수에 값을 대입할 때는 등호(=)를 사용합니다. 

인터프리터에서 변수를 입력하면 변수안에 들어 있는 값을 출력합니다.

>>> width = 20
>>> height = 5 * 9
>>> width
20
>>> height
45
>>> width*height
900

변수가 《정의되어》 있지 않을 때 (값을 대입하지 않았을 때) 사용하려고 시도하는 것은 에러를 일으킵니다.

>>> n
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined


3. 문자열

숫자와는 별개로, 파이썬은 문자열도 다룰 수 있는데 여러 가지 방법으로 표현됩니다. 작은따옴표('...') 나 큰따옴표("...")로 둘러쌀 수 있는데 모두 같은 결과를 줍니다. 따옴표를 이스케이핑 할 때는 \ 를 사용할 수 있습니다.

>>> '"Isn\'t," they said.'
'"Isn\'t," they said.'
>>> "Isn't, they said."
"Isn't, they said."
>>> "Isn't, they said.
  File "<stdin>", line 1
    "Isn't, they said.
                     ^
SyntaxError: EOL while scanning string literal
>>>

만약 큰따옴표나 작은따옴표 규칙에 오류가 발생한다면 오류를 발생시킵니다.

print() 함수는 따옴표를 생략하고, 이스케이핑된 특수 문자를 출력해서 더 읽기 쉬운 출력을 만들어냅니다.

>>> s = 'First line.\nSecond line.'  # \n means newline
>>> s
'First line.\nSecond line.'
>>> print(s)
First line.
Second line.

\n : new line으로 개행을 의미합니다.

\ 뒤에 나오는 문자가 특수 문자로 취급되게 하고 싶지 않다면, 첫 따옴표 앞에 r 을 붙여서 날 문자열 (raw string) 을 만들 수 있습니다.

>>> s = r'First line.\nSecond line.'
>>> print(s)
First line.\nSecond line.

문자열은 여러 줄로 확장될 수 있습니다. 한 가지 방법은 삼중 따옴표를 사용하는 것입니다: """...""" 또는 '''...'''. 줄 넘김 문자는 자동으로 문자열에 포함됩니다. 하지만 줄 끝에 \ 를 붙여 이를 방지할 수도 있습니다.

아래 예제 참고 : \ 는 줄바꿈 처리를 하지 않는다.

>>> print(""" usage:\
... thing [opt]
... -h
... -H\
... hostname""")
 usage:thing [opt]
-h
-Hhostname

문자열은 + 연산자로 이어붙이고, * 연산자로 반복시킬 수 있습니다

>>> 3 * 'un' + 'ium'
'unununium'

두 개 이상의 문자열 리터럴 (즉, 따옴표로 둘러싸인 것들) 가 연속해서 나타나면 자동으로 이어 붙여집니다.

>>> 'Python''Py' 'thon'
'PythonPython'

변수들끼리 혹은 변수와 문자열 리터럴을 이어붙이려면 + 를 사용해야 합니다

>>> prefix = 'Py'
>>> prefix + 'thon'
'Python'

문자열은 인덱스 (서브 스크립트) 될 수 있습니다. 첫 번째 문자가 인덱스 0에 대응됩니다. 문자를 위한 별도의 형은 없습니다. 단순히 길이가 1인 문자열입니다

인덱스는 음수가 될 수도 있는데, 끝에서부터 셉니다 마지막 문자의 인덱스는 -1 입니다.

>>> word = 'Python'
>>> word[0]
'P'
>>> word[-1]
'n'

인덱싱에 더해 슬라이싱(slicing) 도 지원됩니다. 인덱싱이 개별 문자를 얻는데 사용되는 반면, 슬라이싱은 부분 문자열(substring)을 얻는 데 사용됩니다.

슬라이싱 개념은 [X:Y] X는 포함하는 인덱스를 출발하여 Y까지로 하되 Y는 포함하지 않는다.

from position X (included) to Y (excluded)

 +---+---+---+---+---+---+
 | P | y | t | h | o | n |
 +---+---+---+---+---+---+
   0   1   2   3   4   5   6
  -6  -5  -4  -3  -2  -1

예를 들어 ho 라는 부분 문자열을 얻기위해서 index -3,3 는 'h'로 출발하고 'n' 위치는 포함하지 않는 index인 5,-1이 되어야한다.

>>> word = 'Python'
>>> word[-3:-1]
'ho'
>>> word[3:5]
'ho'
>>> word[-3:0]
''
>>> word[-3:-4]
''
>>> word[-3:-3]
''
>>> word[3:3]
''
>>> word[3:4]
'h'
>>> word[3:-1]
'ho'

첫 번째 인덱스를 생략하면 기본값 0 이 사용되고, 두 번째 인덱스가 생략되면 기본값으로 슬라이싱 되는 문자열의 길이가 사용됩니다.

아래 예제에서 첫번째 생략하면 0, 두번째가 생략되면 문자열 길이 6과 같아진다.

>>> word = 'Python'
>>> word[3:5]
'ho'
>>> word[:5]
'Pytho'
>>> word[0:5]
'Pytho'
>>> word[3:]
'hon'
>>> word[3:6]
'hon'

파이썬 문자열은 변경할 수 없다. 필요하다면 새로 생성 해야한다.

>>> word[0]='Z'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> word = 'Python'
>>> 'Z'+word[1:]
'Zython'

내장 함수 len() 은 문자열의 길이를 돌려준다.

>>> len('Python')
6


정리

문자형(type)은 없음, 문자열 길이가 1임

파이썬 문자열은 변경할 수 없습니다. 변경하려고 하면 새로 만들어야 합니다.

내장 함수 len() 은 문자열의 길이를 돌려줍니다:




댓글 없음:

댓글 쓰기