Back_End/Python[+Django,FastAPI]

[ 백엔드 공부하기 : Python ] 파이썬 개념 공부하기 _ 02 : 알고가면 좋은 문법 사항들.

안다미로 : Web3 & D.S 2025. 1. 5. 01:00

 

 

 

 

[ 백엔드 공부하기 : Python ] 파이썬 개념 공부하기 _ 02

 : 알고가면 좋은 문법 사항들.

 


 

∇ 세미콜론 여부.

     : 파이썬은 세미콜론(;)을 굳이 붙이지 않아도 됩니다.

         ( 줄바꿈시 자동으로 구문이 종료됨을 인식 )

print('hello world!)
print('hello world!); print('hello!')

 


 

∇ 주석.

# 한줄 주석
# 주석 : 사람만 알아볼 수 있도록 작성하는 부분, 인터프리터가 처리하지 않아 실행에 영향을 주진 않음
# 앞에 샵(#)을 붙이면 주석 처리가 됨


''' 블록 주석 '''
'''
 블록주석은
 작은 따옴표(')를 연달아 세개 사용하여 표기
 작은 따옴표 시작 부분부터
 또 다른 작은 따옴표가 나올 때 까지
 주석처리가 됨
'''
   
""" Document String """
""" 
    큰 따옴표(")를 연달아 세개 사용하여 표기하면
    모듈, 함수, 클래스, 메서드 등을 만들때 자체에
    설명서를 등록하는 역할을 함.
    즉, 큰띠옴표는 설명서! 
"""

 

 


∇ 행 분리 ( 명시적인 줄 결합 )

1줄의 내용이 길어서, 가독성을 위해서 여러줄로 타이핑을 해야할 경우엔 \를 사용해서 줄끼리 결합을 할 수 있습니다.

# 원래 코드
if 1900 < year < 2100 and 1 <= month <= 12 and 1 <= day <= 31 and 0 <= hour < 24 ...

# 바꾼 코드
if 1900 < year < 2100 and 1 <= month <= 12 \
   and 1 <= day <= 31 and 0 <= hour < 24 \
   and 0 <= minute < 60 and 0 <= second < 60:   # Looks like a valid date
        return 1
        
# 역 슬래시로 끝나는 줄은 주석이 포함될 수 없음.
# 역 슬래시는 주석을 결합하지 못함. 
# 역 슬래시는 문자열 리터럴을 제외한 어떤 토큰도 결합하지 못함.

 


∇ 행 분리 ( 묵시적인 줄 결합 )

괄호( () ),  대괄호 ( [] )  , 중괄호 ({} ) 가 사용되는 표현은 역 슬래시 없이도 여러 개의 줄로 나눌 수 있음

 

 

month_names = ['Januari', 'Februari', 'Maart',      # These are the
               'April',   'Mei',      'Juni',       # Dutch names
               'Juli',    'Augustus', 'September',  # for the months
               
               'Oktober', 'November', 'December']   # of the year

print("이것은 아주아주 긴 글이다."
		"이렇게 타이핑도 가능하다")

# 묵시적으로 이어지는 줄들은 주석을 포함할 수 있음.
# 이어지는 줄들의 들여쓰기는 중요하지 않음. 
# 중간에 빈 줄이 들어가도 됨. 
# 묵시적으로 줄 결합하는 줄 들 간에는 NEWLINE 토큰이 만들어지지 않음. 
# 묵시적으로 이어지는 줄들은 삼중 따옴표 된 문자열들에서도 등장할 수 있는데 이 경우는 주석이 포함될 수 없음.

 

 


∇ 들여쓰기

     파이썬은 들여쓰기 자체가 반드시 지켜야 하는 문법.

     (안맞는걸 발견못하고 왜 에러가 나지 할때 그 킹받음이란..)

# 다양한 들여쓰기 오류
 def perm(l):                       # error: first line indented
for i in range(len(l)):             # error: not indented
    s = l[:i] + l[i+1:]
        p = perm(l[:i] + l[i+1:])   # error: unexpected indent
        for x in p:
                r.append(l[i:i+1] + x)
            return r                # error: inconsistent dedent
   
   
# 오류 수정 후
def perm(l): 
	for i in range(len(l)): 
		s = l[:i] + l[i+1:]
		p = perm(l[:i] + l[i+1:])
		for x in p:
			r.append(l[i:i+1] + x)
	return r

 

 


 

∇ 예약어(키워드)