본문 바로가기

Computer Science/Jupyter notebook

맨날 까먹어서 적는 파이썬 기본 문법

 

간단한 파이썬 문법

 

1. print()

-괄호 안의 데이터를 화면에 출력합니다.

-문자는 큰 따옴표" 또는 작은 따옴표' 로 묶어 준 후 입력합니다. (프로그래밍 언어에 따라 구분하기도 합니다)

-숫자는 그대로 넣습니다.

2. 변수의 개념 이해하기

a = "Hello World"

b = 3

c = -11

수학에서와 다르게, b는 -3과 같다는 뜻이 아니라, -3이라는 데이터를 b라는 변수에 저장하는 것입니다.

변수 = 값(문자/숫자)

- 숫자를 저장하는 경우 : 그대로

- 문자를 저장하는 경우 : 큰 따옴표나 작은 따옴표로 묶어줍니다.

- 변수 이름은 자유롭게 설정 가능하나 숫자로 시작하거나 특수기호를 사용할 수 없습니다.

- 변수 이름에 공백을 사용할 수 없으므로 _를 대체해서 자주 사용합니다.

3. 주석

# 입력하는 내용은 주석으로 코드에 영향을 미치지 않고 메모 용도로 사용할 수 있습니다.

단축키 : 윈도우 - ctrl + / 맥 - command + /

4. 숫자 연산 기호

+ 더하기

- 빼기

* 곱하기

/ 실수 나누기 ( 결과값은 소수로 출력됨 )

% 나머지

// 정수 나누기 - 몫 ( 결과값은 정수로 출력됨 )

** 문자의 연산도 가능합니다. 이때 + 와 * 만 가능합니다.

+를 사용하면 - 두 문자가 공백 없이 그대로 붙습니다.

*를 사용하면 - 문자와 정수의 곱셈만 가능하고, 문자가 정수번 반복됩니다.

5. 자료형의 이해

정수 - int

실수 - float

문자 - str

참/거짓 - bool ex. True, False

리스트 - list

딕셔너리 - dict

6. 자료형 바꾸기

변수 = type(변수) - 변수를 type이라는 자료형으로 변환한다.

a = int(a) : a를 int로 변환

이 때, 변환 가능한 데이터는 자료형은 다르지만 표현이 같은 데이터 여야 합니다.

 

 

7. 입력문 input() 이해하기

input을 이용하면 데이터를 입력받을 수 있습니다.

 

 

name = input("이름을 입력해주세요:")
age = input("나이를 입력해주세요:")

print("이름은", name)
print("나이는", age)

 

input의 기능은 1. 안내문을 출력하고, 2. 데이터를 입력 받습니다.

이때 입력받은 데이터는 문자형태로 저장됩니다.

따라서 입력받은 14라는 숫자는 문자 1과 4가 저장된 꼴입니다. 이는 형변환을 활용하면 연산하여 이용할 수 있습니다.

 

 

 

문자열 이해하기

 

문자열은 파이썬에서 가장 많이 사용되는 데이터 형식 중 하나입니다. 일반적으로 텍스트라고 생각하는 데이터를 문자열이라고 생각하면 됩니다. 결국 텍스트 데이터는 문자들의 나열이기 때문에 문자열이라는 이름을 보편적으로 사용합니다.

문자열 데이터는 index와 value 두가지 값으로 저장됩니다.

1. 문자열 인덱싱(indexing)

 

string = "~~"
string[0]

 

앞글자부터 0 인덱스이고, 음수를 활용한 마이너스 인덱싱도 가능한데 가장 마지막 글자가 -1이 됩니다.

범위를 넘어서 인덱싱하면 에러가 뜹니다.

2. 문자열 슬라이싱(slicing)

 

string[0:2]
string[11:]

 

슬라이싱 기본형: 변수이름[index1:index2]

-이때 주의할 점은 첫번째 숫자는 포함하고 두번째 숫자는 포함하지 않는 범위의 데이터가 슬라이싱 된다는 것입니다.

string[11:] - 11- 마지막

string[:7] - 처음-6

string[:] - 전부

3. 유용한 문자열 관련 함수

- 문자열 바꾸기 : replace()

 

string1 = "브이넥 라이트 다운 베스트"
print(string1.replace("라이트", "헤비"))
print(string1)

 

