파이썬 python

[파이썬] 파이썬 기초

하늘아래현서 2023. 3. 2. 20:30

0. 기초

※ 인터프리터 언어

파이썬은 인터프리터 언어다. 컴파일러는 전체를 다 읽고 번역하여 실행하지만 인터프리터는 코드를 한 줄 읽고 번역하고 실행한다. 컴파일러는 전체를 다 번역하고 나면 다시 번역하지 않기 때문에 실행속도가 빠르다. 인터프리터는 줄 단위로 번역하기 때문에 번역 속도는 빠르지만 프로그램을 실행하면 실행 속도는 느리다. 

 

1. 자료형

※ 숫자형 : 실수형의 소수점 표현은 e10 또는 E10으로 지수승을 표현할 수 있다.

ex) a = 4.24E10 = 4.24 * 1010

ex) a = 4.24e-10 = 4.24 * 10-10

 

※ 제곱 연산 표현  : ** 연산자로 제곱을 표현할 수 있다.

a = 3
b = 4
print(a ** b) #81

※ 나눗셈 연산 표현 :

- 나눈셈 후 나머지를 반환하는 연산자 : % 연산자

- 나눗셈 후 몫 반환하는 연산자 : / 연산자 (-> 실수형으로 반환한다.) // 연산자 (-> 정수형으로 반환한다.)

 

2. 문자열 자료형

※ 문자열(String) 나타내는 방법 : " " (큰따옴표)나 ' ' (작은따옴표)로 나타낸다.

"hello world" #쌍따옴표
'hello world' #따옴표
"""hello world""" #쌍따옴표 3개
'''hello world''' #따옴표 3개

문자열은 문자들의 집합이다. 문자열 안에 "" (쌍따옴표), ''(따옴표) 등이 있다면 문자열을 만드는 방법이 달라진다.

 

- 문자열 내에 작은 따옴표를 포함시키고 싶다면 큰따옴표로 둘러싼다. 단, 작은따옴표로 둘러싸면 오류이다.

"Life's cool" #'Life's cool' is error

 

- 문자열 내 큰 따옴표를 포함시키고 싶다면 마찬가지로 작은따옴표로 둘러싸면 된다.

'"Life is cool"' #"Life is cool"

 

- 백슬래시(\) 뒤에 큰 따옴표나 작은 따옴표를 붙이면 문자열 기호가 아니라 문자 그 자체를 뜻하게 할 수도 있다.

"\"Life is cool\"" #"Life is cool"

 

※ 문자열 인덱싱(Indexing)

a = "Life is cool"
print(a[0]) #L

a에 저장된 문자열 배열을 인덱스 번호로 가리킬 수 있다. (인덱스 번호는 0부터 시작한다.)

하지만 a[0] = 'R'과 같이 값의 요소를 바꿀 수는 없다.

a = "Life is cool"
print(a[-1]) #l

문자열을 배열 맨 뒤에서부터 표현한다면 -1부터 시작하면 된다.

 

※ 문자열 슬라이싱(Slicing)

슬라이싱으로 원하는 문자열을 잘라서 가져올 수도 있다.

a = "Life is cool"
print(a[0:4]) #Life
print(a[:4]) #Life
print(a[8:]) #cool

a[시작 인덱스:끝 인덱스]로 지정하면 시작 인덱스부터 끝 인덱스 바로 앞까지 잘라온다.

a[생략 : 끝 인덱스]로 표현하면 처음부터 끝 인덱스 앞까지 잘라온다.

마찬가지로 a[시작 인덱스 : 생략]으로 표현하면 시작 인덱스부터 마지막 글자까지 잘라온다.

 

※ 문자열 포맷

% 기호를 써서 원하는 부분에 원하는 값을 삽입할 수 있다.

%d는 정수 삽입, %s는 문자열 삽입, %c는 문자 한 개 삽입이다.

그 중에서도 %s를 쓰면 해당 값이 문자인지 정수인지 문자열인지 실수인지를 자동으로 맞춰준다.

a = "What a %s day" %good
print(a) #What a good day

- 공백 표현하기 

s = "%10s" %"hello"
print(s) #     hello

%10s는 전체 길이 10인 문자열 배열에 해당 문자열을 오른쪽으로 정렬하고 나머지는 공백으로 두는 것을 의미한다.

 

- 소수점 표현하기

i = "%0.4f" %0.1234567
print(i) #0.1234

. 뒤에 소수점 뒤에 나올 숫자의 개수를 의미한다.

 

- format() 함수를 활용하기

s = "I have {0} cats".format(2)
print(s) #I have 2 cats

format 함수로 숫자, 문자, 변수 등을 대입해서 쓸 수 있다.

cats = 2
dogs = "three"
s = "I have {0} cats and {1} dogs".format(cats, dogs)

print(s) #I have 2 cats and three dogs