IT world

[Python] 24.01.04 파이썬 연산자와 시퀀스 자료형 본문

모두의 연구소(오름캠프)/AI 모델 활용 백엔드 개발 과정

[Python] 24.01.04 파이썬 연산자와 시퀀스 자료형

엄킹 2024. 1. 9. 17:22

1. 연산자

1.1 논리 연산자

  • and : 두 조건이 모두 참일 때 True, 아니면 False를 반환
  • or : 두 조건중 하나만 참일 때 True, 아니면 False를 반환
  • not : 주어진 조건의 반대의 값 반환

not, and, or의 순서대로 우선순위를 가집니다. 

 

1.2 단락평가

논리 연산에서 연산의 결과가 확정된 시점에서 더 이상의 평가를 중단하는 방법을 말하며, and와 or 연산자에서 단락평가 발생합니다.

  • and : A and B 에서 A가 False로 평가되면 B는 평가하지 않고 바로 False로 결정
  • or : A or B에서 A가 True로 평가되면 B는 평가하지 않고 바로 True로 결정

[and 예시 / test1()의 함수의 반환값이 False로, test2()는 평가하지 않고출력결과 False]

1.3 할당 연산자

할당 연산자는 변수에 값을 저장하는 데 사용됩니다.

할당 연산자의 우선순위는 대부분의 다른 연산자들보다 낮고, 이는 식 내에서 할당 연산자가 마지막으로 평가된다는 것을 의미합니다.

기호 이름 설명 예제 동일한 코드
//= 몫 대입 연산자의 왼쪽값을 오른쪽 값만큼 나눈 몫을 왼쪽 변수에 할당 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
= 대입 연산자의 오른쪽 값을 왼쪽 변수에 할당 a = b a = b

 

[할당 연산자 예시]

1.4 식별 연산자

두 변수가 동일한 객체를 참조하고 있는지 확인하는데 사용되고, id값을 비교합니다.

  • is : 두 변수가 같은 주소를 바라보고 있으면 True
  • is not : 두 변수가 다른 주소를 바라보고 있으면 True

 

파이썬은 동일한 문자열이 있다면 해당 문자열을 가진 주소를 그대로 참조합니다.

 

인터닝(interning)이라는 최적화 방식을 사용하여 같은 메모리 값을 가지는데, 항상 동일한건 아닙니다. 문자열이 길어지고 자주 사용하는 단어가 아니라면 다른 주소값을 가리킵니다.

 

하지만 배열과 같은 객체는 문자열과 달리 새로 생성할 때 새로운 주소에 담습니다. 따라서 값은 동일하더라도 다른 주소를 가지게 됩니다.

[서로 다른 id값을 가지는 리스트 확인]

1.5 멤버 연산자

어떤 값이 목록안에 있는지 확인해주는 연산자입니다.

  • in : 값이 목록에 있으면 True
  • not int : 값이 목록에 없으면 True

[맴버 연산자 예시]

2. 시퀀스 자료형

시퀀스 자료형이란 

여러개의 항목들이 순서대로 나열된 구조로, 순서를 가지고 있고 연속된 데이터 타입의 자료형입니다.

  • 리스트(List)
  • 문자열(String)
  • 튜플(Tuple)
  • 바이트(Bytes)
  • 바이트배열(Bytearray)
  • 범위(range)

2.1 인덱싱

- 각 항목은 고유한 인덱스를 통해 접근 가능함을 말합니다.  (index는 0부터 시작)

[인덱싱 예시]

2.2 슬라이싱

- 시퀀스의 일부분을 선택하여 새로운 시퀀스를 생성할 수 있습니다.

[슬라이싱 예시]

2.3 특정 항목 포함 여부

- in / not in을 사용하여 확인합니다.

2.4 연결 및 반복

- 덧셈이나 곱셈과 같은 연산자를 사용할 수 있습니다.

2.5 내장함수

- len(), max(), min(), count(), index() 등

 

2.6 패킹 / 언패킹

파이썬의 패킹(packing)언패킹(unpacking)은 데이터를 그룹화하거나 그룹에서 분해하는 간결한 방법을 제공합니다.

 

2.6.1 패킹(packing)

- 여러 개의 데이터를 하나의 변수에 담는 과정을 의미

[패킹의 예시]

2.6.2 언패킹(unpacking)

- 패킹된 데이터를 여러 개의 변수로 분배하는 과정

[언패킹 예시]

2.6.3 별표(*)를 이용한 언패킹

- 여러 개의 요소를 한번에 변수로 할당

- 리스트나 튜플에서 일부만 변수로 할당하고 나머지를 다른 변수에 할당할 때 유용

[별표(*)를 이용한 언패킹]

 

Comments