이번 게시글에서는 파이썬 언더바에 대해 정리하도록 하겠다.
10
_*3 # 이전값인 10을 가져와서 3을 곱해준다
# 30
# _는 해당 위치를 무시한다.
l = [1,2,3,4]
a, b, _, d = l
# 하지만 변수로 생각하고 print 해보면 값이 나옴
print(a,b,_,d)
# 여러개 무시
a, *_, b = l
# 마찬가지로 값이 나옴
print(a, *_, b)
# 반복문에서도 사용 가능
for _ in range(10):
pass
# 숫자 자릿수
a = 100000
b = 100_000
c = 1_00_000
print(a,b,c) # 모두 100000이 나옴
if_ = 10
권유하는 문법이기 때문에 직접 가져오거나 호출할 수 있음
# greeting.py
def _hello():
print('do not use')
_hello()
# NameError: name '_hello' is not defined
# 직접 호출하면 사용핤 수 있다.
from greeting import _hello
_hello()
# do not use
class Car:
def __init__(self, name, price):
self.name = name
self.price = price
self.__출시일 = "2023-01-01" # 접근 불가능한 private
k10 = Car('k10', 5000)
print(k5.__출시일) # 에러
class Car:
def __init__(self, name, price):
self.name = name
self.price = price
self.__출시일 = "2023-01-01" # 접근 불가능한 private
class New_car:
def __init__(self):
super().__init__()
self.name = '새로운차'
self.price = 3000
self.__출시일 = "2023-12-31"
new_car = New_car()
print(new_car.__출시일)
# AttributeError: 'New_car' object has no attribute '__출시일'
매직메서드는 아래 링크에서 확인할 수 있다.
https://www.tutorialsteacher.com/python/magic-methods-in-python