파이썬 기초 문법2
category
URL
date
Jan 4, 2023
slug
python-2
author
status
Public
tags
Playdata_Python
summary
변수 명명 규칙, literal, 연산자, 자료형, 인덱싱.슬라이싱.함수
type
Post
thumbnail
updatedAt
Feb 2, 2023 02:10 PM
변수 명명 규칙
- 변수명은 문자, 숫자, 언더바(_)를 이용해 만듬
- 숫자로 시작하는 변수명은 만들 수 없다.
- 대소문자를 구분한다
- 공백을 포함할 수 없다
- 예약어는 변수명으로 사용 할 수 없다
- 보통 snake_case를 활용하여 명명하도록 권장
Snake case
- 단어와 단어를 구분하기 위해 언더바( _ )를 사용하는 방식
Pascal case
- 단어의 제일 첫 글자는 무조건 대문자, 나머지 단어는 소문자로 표기
- 주로 클래스 명칭을 지을 때 권장
Camel case
- 제일 앞에 오는 단어는 모두 소문자 작성
- 다음 단어부터 첫 글자만 대문자로 나머지는 소문자로 작성 이때 단어와 단어 사이에 공백 없이 붙여쓴다. ex) justDoit
변수
- 변수를 삭제할 때는 del 명령어를 사용 ex) del x
- 변수에 빈 값 할당하기
- 변수의 값을 없앨 땐 None을 할당
- 보통 다른 언어에서의 null(널)과 같다.

상수(constant)
- 변수와 상반되며, 변하지 않는 값
- 파이썬에선 키워드를 통해 상수를 만드는 방법은 없음
bool literal
- 파이썬 bool type의 리터얼은 True와 False가 있음.
- 대소문자를 구분하며 true / false 혹은 TRUE / FALSE 처럼 표기할 수 없다.
- 반드시 첫 글자는 대문자로 하고 나머지는 소문자로 하는 True / False로만 입력 가능


논리 연산자(Logical operator)
논리
연산자 | 의미 | 활용 예 | 활용 |
and | 논리곱 | A and B | A와 B 모두 참일 때만 참, 나머지는 거짓 |
or | 논리합 | A or B | A와 B중 하나라도 참이면 참, 둘 다 거짓일 때만 거짓 |
not | 논리 부정 | not A | A가 참이면 거짓이고, 거짓이면 참 |
- 논리 연사자를 이용한 진리표
A | B | A and B | A or B | not A |
True | True | True | True | False |
True | False | False | True | False |
False | True | False | True | True |
False | False | False | False | True |
비교 연산자(Comparison operator)
논리
연산자 | 의미 | 활용 예 | 활용 |
== | 같다 | A == B | A는 B와 같다 |
!= | 같지 않다 | A != B | A는 B와 같지 않다. |
< | 작다 | A < B | A는 B보다 작다. |
> | 크다 | A > B | A는 B보다 크다. |
<= | 작거나 같다 | A <= B | A는 B보다 작거나 같다. |
>= | 크거나 같다 | A >= B | A는 B보다 크거나 같다. |
연산자 우선순위 정리
우선
순위 | 연산자 | 설명 |
1 | (값,…),[값,…],
{키:값….},{값….} | tuple, list, dictionary, set 생성 |
2 | x[인덱스],x[인덱스:인덱스],
x(인수…),x,속성 | list(tuple) 첨자, 슬라이싱, 함수 호출, 속성 참조 |
3 | await x | await 표현식 |
4 | ** | 거듭제곱 |
5 | +x,-x,~x | 단항 덧셈(양의부호),단항 뺼셈(음의 부호), 비트 NOT |
6 | *,@,/,//,% | 곱셉, 행렬 곱셉, 나눗셈, 버림 나눗셈, 나머지 |
7 | +,- | 덧셈,뺄샘 |
8 | <<,>> | 비트,시프트 |
9 | & | 비트 AND |
10 | ^ | 비트 XOR |
11 | | | 비트 OR |
12 | in,not in, is, is not, <, <=, >, >= !=, == | 포함 연산자, 객체 비교 연산자, 비교 연산자 |
13 | not x | 논리 NOT |
14 | and | 논리 AND |
15 | or | 논리 OR |
16 | if else | 조건부 표현식 |
17 | lambda | 람다 표현식 |
문자열 리터럴
- 작은 따옴표(’…’) 혹은 큰 따옴표(”…”)를 사용하여 표현 가능
- 작은 따옴표와 큰 따옴표 모두 같은 결과를 줌

