Lecture 강의

Undergraduates 학부 Graduates 대학원 Lecture 역학 Lecture 설계 Lecture IT(IoT, AI) Lecture SAP2000 Lecture 아바쿠스 Lecture 파이썬 Lecture 엑셀 VBA Lecture 마이다스 Lecture 이탭스

[02. 문법] 2.1 용어 - 구문, 주석, 변수, 모듈, 패키지, 연산자. 괄호

작성자 : kim2kie

(2023-02-19)

조회수 : 1047

[참조]

 
파이썬 코딩에 사용되는 용어는 다음과 같다.

(1) 키워드(keyword) 

(2) 식별자(identifier): 변수명 만들기

(3) 구문(statement)의 들여쓰기(indentation)

(4) 주석(comment)

(5) 변수(variable)

(6) 데이터 타입(data type)

(7) 입출력(input/output)

(8) 모듈(module)

(9) 패키지(package), import

(10) 연산자(operator)

(11) 여러 줄 → 한줄(;); 한 줄 → 여러 줄(\)

(12) 괄호: 소괄호, 중괄호, 대괄호

 


  

(1) 키워드(keyword) 

  • 특정 기능을 수행하도록 미리 예약되어 있는 (33개) 단어(즉, 예약어)를 말하며, 사용자가 클래스,함수,변수 등의 이름으로 사용할 수 없다.
  • and, as, assert, break, class, continue, def, del, elif, else, except, FALSE
    finally, for, from, global, if, import, in, is, lambda, None, nonlocal
    not, or, pass, raise, return, try, while, with, yield, TRUE

 

(2) 식별자(identifier): 변수명 만들기

  • 식별자란 변수, 함수, 클래스, 모듈 또는 다른 객체를 식별하는데 사용되는 이름을 말한다. 
    • 소문자(a~z) 또는 대문자(A~Z) 또는 숫자(0~9) 또는 밑줄(_)의 조합일 수 있다. 
      예) myClass, var_1print_this_to_screen
    • 대문자와 소문자를 구분한다.
      예) Variable과 variable은 다른 변수이다.
    • 클래스 이름은 대문자로 시작한다. 다른 모든 식별자는 소문자로 시작한다.
      예) class MyClass:
    • 1개의 밑줄로 시작: 내부적으로 사용되는 변수이다.
      예) 
      _variable
    • 1개의 밑줄로 종료: 파이썬 기본 키워드와 충돌을 피하려고 사용된다.
      예) 
      class_
    • 2개의 밑줄로 시작: 클래스 속성으로 사용한다.
      예) 
      __attribute
    • 2개의 밑줄로 시작하고 종료: 파이썬이 제공하는 특수 특성 및 메서드를 나타낸다.
      예) __name__
    • 2개의 밑줄로 종료: 사용자가 조정할 수 있는 네임스페이스 안의 속성이다.
      예) name__
    • 식별자는 숫자로 시작될 수 없다.
      예) 1variable은 오류이지만 variable1은 괜찮다.
    • 키워드는 식별자로 사용할 수 없다.
      예) and, as, assert, break, class, continue, def, del, elif, else, except, False, finally, for, from
      global, if, import, in, is, lambda, None. nonlocal, not, or, pass, raise, return, try, while, with, yield, True
    • !, @, #, $, % 등 특수 기호는 우리 식별자에서 사용할 수 없다.
      예) 
      a@ = 0
    • 식별자의 길이는 제한이 없다.
       
  • Q) 네임스페이스(namespace)란?
    https://wikidocs.net/23109

 

(3) 구문(statement)의 들여쓰기(indentation)

  • "구문"의 표기는 텍스트의 시작 위치는 (탭이나 공백을 사용하여) "들여쓰기"를 사용한다.
  • 구문을 합치고자 할 때는 세미콜론(;)을 사용한다.
     
  • Ex) >>> ....구문
  • Ex) >>> 구문1; 구문2

 

(4) 주석(comment)

  • 주석은 코딩의 가독성을 높여주는 이정표같은 것으로 매 라인의 앞에 #로 시작한다.
     
  • Ex) >>> # 주석

 

(5) 변수(variable)

  • 변수는 변하는 수의 약어로 파이썬 코딩에서는 var로 사용된다.
    Ex) >>> a = 5
  • 연속 대문자로 구성된 변수를 사용하지 말 것!  
    In Python conventions, variables with two capital letters are often used to simulate private variables.
    Ex) MT, CT, KT

 

(6) 데이터 타입(data type)

  • 파이썬에는 6가지 데이터 타입이 존재한다.
    • Numeric(숫자) 타입: int(정수), float(소수), complex(복소수)
    • Sequence(나열) 타입: str(문자열), list(리스트), tuple(튜플)
    • Mapping(매핑) 타입: dict(딕셔너리)
    • Set(집합) 타입: set(집합)
    • Boolean(불리언~참/거짓) 타입: bool(불리언)
    • Binary(바이너리~이진수) 타입: bytes, bytearray, memoryview

 

(7) 입출력(input/output)

  • 일반적인 입력함수는 input()이며, 출력함수는 print()이다.

 

(8) 모듈(module), import

  • 모듈(module)은 각종 변수, 함수, 클래스를 담고 있는 파일이다. 
  • import 키워드를 사용하여 모듈을 코딩에 가져올 수 있다.

 

(9) 패키지(package)

  • 패키지(package)는 여러 모듈을 묶은 것이다.

 

