티스토리 뷰

728x90
반응형

코드잇 강의를 듣고 파이썬 공식문서를 토대로 정리한 글입니다🙂

 

https://docs.python.org/ko/3/tutorial/index.html

 

파이썬 자습서 — Python 3.9.5 문서

파이썬 자습서 파이썬은 배우기 쉽고, 강력한 프로그래밍 언어입니다. 효율적인 자료 구조들과 객체 지향 프로그래밍에 대해 간단하고도 효과적인 접근법을 제공합니다. 우아한 문법과 동적 타

docs.python.org


파이썬 문법정리 0탄 - 기본 문법 알아보기

이 코드가 어떤 의미인지 지금 당장 몰라도 됩니다.

'이렇게 표기하는 구나' 정도로만 눈으로 훑어보고 지나가세요.

 

-

 

세미콜론 여부

다른 언어들은 구문이 끝날 때 세미콜론( ; ) 을 붙이지만 파이썬은 붙이지 않음!

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

그러나 세미콜론을 붙여도 문법 에러는 발생하진 않음.

보통 한 줄에 여러 구문을 사용할 때 세미콜론으로 구분해주기도 함.

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

 

코드블록 

특정한 통작을 위해서 코드가 모여 있는 상태를 뜻하며, 들여쓰기를 기준으로 코드 블록 구성.

같은 블록이 되려면, 들여쓰기한 칸 수가 같아야 함.

# 코드블럭( ⭕️ )

if a == 10 :
	print('10')
   	print('입니다.')
    
    
# 코드블럭( ❌ )

if a == 10 :
	print('10')
   		print('입니다.')


# 코드블럭( ❌ )

if a == 10 :
  print('10')
   	print('입니다.')
        

 

예약어(키워드) 

특정한 통작을 위해서 코드가 모여 있는 상태를 뜻하며, 들여쓰기를 기준으로 코드 블록 구성

False await  if for import
True nonlocal elif while from
None async  else pass try
or with  break  in raise 
and global  continue class except
not del return def as
is assert  yield lambda  finally

 

식별자

변수, 상수, 함수, 사용자 정의 타입 등에서 다른 것들과 구분하기 위해서 사용되는 

변수의 이름, 상수의 이름, 함수의 이름, 사용자 정의 타입의 이름 등 '이름'을 일반화 해서 지칭하는 용어.  

 

 

 

 

728x90
반응형
댓글