
프로그래머스의 '파이썬 입문'을 풀고 정리한 내용
✓ Shell 사용법
Shell 명령어
파일이름 자동완성
✓ 리스트 수정
리스트에 새로운 값을 추가하는 방법
list1=[1,2,3]이라고 할 때list1.append(4)list2=list1+[4]리스트에 값이 들어있는지 확인하는 방법
#12라는 값이 리스트에 들어있는지 확인하는 코드
n=12
if n in list1:
print('{}가 리스트에 있다.'.format(n))
리스트에서 필요 없는 값을 지우는 방법
del list1[10] 리스트의 10번째 값을 삭제list1.remove(40)을 하면 리스트에 40이라는 값이 있는경우 삭제✓ for in range
range 함수
for i in range(5):
print(i)
enumerate
names = ['철수', '영희', '영수']
for i, name in enumerate(names):
print('{}번: {}'.format(i + 1, name))
Tip! 순회할 리스트가 정해져 있고, 그 리스트에서 하나씩 꺼내 쓰기만 되는 상황이라면 for in list를, 순회할 횟수가 정해져 있거나 1씩 증가하는 숫자가 필요하다면 for in range()를 사용하는 것을 추천
✓ 딕셔너리 수정하기
dict['three'] = 3수정
dict['one'] = 11
삭제
del(dict['one'])
dict.pop('two')
✓ 딕셔너리와 반복문
딕셔너리 반복문 활용
for key in ages.keys(): # keys() 생략 가능
print(key)
for value in ages.values():
print(value)
for key, value in ages.items():
print('{}의 나이는 {} 입니다'.format(key, value))
✓ 리스트와 비교
공통점
list = [ 1, 2 ,3 ] dict = { 'one':1, 'two':2 }list[ 0 ] dict[ 'one' ]del( list[ 0 ] ) del( dict[ 'one' ] )len( list ) len( dict )2 in list 'two' in dict.keys( )list.clear( ) dict.clear( )차이점
list1 + list2dict1.update( dict2 )✓ 튜플 만들기
튜플
tuple1 = (1, 2, 3, 4)
tuple2 = 1, 2, 3, 4
mylist = [1,2,3,4]
tuple3 = tuple(mylist)
Tip! 튜플도 리스트와 마찬가지로 index로 값을 읽어올 수 있음
✓ 튜플을 이용한 함수의 리턴값
Tip! 튜플로 리턴하기 위해 리스트나 딕셔너리를 이용할 수 있음
튜플 리스트 활용
for a in enumerate(list):
print('{}번째 값: {}'.format(a[0], a[1]))
for a in enumerate(list):
print('{}번째 값: {}'.format(*a))
튜플 딕셔너리 활용
for a in dict.items():
print('{}의 나이는:{}'.format(a[0], a[1]))
for a in dict.items():
print('{}의 나이는:{}'.format(*a))
✓ try except
try:
# 에러가 발생할 가능성이 있는 코드
except Exception: # 에러 종류
#에러가 발생 했을 경우 처리할 코드
✓ 예외의 이름을 모를 때
try:
# 에러가 발생할 가능성이 있는 코드
except Exception as ex: # 에러 종류
print('에러가 발생 했습니다', ex) # ex는 발생한 에러의 이름을 받아오는 변수
✓ raise
예외 발생
raise Exception # 에러 종류✓ bool 값과 논리연산
true, false
Tip! True나 False는 파이썬의 예약어로 true, false와 같이 사용하지 말고 첫 문자를 항상 대문자로 사용해야 함
Tip! 문자열, 리스트, 튜플, 딕셔너리 등의 값이 비어 있으면(" ", [ ], ( ), { }) 거짓이 됨. 당연히 비어있지 않으면 참이 된다. 숫자에서는 그 값이 0일 때 거짓이 됨. None은 거짓을 뜻함.
✓ List의 다양한 기능
List의 기능
list.index( value ) : 값을 이용하여 위치를 찾는 기능list.extend( [value1, value2] ) : 리스트 뒤에 값을 추가list.insert( index, value ) : 원하는 위치에 값을 추가list.sort( ) : 값을 순서대로 정렬list.reverse( ) : 값을 역순으로 정렬✓ List와 문자열
List와 String
list = str.split( ) : 문자열에서 리스트로" ".join( list ) : 리스트에서 문자열으로✓ Slice로 리스트 수정하기
slice 활용
del list[ :5 ] : 처음부터 5번째까지 삭제list[ 1:3 ] = [ 77, 88 ]list[ 1:3 ] = [ 77, 88 ,99 ] : 더 많은 개수로 변환list[ 1:4 ] = [ 8 ] : 더 적은 개수로 변환✓ 자료형 다루기
자료형
type( a ) # type( 변수명 ) : 자료형isinstance( 42, int ) # isinstance( 값, 자료형 ) : 자료형 검사✓ 모델링
모델링(modeling)
✓ super()
super()
class Animal( ):
def __init__( self, name ):
self.name = name
class Human( Animal ):
def __init__( self, name, hand ):
super().__init__( name ) # 부모클래스의 __init__ 메소드 호출
self.hand = hand
person = Human( "사람", "오른손" )
✓ 내 예외 만들기
예외 정의
try:
sign_up( )
except BadUserName:
print( "이름으로 사용할 수 없는 입력" )
except PasswordNotMatched:
print( "입력한 패스워드 불일치")
✓ List
List Comprehension
[ i*i for i in range(1,11) ] # [ 계산식 for문 ][ i*i for i in range(1,11) if i % 2 == 0 ] # [ 계산식 for문 조건문 ][ ( x, y ) for x in range(15) for y in range(15) ] # [ 계산식 for문 for문 ]✓ Dictionary
Dictionary Comprehension
{ "{}번".format(number):name for number, name in enumerate(students) } # [ 형식 for문 ]{student:score for student, score in zip(students, scores)}