파이썬만의 독특한 문법으로 파이썬은 함수의 return문에도 and와 or를 사용할 수 있다. 다만, 이 경우 보통우리가 생각하는 and와 or과 같이 동작을 하지 않는다. 이를 이해하려면 and와 or의 정확한 동작원리 및 우선순위에 대한 탐구가 필요하다. 이번 포스팅에서 함께 알아보도록 하자. 1. and와 or의 우선순위 정리 파이썬 공식 문서에 따르면, and와 or, not의 정확한 우선순위는 다음과 같이 쓴다. 위에 있을 수록 더 높은 우선순위를 갖는다. 연산자 작동 원리 우선순위 x OR y (또는 연산자) if x is FALSE, then y, else x 1 x AND y (그리고 연산자) if x is FALSE, then x, else y 2 NOT x (부정 연산자) if x if..
파이썬을 다루다 보면 곱셈 연산 이외에 별표(*)가 쓰인 경우가 있다. 이럴 때 쓰이는 별표는 어떤 의미를 가질까? 가령 파이썬의 함수에 대하여 배웠다면 다음과 같이 매개변수에 별표(*args)가 붙는 경우를 볼 수 있다. HTML 삽입 미리보기할 수 없는 소스 왜 이런 꼴이 가능할까? 이번 포스팅에서는 파이썬의 별표, 즉 asterisk 연산자의 다양한 활용에 대하여 알아보자. 1. *operator 파이썬에서의 별표(*) 연산자, 혹은 asterisk 연산자는 집합 형태의 자료형을 풀거나, 묶을 때 사용하는 연산자이다. 우린 이를 unpacking, packing 연산자라 부르기로 하였다. 다음과 같이 하나의 list가 있다고 가정하자. new_list = [1, 2, 3, 4, 5] 이때 new_l..
파이썬에서의 list를 야무지게 사용하는 방법 중 하나는 리스트 함축(list comprehension)이다. 이 또한 파이썬 이외에 언어에서는 찾아볼 수 없는, 독특한 문법 중 하나이다. list를 새로 생성할 때 매우 유용하게 사용할 수 있으며, 특히 코드의 가독성을 높이고 코드의 길이를 짧게 할 때 유용하게 사용할 수 있는 테크닉이다. 이번 포스팅에서는 리스트 함축에 대하여 알아보고 이를 극한까지 활용하여보자. 1. list comprehension이란? 파이썬 공식 문서에는 리스트 함축(list comprehension)에 대한 정의를 다음과 같이 하고 있다. List comprehension은 list를 생성하는데 하나의 간결한 방법을 제공하는 방법입니다. 다른 sequence 혹은 iterab..
파이썬에는 다른 언어에서는 찾아볼 수 없는 특징들이 몇 가지 있는데, 대표적으로 파이썬은 모든 객체를 가변 객체(mutable object), 불변 객체(immutable object) 두 종류의 객체로 구분하고 있다. 어렵지 않은 개념이지만, 중요한 개념이므로 이번 포스팅에서 간략하게 정리하고 간다. 1. 가변(mutable) vs 불변(immutable) 먼저, 가변 객체와 불변 객체에 대한 이해를 하여보자. 불변적 객체(immutable)란, 메모리 안에 담겨 있는 값이 언제나 변하지 않는 객체를 의미한다. 예를 들면, 다음과 같은 종류들은 불변 객체이다. 정수형(int) & 불리언형(boolean) 실수형(float) 복소수형(complex) 문자열형(string) 튜플형(tuple) 바이트형(b..
파이썬을 공부하다 보면 C / C++ 언어와 다르게 포인터라는 개념을 전혀 마주친 경험이 없을 것이다. 정상이다. 파이썬은 포인터라는 개념을 직접 활용하지 않는다. 물론, 파이썬에도 포인터에서 파생된 개념(예를 들어, call by value, call by reference...) 활용하긴 하지만, 직접 사용자가 쉽게 메모리에 접근할 수 있는 방법은 따로 없다. 그럼, 파이썬은 어떻게 변수에 데이터를 저장하는가? '='의 역할은 무엇인가? 또한, 이때 내부적으로 파이썬은 포인터를 활용할까? 이번 포스팅에서는 이에 대한 답을 알아보자. 1. id 함수란? 파이썬의 내장 함수 중에는 id라는 함수가 존재한다. 이 함수의 역할을 매우 간단하다. 객체의 고윳값(identity)을 반환한다. 파이썬에서는 각 객..
파이썬에서 동일한 것을 비교하는 구문은 두 가지가 있다. 등호가 두 개 붙어있는 연산자 '=='와 파이썬 만의 고유 문법인 'is'가 존재한다. 보통 둘은 구분을 하지 않고 사용한다. 그럼, 이 두 연산자는 아무런 차이가 없을까? 다음 코드를 보자. HTML 삽입 미리보기할 수 없는 소스 위의 '=='의 경우 참이 나왔지만, 'is'의 경우 거짓이 나온 것을 확인할 수 있다. 두 연산자에 어떤 차이가 있길래 이런 결과가 나오는 것일까? 이번 포스팅에서 알아보도록 하자. 1. == 과 'is' 먼저, 다른 언어에서도 사용되는 비교 연산자 '=='부터 알아보자. '=='는 값(value)이 동일한지 확인하는 연산자이다. 다른 말로, 만약 동일한 주소값이 아니더라도, 같은 값을 지니고 있다면 True를 반환하..
- Total
- Today
- Yesterday
- Network
- Proactor
- 백준
- effective async
- Python
- 헤더
- BRONZE
- for
- equal
- react
- Max
- 시간복잡도
- 구현
- 사칙연산
- 프로그래밍
- 제어문
- JS
- CSAPP
- C
- MIN
- 함수
- 문자열
- docker
- BOJ
- C++
- GDSC
- 알고리즘
- 수학
- bomblab
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |