본문 바로가기

책 요약 정리/파이썬 알고리즘 인터뷰

3장_파이썬 요약정리

3장_ 파이썬 

 

인덴트 : PEP 8 -> 공백 4칸을 원칙으로 한다. (깔끔한 코드를 위한 초석)

foo = long_fuction_name(var_one, var_two,
                        var_three.var_four)

첫 번째 코드에 파라미터가 있다면, 파라미터가 시작되는 부분에 보기 좋게 맞추기

def long_fuction_name(
    var_one, var_two,var_three
    var_four):
    print(var_one)

첫 번째 줄에 파라미터가 없다면, 공백 4칸 인덴트를 추가 -> 다른 행과 구분 

 

스네이크 케이스(Snake Case) : 각 단어를 밑줄(_)로 구분하여 표기하는 것

 

타입 힌트(Type Hint) : 함수의 파라미터에 어떠한 타입을 주어야 하는지 표기하는 것 

def fn(a):
	... (x)
    
    
def fn(a: int)-> bool:
	... (o)
$pip install mypy

해당 코드를 통해 온라인 코딩 테스트 시에는 타입 힌트 오류가 없는지를 자동으로 확인 가능

 

리스트 컴프리헨션 :  기존 리스트를 기반으로 새로운 리스트를 만들어 내는 구문으로, 가독성이 높은 장점이 있다. 

역할별로 줄 구분을 할 시 훨씬 가독성이 높다. 지나치게 남발하면 가독성을 떨어뜨린다. (1~2번)

a=[]
for n in range(1,11):
    if n%2 == 1:
        a.append(n*2)
a
[n*2 for n in range(1,11) if n%2==1]
a={}
for key,value in original.items():
    a[key]=value
a = {key: value for key,value in original.itmes()}

딕셔너리에도 가능하다. 

 

enumerate():  '열거하다'라는 함수로 여러 가지 자료형을 "인덱스"를 포함한 enumerate 객체로 리턴한다.

*인덱스와 값을 같이 리턴가능하다는 것이 특징 * 

 

for i,v in enumerate(a):
	print(i,v)

나눗셈 연산자 : '/'  

Ex) 7/3=2.3xxx

몫 연산자: '//'

Ex) 7//3=2

나머지 연산자: '%'

Ex) 7%3=1

몫, 나머지 동시 구현 : divmod()

>>>divmod(5,3) 

(1,2)

 

print() : 코딩 테스트 문제 풀이 과정에서 디버깅을 할 때 가장 자주 쓰는 명령어 

>>> print(a, b)  a b 

콤마(,)로 값을 구분한다. 디폴트 값으로 공백한칸이 설정되어 있다. 

 

sep 파라미터 : 구분자를 설정 가능하다. sep=', ' >>> a, b

end 파라미터: print()는 항상 줄 바꿈을 하기 때문에 end=' '을 통해 줄바꿈 처리를 방지한다. 

 

join() :. join(리스트)를 하면 매개변수로 들어온 값들을 문자열로 합쳐 반환한다.  

>>> a =['a', 'b']

>>> print(' '. join(a)).  ' ' <- 빈칸에 매개변수를 연결시킨 것을 대입 (ex _ ,. )

 

f-string 방법 : 변수를 뒤에 별도로 선언할 필요 없이 인라인으로 삽입 가능하여 편리

print(f'{idx+1}:{fruit}')

pass : NULL 연산으로 아무것도 하지 않는 기능 , 불필요한 오류를 방지할 수 있음