- don’t do that 이라는 문자열 리터럴을 선언하는법
- 작은 따옴표 앞에 역 슬래시 \ 를 붙여 문자열 리터럴의 끝을 나타내는 ‘가 아닌 문자 그대로의 ‘임을 표시
- 큰 따옴표로 문자열 리터럴의 범위를 나타내고 “…” 그 안에 작은 따옴표를 표시
- 문자열 리터럴에 줄바꿈을 하려면 개행 문자인 \n 사용

- \n을 그대로 출력하고 싶은 경우
- raw string으로 표현 가능 raw string으로 문자열 리터럴을 만드려면 r을 맨 앞에 붙인다.
- \를 앞에 붙여 \를 문자 그대로 출력

- 삼중 따옴표를 사용하면 여러 줄로 확장하여 문자열 리터럴을 만들 수 있다. 이때는 개행 문자를 사용하지 않음

- 삼중 따움표를 사용하면서 Enter키로 줄은 바꿨지만 출력될 때는 줄 바꿈되지 않게 하는 방법으로 역 슬래시 \를 활용

- *를 사용하면 문자열의 반복을 쉽게 할 수 있다. 또 +를 사용하면 문자열과 문자열을 이을 수 있다.

시퀀스 자료형(Sequence types)
- 순서에 따라 연속적으로 값들을 갖는 자료형
- 모든 시퀀스 형은 인덱싱과 슬라이싱이 가능

인덱스(index)
- 시퀀스 자료형은 순서를 갖기에 각 요소마다 이 순서를 통해서 접근 가능
- 인덱스는 0부터 시작
- 시퀀스 형들은 크기가 제각각
- 인덱스가 -1인 항목이 제일 마지막 항목
ex) 변수명[인덱스 숫자]
문자열 인덱스
- 문자열 리터럴은 각 하나의 문자들이 합쳐진 시퀀스
- 인덱스를 활용하여 해당 위치에 있는 각각의 문자를 가져올 수 있다.

시퀀스 자료형 순방향으로 인덱스 접근하기(O,양수)

시퀀스 자료형 순방향으로 인덱스 접근하기(음수)

인덱스 에러
- 인덱스는 시퀀스 자료형이 갖는 범위 내에서만 사용 가능
- 이 범위를 넘는 경우엔 IndexError가 발생
문자열 슬라잉싱
- 문자열 리터럴에서 부분 문자열(substring)을 얻기 위한 방법
- 범위에 해당하는 요소들을 가져오는 방법
- 인덱스와 동일하게 중괄호 안에 범위를 표현하며, 시작 인덱스:끝 인덱스 형태로 작성

- 총 3개의 파트로 구성, 구분자는 클론(:)
→ 형태는 변수명[시작 숫자(이상) : 끝 숫자(미만):증감 크기]
- 첫 요소부터 포함하는 범위일 때 시작 숫자 생략 가능 마지막 요소까지 포함하는 범위일 때 끝 숫자는 생략 가능 증감 크기가 1일 때 증감 크기 생략 가능

문자열 슬라이싱 표현 범위
- 인덱스 범위를 벗어나도 유연하게 처리됨
- 인덱스에 대해서만 표현 가능하다면 값을 포함하지 않는 “끝 숫자”의 범위가 표현 불가능

문자열 변경 불가 예제(인덱스)
- 문자열은 불변(immutable)의 특징을 가지고 있음
- 문자열을 인덱스로 접근해서 값을 변경 할 수 없음
문자열 변경 불가 예제(슬라이싱)
- 문자열을 슬라이싱으로 접근해서도 값을 변경할 수 없다.
문자열을 변경하고 싶다면? 🙄
- 문자열은 불변(immutable)이다. → 새로운 문자열 리터럴을 만들어서 변수의 값에 다시금 할당해서 변경해주면 된다.

시퀀스의 크기
- 시퀀스의 크기를 알아 낼 수 있는 방법 → len(시퀀스변수명) 함수를 사용하면 쉽게 알 수 있다.
