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