(10) 연산자(operator)

  • Arithmetic(산술) 연산자: +, -, *, /, %, //, **
    (Note: //는 나눈 후, 나온 값보다 같거나 작은 최대 정수를 반환한다. MATLAB의 floor( / ) 함수에 해당한다.)

    기능

    MATLAB(1)

    PYTHON

    C++

    F77, F90/95(2)

    덧셈

    뺄셈

    곱셈

    나눗셈

    지수

    나머지

    증가분

    감소분

    그룹 구분

    +

    -

    * 및 .*

    / 및 ./

    ^ 및 .^

     

     

     

    ( )

    +

    -

    *

    /

    pow(3) 또는 **

    %

    ( )

    +

    -

    *

    /

    pow(3)

    %

    ( )

    +

    -

    *

    /

    **

     

     

     

    ( )

    (1) MATLAB에서 연산자 앞의 ‘.’는 요소별(또는 스칼라) 연산이 필요할 경우 사용한다.

    (2) F90/95에서는 필요한 경우 새로운 연산자를 정의하여 사용할 수 있다.

    (3) xy는 함수를 사용하여, pow(x, y)로 나타낸다.

     



     
  • Comparison(비교) 연산자: >, <, ==, !=, >=, <=
  • Logic(논리) 연산자: and, or, not
     

    기능

    MATLAB

    PYTHON

    C++

    F90/95

    F77

     

    Equal to

    Not equal to

    Less than

    Less than or equal to

    Greater than

    Greater than or equal to

    ==

    ~=

    <=

    >=

    ==

    !=

    <=

    >=

    ==

    !=

    <=

    >=

    ==

    /=

    <=

    >=

    .EQ.

    .NE.

    .LT.

    .LE.

    .GT.

    .GE.

     

    Logical NOT

    Logical AND

    Logical inclusive OR

    Logical exclusive OR

    Logical equivalent

    Logical not equivalent

    ~

    &&

    ||

    xor

    ==

    ~=

    not

    and

    or

    ^

    ==

    !=

    !

    &&

    ||

     

    ==

    !=

    .NOT.

    .AND.

    .OR.

    .XOR.

    .EQV.

    .NEQV.

    .NOT.

    .AND.

    .OR.

    .XOR.

    .EQV.

    .NEQV.

     

     

     

    (1) Bit logical AND, exclusive OR, OR, NOT에 대해서 &, ^, |, ~를 사용한다.

     
  • Bitwise(비트) 연산자: &, |, ~, ^, >>, <<
  • Assignment(할당) 연산자: =, +=, -=, *=, /=, %=, //=, **=, &=, |=, ^=, >>=, <<=
      

    연산자

    =

    a = b

    +=

    a += b는 a = a+b를 의미

    -=

    a -= b는 a = a-b를 의미

    *=

    a *= b는 a = a*b를 의미

    /=

    a /= b는 a = a/b를 의미

    %=

    a %= b는 a = a%b를 의미

    //=

    a //= b는 a = a//b를 의미

    **=

    a **= b는 a = a**b를 의미


     
  • Colon(콜론) 연산자: :
     

    구문

    F90/95

    MATLAB/PYTHON

     

    용법

    F90/95

    MATLAB/PHTHON,

    기본 형식

    ≥B

    ≤E

    전체 영역

    마지막 인덱스

    B:E:I(1)

    B:

    :E

    :

    B:I:E

    B:

    :E

    : 또는 ...(생략기호)(3)

    -1(2)

     

    1. 배열 요소 위치

    2. 문자열에서 문자위치

    3. 반복문 제어

    4. 배열요소 생성

    사용가능

    사용가능

    사용불가

    사용불가

    사용가능

    사용가능

    사용가능

    사용가능

    (1) B = 시작값(beginning), E = 끝값(ending), I = 증분값(increment)
    (2) 배열의 마지막 인덱스: Python에서는 '-1'를 사용할 수 있다.
    예) c = array([[1, 2, 3], [4, 5, 6]])
        >>> c[-1,:]
               Out[14]: array([4, 5, 6])
        >>> c[:,-1]
               Out[15]: array([3, 6])
    (3) 생략기호(
    ELLIPSIS): 배열의 모두를 나타낼 때 Python에서는 '...'를 사용할 수 있다.
    예) c = array([[1, 2, 3], [4, 5, 6]])
        >>> c[...]

              Out[13]:  array([[1, 2, 3], [4, 5, 6]])

     
  • Special(특수) 연산자: is, is not, in, not in, 
  • 행렬곱을 위한 연산자: @
    >>> c array([[1, 2, 3],
           [4, 5, 6]])
    >>> b=c
    >>> c@b.T
    Out[19]: 
    array([[14, 32],
           [32, 77]])

 

(11) 여러 줄 → 한줄; 한 줄 → 여러 줄

  • 한 줄을 여러 줄로 나누어 쓰고자 할 경우에 역슬래쉬(\)를 사용한다.

 

Ex) 
a = 1 + 2 + 3 + \
    4 + 5 + 6 + \
    7 + 8 + 9

 

  • (), {}, []와 같이 괄호로 되어 있는 경우에는 자동으로 여러 줄을 사용할 수 있다.

 

Ex)
a = (1 + 2 + 3 +
    4 + 5 + 6 +
    7 + 8 + 9)

 

  • 구문을 합치고자 할 때는 세미콜론(;)을 사용한다.

 

Ex) 
a = 1; b = 2; c = 3

 

(12) 괄호: 소괄호 (), 중괄호 {}, 대괄호 []

1) 소괄호 ( )

    

2) 중괄호 { }

    

3) 대괄호 [ ]