Python

[개미의 걸음 Python 2차시] 파이썬 기초 용어(연산자, 표현식,키워드, 식별자, 주석)

IT개미 데이터 2020. 7. 7. 23:23
728x90

표현식→문장→프로그램

표현식[Expression] 어떤 값을 만들어 내는 코드
문장[Statement] 표현식이 하나 이상 모인 것
프로그램 문장이 모인 것

 

 

 

키워드[Keyword]

파이썬에서 특별한 의미가 부여된 단어

True False None and or
If Else elif pass return
for in while break continue
import from is as not
def class lambda with except
raise global try finally nonlocal
yield del assert    
  • 사용자가 변수 등의 이름을 설정할 때 키워드를 사용하면 안된다.
  • 대소문자를 구별하므로 대소문자가 다르면 이름으로 설정가능
  • 일반적으로 키워드들은 특별한 색상으로 입력되어 쉽게 구분 가능

 

 

 

 

식별자[Identifier]

프로그래밍 언어에서 이름을 붙일 때 사용하는 단어

주로 변수 또는 함수 이름 등으로 사용됨

  • 식별자는 키워드를 사용하면 안됨
  • 식별자는 특수문자 중에서 언더 바( _ )만 허용
  • 식별자는 숫자로 시작하면 안됨
  • 식별자는 공백을 포함할 수 없음
  • 식별자를 만들 때는 한글, 한자 등 전 세계 언어를 모두 사용 가능하지만 일반적으로 알파벳을 사용

스네이크 케이스
snake_case
단어 사이에 언더바( - )기호를 붙여 식별자를 만드는 방식
글자들이 뱀처럼 연결된다고 해서 붙은 이름
캐멀 케이스
CamelCase
단어들의 첫 글자를 대문자로 만들어 식별자를 만드는 방식
글자들이 낙타같다고 해서 붙은 이름
파이썬에서는 첫글자를 소문자로 적는 캐멀 케이스는 사용 안함[ex> printPython(X)]
    → 첫 번째 글자가 소문자라면 무조건 스네이크 케이스!
일반적으로 구분하는 방법이라 약간의 예외가 존재

 

ex>

print() 함수
list() 함수
soup.select() 함수
math.pi 변수
math.e 변수
class Animal 클래스
BeautifulSoup() 클래스 생성자
   → 클래스이지만 뒤에 괄호가 있는 특이한 형태의 함수

 

 

주석[Comment]

프로그램의 진행에 전혀 영향을 주지 않고 단순히 프로그램을 설명하기 위해 사용하는 코드

  •   '#'이라는 기호를 사용하여 주석으로 처리
# 문자열을 출력합니다
# 듀플
# 리스트

 

 

 

 

연산자

프로그래밍을 할 때 변수나 값의 연산을 위해 사용되는 부호

  • 연산자만 단독으로 사용될 경우에는 아무 의미를 갖지 못함
  • 연산자 우선순위 : 괄호[우선순위 높음]  > 산술연산자 > 비트연산자 >비교연산자 > 논리연산자 
    # 연산자 우선순위
    더보기


    우선순위 높음


    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |
    |


    우선순위 낮음 

    연산자 비   고
    ( )   [ ]   { } 괄호, 리스트, 딕셔너리, 세트 등
    **  
    +   -   ~ 단항 연산자[부호]
    *   /   %   ?? 산술 연산자
    +   - 산술 연산자[더하기 빼기]
    <<   >>  
    &  
    ^  
    |  
    <   <=   >   >=  
    ==   !=  
    할당연산자  
    not  
    and  
    or  
    if ~else 비교식

 

   1. 산술 연산자[Arithmetic Operator]

덧셈, 뺄셈, 곱셈, 나눗셈 등의 산술식을 구성하는 연산자

연산자 설명 입력내용 결과내용
+ 더하기 3+4 7
- 빼기 3-4 -1
* 곱하기 3*4 12
/ 나누기 3/4 0.75
// 33%/%4 8
% 나머지 33%%4 1
** 거듭제곱 3**4 81

# 산술연산자우선순위

더보기

괄호, 거듭제곱, 곱하기*나누기, 더하기*빼기
∴ 동일한 우선순위의 산술 연산자가 나열된 경우 왼쪽이 오른쪽보다 우선순위를 갖게됨

 

 

   2. 비교 연산자[Relational Operator]

두 개의 값을 비교하여 맞으면 TRUE, 틀리면, FALSE를 반환하는 연산자