실행결과 - 브이넥 헤비 다운 베스트 / 브이넥 라이트 다운 베스트

replace() 함수는 바꾸고자 하는 문자열 다음에 . 을 찍고 사용합니다. 파이썬에서 . 은 앞에 있는 변수와 관련된 기능을 사용하는 개념입니다.

이때 string1의 값 자체가 바뀌는 것은 아닌데, 아예 바꿔 업데이트 해주고 싶다면 아래와 같이 명령해야 합니다.

 

string1 = string.replace("라이트", "헤비")

 

- 앞뒤 공백 제거하기 : strip()

 

string2 = "   25,990원  "
print(string2.strip())
print(string2)

string2 = string2.strip()
print(string2)

 

실행결과

25,990원

25,990원

25,990원

strip 함수의 경우 별도의 명령어, 입력어가 필요 없으므로 괄호 안을 비워놓습니다.

- 함수 체이닝(Chaining)

 

함수들을 이어서 쓸 수 있습니다.

 

# 앞 뒤 공백제거
string2 = string2.strip()
# , 삭제
string2 = string2.replace(",", "")
# 슬라이싱
string2 = string2[:-1]

# chaining
string2 = string.strip().replace(",", "")[:-1]

 

 

 

리스트(List) in Python

 

여러개의 변수를 만드는 것 보다, 리스트 안에 저장하면 간편한 경우가 있습니다. 데이터 여러개를 쉽게 관리하기 위해서 리스트라는 개념의 데이터 구조를 활용합니다. 대괄효 [] 안에 데이터들을 , 로 구분하여 저장합니다.

저장된 데이터는 문자열 인덱싱과 같은 방법으로 하나씩 가져올 수 있습니다. 문자열과 마찬가지로 대활호 안에 index를 넣는 방법으로 사용합니다. 문자열과 리스트는 거의 비슷한 특징을 가지고 있습니다. (일부 프로그래밍 언어에서 문자열은 문자의 리스트로 구현되어 있습니다.)

- 리스트의 슬라이싱(slicing)

인덱싱과 마찬가지로 리스트에서도 슬라이싱 방법을 그대로 사용할 수 있습니다.

문자열 슬라이싱의 결과가 문자열 이듯, 리스트 슬라이싱의 결과는 작은 리스트입니다.

- 리스트의 추가와 제거

리스트는 여러가지 데이터를 저장하고 있기 때문에 리스트에 데이터를 추가하거나 리스트에 있는 데이터를 삭제도 가능합니다.

 

# 리스트에 추가
list.append("value123")
# 리스트에서 삭제
del list[1]

 

append() 함수를 사용하면 리스트에 괄호 안의 데이터를 맨 뒤에 추가 할 수 있습니다.

데이터 삭제는 del 명령어를 통해서 하고, 다른 함수들과 다르게 괄호 안의 데이터를 삭제하는 것이 아니라 공백 이후의 데이터를 삭제합니다.

- 문자열과 리스트의 길이 (Length)

 

len(list)

 

len(리스트) - 리스트의 길이를 반환, 포함하고 있는 데이터 수

len(문자열) - 텍스트 데이터의 글자 수

 

 

반복문

 

 

for i in range(1, 10):
    print(i)

 

이때 문자열과 마찬가지로 범위를 설정 할 때 앞의 숫자는 포함하고 뒤에 있는 숫자는 포함하지 않습니다. 결국 총 9회 반복됩니다.

 

 

# 숫자를 하나만 입력하면, 0부터 10까지.
for i in range(10):
# 숫자를 세 개 입력하면, 증가시키는 범위를 의미. 
for i in range(1, 10, 2):

 

리스트는 주로 반복문과 함께 사용하기 때문에 range() 없이 리스트를 직접 활용할 수 있는 반복문 사용법도 있습니다.

 

players = ["황의조", "황희찬", "구자철", "이재성", "기성용"]

print("2019년 아시안컵 출전명단:")
for p in players:
        print(p)

 

위 코드에서는 임시 변수를 리스트의 앞글자 약자를 사용하고 in range()의 형태가 아니라 in 리스트의 형태를 사용했습니다. 반복되는 출력문이 player[i]가 아닌 임시변수 p를 출력하고 있습니다. in 리스트 형식은 리스트에 있는 값들을 하나씩 가져오면서 반복하게 됩니다.