[02. 문법] 2.1 용어 - 구문, 주석, 변수, 모듈, 패키지, 연산자. 괄호
작성자 : kim2kie
(2023-02-19)
조회수 : 1900
[참조]
- Dookie Kim, Python: From Beginning to Application, 2022
https://www.dropbox.com/s/oa86j9ap62esmtz/Python.pdf?dl=0
파이썬 코딩에 사용되는 용어는 다음과 같다.
(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_1, print_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 - 식별자의 길이는 제한이 없다.
- 소문자(a~z) 또는 대문자(A~Z) 또는 숫자(0~9) 또는 밑줄(_)의 조합일 수 있다.
- Q) 네임스페이스(namespace)란?
https://wikidocs.net/23109
(3) 구문(statement)의 들여쓰기(indentation)
- "구문"의 표기는 텍스트의 시작 위치는 (탭이나 공백을 사용하여) "들여쓰기"를 사용한다.
- 구문을 합치고자 할 때는 세미콜론(;)을 사용한다.
- Ex) >>> ....구문
- Ex) >>> 구문1; 구문2
(4) 주석(comment)
- 주석은 코딩의 가독성을 높여주는 이정표같은 것으로 매 라인의 앞에 #로 시작한다.
- 주석은 코드의 가독성을 높이고, 협업 시 다른 개발자가 코드를 더 쉽게 이해할 수 있도록 도와준다.
- Ex) >>> # 단일 행 주석
Ex) >>> """ 여러 줄 주석 """
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 Operator(산술 연산자): +, -, *, /, %, //, **
(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 Operator(비교 연산자): >, <, ==, !=, >=, <=
- Logic Operator(논리 연산자): 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 Operator(비트 연산자): &, |, ~, ^, >>, <<
- Assignment Operator(할당 연산자): =, +=, -=, *=, /=, %=, //=, **=, &=, |=, ^=, >>=, <<=
연산자
예
=
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 Operator(콜론 연산자): :
구문
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]])
1. 처음부터 끝가지, 2간격으로
mode_shape[0:len(mode_shape):2]
또는
mode_shape[::2]
2. 인덱스 2부터 8까지, 2 간격으로
mode_shape[2:8:2]
3. 인덱스 4부터 끝까지, 2 간격으로
mode_shape[4::2]
4. 처음부터 인덱스 6까지, 2 간격으로
mode_shape[:6:2]
- 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) 대괄호 [ ]