연산자 설명 입력내용 결과내용
> 크다 3>4 FALSE
>= 크거나 같다. 3>=4 FALSE
< 작다 3<4 TRUE
<= 작거나 같다. 3<=4 TRUE
== 같다. 3==4 FALSE
!= 같지 않다. 3!=4 TRUE

 

 

   3. 논리 연산자[Logical Operator]

논리곱(AND), 논리합(OR), 논리부정이 조건을 성립하면 True, 성립하지 않으면 False를 반환하는 연산자

연산자 설명 입력내용
결과내용
and (조건1) 과 (조건2) 가 모두 만족 (조건1) and (조건2) 모든 조건이 참일때만
최종적인 결과가 TRUE
or (조건1) 과 (조건2) 중 하나만 만족 (조건1) or (조건2) 조건 중 하나라도 참이면
최종적인 결과가 TRUE
not (조건1)에 대한 부정 not(조건1) (조건1)이 성립하지 않을 경우 TRUE

   

 

   4. 할당 연산자[Allocation Operator]

어떤 객체의 이름[변수이름, 데이터이름]에 특정한 값을 지정할 때 사용하는 연산자

연산자 설명 입력내용 결과내용
= 오른쪽의 값을 왼쪽 이름에 저장 x=3  
+= 값을 증가시키고 다시 할당 a=1  ;  b=2
a+=b
a+b를 한 값인 3을 a로 다시 할당됨
즉, a의 값이 3으로 변경됨
-= 값을 감소시키고 다시 할당 a=3  ;  b=1
a-=b
a-b를 한 값인 2를 a로 다시 할당됨
즉, a의 값이 2로 변경됨
*= 값을 곱하고 다시 할당 a=2  ;  b=4
a*=b
a*b의 값인 8을 a로 다시 할당됨
즉, a의 값이 8로 변경됨
/= 값을 나누고 다시 할당 a=8  ;  b=2
a/=b
a/b의 값인 4을 a로 다시 할당됨
즉, a의 값이 4로 변경됨
//= 값을 나누고 몫을 할당 a=7  ;  b=2
a//=b
a//b의 값인 3을 a로 다시 할당함
즉, a의 값이 3으로 변경됨
%= 값을 나누고 남은 나머지를 할당 a=7  ;  b=2
a%b
a%b의 값인 1을 a로 다시 할당함
즉, a의 값이 1로 변경됨
**= 거듭제곱을 하여 나온 값을 할당 a=7  ;  b=2
a**=b
a**b의 값인 49를 a로 다시 할당함
즉, a의 값이 49로 변경됨

 

 

   5. 비트 연산자[Bit Operator]

어떤 객체의 이름[변수이름, 데이터이름]에 특정한 값을 지정할 때 사용하는 연산자

연산자 설명 입력내용 결과내용
& 비트 논리곱[AND] (조건1) & (조건2) 둘 다 성립해야 TRUE
숫자를 입력할 경우,
2진수로 변환하여 각 비트별로 AND연산 수행
| 비트 논리합[OR] (조건1) | (조건2) 둘 중 하나만 성립해도 TRUE
숫자를 입력할 경우,
2진수로 변환하여 각 비트별로 OR연산 수행
^ 비트 배타적 논리합[XOR] (조건1) ^ (조건2) 두 값이 다르면 1, 두 값이 같으면 0을 출력
숫자를 입력할 경우,
2진수로 변환하여 각 비트별로 XOR연산 수행
~ 비트 부정 ~(조건1) 숫자를 입력할 경우,
2진수로 변환하여 비트를 반대로 만들어 줌
[1의 보수 : 0은 1로, 1은 0으로]
<< 비트 이동(왼쪽) (조건1) << (조건2) 나열된 비트를 왼쪽으로 시프트해주는 연산자
[앞의 비트가 사라지고 뒤의 비트를 0으로 채움]
2n을 곱한 효과
>> 비트 이동(오른쪽) (조건1) >> (조건2) 나열된 비트를 오른쪽으로 시프트해주는 연산자
[앞의 두 비트를 0으로 채우고 뒤의 비트는 사라짐]
2n을 나눈 효과

# 음수의 2진법 표현 방법

더보기
종    류 표현 방법 비고
부호화 절대치 부호 비트만 변화(1로 바꿈) 0이 +0과 -0으로 2개 존재
부호화 1의 보수 양수 이진법의 1의 보수
부호화 2의 보수 양수 이진법의 2의 보수[1의 보수+1] 0은 1개만 존재

 

 

 

 

728x90