hyei-devlog

[파이썬 문법 체크] 왈러스 연산자, f-string 본문

Python

[파이썬 문법 체크] 왈러스 연산자, f-string

winter126 2025. 1. 31. 01:05

💡 왈러스 연산자

1. 왈러스 연산자란?

  • Python 3.8에서 도입된 왈러스 연산자( := )는 할당 표현식(assignment expressions)를 사용하게 해주는 연산자이다.
  • 이 연산자는 "이름을 표현식의 결과에 연결"하거나 "값을 이름에 할당하면서 그 값을 평가"한다. 이 기능은 표현식을 계산하면서 동시에 그 결과를 변수에 할당할 수 있게 해준다.

2. 왈러스 연산자의 사용법

2.1 기본 사용법

# 기본적인 왈러스 연산자의 사용
x = (n := 10) * 2
print(x)  # 출력: 20
print(n)  # 출력: 10

위의 코드에서, (n := 10)은 10을 n에 할당하고, 그 값을 반환한다. 그 결과는 2와 곱해져 x에 할당되었다.

 

2.1 기본 사용법

# 왈러스 연산자가 없을 때의 코드
import random

while True:
    x = random.randint(0, 10)
    if x == 7:
        break
    print(x)

# 왈러스 연산자를 사용한 코드
import random

while (x := random.randint(0, 10)) != 7:
    print(x)
def 시그마(n):
    count = 0
    result = 0
    while (count := count + 1) < n + 1:
        result += count
    return result

if (합 := 시그마(100)) == 5050:
    print('5050이 출력되었습니다.')
else:
    print('1부터 정수형태로 입력이 가능합니다.')

print(합 + 1000)

왈러스 연산자를 사용하면, random.randint(0, 10)을 한 번만 호출하면서 결과를 x에 할당하고 그 값을 조건에 바로 사용할 수 있다.

 

3. 왈러스 연산자 주의사항

  • 왈러스 연산자는 할당 연산자 =과 비슷하지만, 활용 범위와 용도가 다르므로 주의해야 한다.
  • 코드의 가독성을 위해 복잡한 표현식 내에서 왈러스 연산자의 남용을 피해야 한다. 복잡한 한 줄 코드보다는 여러 줄에 걸친 명확한 코드가 유지보수와 이해에 더 좋을 수 있다.

💡  f-string 

1. f-string 이란?

f-string은 Python 3.6에서 도입된 새로운 문자열 포매팅 방법이다.

f-string은 Formatted String Literals의 줄임말로, 문자열 내에 {}를 사용하여 변수나 표현식을 직접 삽입할 수 있다.

 

2. f-string 사용법

2.1 기본 사용법

f-string을 사용하여 변수를 문자열에 포함시킬 수 있다.

name = "Alice"
print(f"Hello, {name}")  # 출력: Hello, Alice

 

2.2 표현식 사용하기

f-string 안에서는 직접적으로 표현식을 사용할 수 있다. 이는 계산이나 함수 호출 등도 가능하다는 것을 의미한다.

age = 20
print(f"Next year, you will be {age + 1}.")  # 출력: Next year, you will be 21.

def greet(name):
    return f"Hello, {name}"

print(greet("Alice"))  # 출력: Hello, Alice

 

2.3 포매팅 지정자 사용하기

f-string에서는 {} 안에서 :를 사용하여 포맷팅을 지정할 수 있다.

이를 통해 소수점 아래 자릿수를 지정하거나, 정렬 방법을 지정하는 등의 포매팅을 할 수 있습니다.

num = 3.14159
print(f"{num:.2f}")  # 출력: 3.14

name = "Alice"
print(f"{name:>10}")  # 출력:      Alice

 

3. f-string 중괄호 표현하기

f-string에서는 {} 안에 표현식을 넣어 문자열에 포함시키는데, 만약 문자열 안에 리터럴 문자 { 또는 }를 표현하고 싶다면, 이를 두 번 연속해서 {{ 또는 }}와 같이 써야 한다.

 

예를 들면:

print(f"My set is {{1, 2, 3}}.")  # 출력: My set is {1, 2, 3}.

위의 경우처럼, 문자열 안에 직접 {}를 포함시키고 싶을 때는 이를 두 번 연속해서 적는다.

이렇게 하면 Python은 { 또는 }를 표현식의 시작 또는 끝으로 해석하는 것이 아니라, 단순한 문자로 해석한다.

 

만약 {}를 써서 표현식을 나타내면서 동시에 {}를 리터럴 문자로 써야 하는 상황이라면, 중괄호를 세 번 써야 한다.

이 경우 중괄호 두 개가 리터럴 문자를 표현하고, 나머지 하나가 표현식을 나타낸다.

 

예를 들면:

x = 10
print(f"My set is {{{x}}}.")  # 출력: My set is {10}.

위의 경우처럼, 문자열 안에 직접 {}를 포함시키면서 동시에 {x}를 통해 변수를 문자열에 삽입하고 싶을 때는 중괄호를 세 번 쓴다.