맨체스터 사는 개발자

지금 까지 공부한 것 정리 본문

개발/Python

지금 까지 공부한 것 정리

aaamy91 2021. 9. 15. 07:55
list = [1, 3, 5]
list.append(7) # [1, 3, 5, 7]


list = [1, 3, 5]
list1 = list + [4] # [1, 3, 5, 4]

for문이나 if 문 같이 범위가 있는 것은 들여쓰기로 구분이 되며 괄호가 아닌 콜론(:) 으로 시작함

if , elif, else 순

if mine == SCISSOR:
    result = '가위'
elif mine == ROCK:
    result = '바위'
else:
    result = '나머지'

함수 정의는 def 를 이용

def function():       
    print('안녕, 함수!')

매개변수도 당연히 사용 가능

def print_round(number): 
    rounded = round(number)
    print(rounded)  

print_round(4.6) 
print_round(2.2)

C언어에서 %d, %c, %s 같은 것은 {} 와 .format 으로 구현

number = 20
welcome = '환영합니다'
base = '{} 번 손님 {}'

# 아래 3개의 print는 같은 값을 출력합니다.
print(number,'번 손님',welcome)
print(base.format(number,welcome))
print('{} 번 손님 {}'.format(number,welcome))
# => 20 번 손님 환영합니다

문자열이든 정수든 실수든, C++ 처럼 앞에 변수형 지정 필요없이 그냥 변수 선언 후 집어 넣으면 됨

사용자 입력 받는 것

 

리스트

list1 = [1,2,3,4,5]

print(list1[0])    # 1이 출력됩니다.
print(list1[1])    # 2가 출력됩니다.
print(list1[5])    # 리스트에 들어있는 값보다 큰 값을 읽어오려고 하면 에러가 발생합니다.

범위는 넘어가는 값을 입력하면 에러가 발생하나, -1 을 하면 가장 끝의 값이, -2 는 끝에서 두 번째 값이 나옴

list1 = [1,2,3,4,5]

print(list1[-1])    # 5가 출력됩니다.
print(list1[-2])    # 4가 출력됩니다.

리스트에 값 추가 방법 .append 또는 + 리스트

list = [1, 3, 5]
list.append(7) # [1, 3, 5, 7]

list2 = [1, 3, 5]
list3 = list2 + [4] # [1, 3, 5, 4]

list4 = list + list2 # [1, 3, 5, 1, 3, 5]

리스트에 특정 값이 있는지 체크

# 12라는 값이 리스트에 들어있는지 확인하는 코드
n = 12
if n in list1:    # list1에 12가 있으면 print문이 실행됩니다.
    print('{}가 리스트에 있다.'.format(n))

리스트에서 특정 값 삭제

del list1[10]       # 리스트의 10번째 값을 지웁니다.
list1.remove(40)    # 리스트에 40이라는 값이 있는 경우 삭제합니다.
                    # 여러개의 값이 있는 경우 가장 앞에 있는 하나만 지워집니다.

리스트 순회

numbers= [1, 2, 3, 4, 5]

for number in numbers:
    print(number)

range 는 필요한 만큼의 숫자를 만들어 내는 기능

for i in range(5):
    print(i)          # 0, 1, 2, 3, 4가 출력됩니다.

range 를 이용해서 배열 순회

names = ['철수', '영희', '바둑이', '귀도', '비단뱀']

for i in range(len(names)):
    name = names[i]
    print('{}번 : {}'.format(i + 1, name))

enumerate 는 리스트가 있는 경우 순서와 리스트의 값을 전달하는 기능을 함

names = ['철수', '영희', '영수']
for i, name in enumerate(names):
    print('{}번 : {}'.format(i + 1, name))
    
1번 : 철수
2번 : 영희
3번 : 영수

 

모듈은 뭐 C++ 에서 #include 랑 비슷 함

import math       # 수학과 관련된 기능
import random   # 무작위와 관련된 기능

math.pi          # 모듈이름.모듈안의 구성요소
random.choice()

모듈 생성도 쉬움. 새로운 .py 을 만들어서 필요한 함수나 변수를 생성한 다음 저장. 예를 들어 my_module.py 로 저장했다고 치자

그리고 다른 .py 에서 import my_module 로 함수나 변수 사용하면 됨

 

딕셔너리

대충 키:값 의 형태

dict = {
    'one':1,
    'two':2,
    'three':3
}

print(dict['two']) # 결과값은 2

값은 리스트를 가질수도 있음

dict = {
    'one':[1,2,3],
    'two':2,
    'three':3
}

print(dict['one']) # 결과값은 [1,2,3]

값의 변경은 일반 리스트 변경과 같고, 값 추가는 Append 같은거 필요 없이 그냥 넣으면 됨

dict = {
    'one':[1,2,3],
    'two':2,
    'three':3
}

dict['one'] = 11
print(dict['one']) # 결과값은 11

dict['four'] = 4
print(dict) # 결과값은 {'one':11, 'two':2, 'three':3, 'four':4}

제거는 del 과 pop, pop의 특징은 지우는 값을 리턴해줌

del(dict['one'])
print(dict) # {'two': 2, 'three': 3}

print(dict.pop('two')) # 2
print(dict) # {'three': 3}

dictionary iterate

ages = {
    'Kim':22,
    'Lee':23,
    'Park':24
   }
   
# key 값만 iterate
for key in ages.keys():
 print(key)
 
# value 만 iterate
for value in ages.values():
 print(value)
 
# key, value iterate
for key, value in ages.items():
 print(key, value)

단 dictionary 는 출력할 때 순서를 안지켜주기 때문에 순서가 중요하다면 list 를 사용해야 함

 

dict1 = { 1:1000, 2:2000 }
dict2 = { 1:100, 3:3000}

#update 는 딕셔너리 두 개를 합치는 것
dict1.update(dict2) # dict1 = {1:100, 2:2000, 3:3000}

1 in dict1.keys() # True
4 in dict1.keys() # True

2000 in dict1.values() # True
1 in dict1.values() # False

 

Packing, Unpacking 이라는 문법이 있음

Packing 은 한 변수에 여러개의 값을 넣는 것을 의미하고 Unpacking 은 Packing 된 변수에서 여러개의 값을 꺼내오는 것을 의미

x = 3,4,5 튜플일 때, a,b,c = x 로 받으면 각각 a,b,c, 에 x 의 값이 들어간 것을 확인할 수 있음

 

이 상태에서 a,b = b,a 하면 b=3, a=4 가 됨. temp 를 만들어서 바꿀 필요가 없음

함수 리턴도 똑같이 가능

 

position = x,y 이런 식도 가능

 

걍 Packing 은 튜플 만드는 것이라고 보면 되고, Unpacking 은 C++ 에서 auto [x, y] = z 와 같다 (뭐라고 부르는지 까먹음)

 

 

 

여기까지가 오늘까지 공부 한 내용

'개발 > Python' 카테고리의 다른 글

[Python] Slice 와 Step  (0) 2021.11.14
[Python] List 의 대표적인 기능들과 string  (0) 2021.11.12
[Python] if 문 관련해서  (0) 2021.11.12
[Python] raise  (0) 2021.11.11
[Python] try/exception  (0) 2021.11.11