파이썬 별표

별표는 곱셈 및 포인터 선언과 같은 기타 작업을 위한 프로그래밍 언어에서 사용되는 작은 별 기호(*)입니다.

파이썬에는 포인터 개념이 없지만 여전히 별표는 프로그래머의 삶을 편하게 해주는 놀라운 능력을 가지고 있습니다.

이 기사에서는 별표 기호의 가장 많이 사용되는 몇 가지 사용 사례를 볼 것입니다!

그럼 시작해볼까요 😎


곱셈과 지수



별표 기호의 가장 일반적인 사용 사례는 곱셈 작업(우리 모두가 알고 있음)을 수행하는 것이며 파이썬에서는 1 대신 2개의 별표를 사용하여 또 다른 많이 필요한 지수 작업을 제공합니다(놀라운, 맞습니다!).


a = 2*4     # 8
b = 2**3    # 8, exponentiation



반복 가능한 객체 풀기



별표는 목록 또는 반복 가능한 데이터 유형의 압축을 푸는 데 사용할 수 있습니다. 간단합니다. 압축을 푸는 데 필요한 iterable이 포함된 변수 앞에 별표를 붙이면 압축이 풀린 데이터를 얻을 수 있습니다!


alist = [1, 2, 3]
blist = [4, 5, 6]
ctuple = (7, 8, 9)

combined = alist + blist + list(ctuple)     # tedious, less pythonic

unpacked = [*alist, *blist, *ctuple]        # hmm, cool, right ? more pythonic



이러한 종류의 압축 풀기를 사용하여 일부 값을 변수에 할당할 수 있습니다. 예를 들어, 변수에 있는 목록의 첫 번째 요소와 다른 변수에 있는 다른 모든 요소가 필요한 경우 다음과 같은 것이 트릭을 수행합니다.


a = [1, 2, 3, 4]

b, *c = a       # b = 1 and c = [2, 3, 4]



기능을 키워드 전용 인수로 제한



파이썬의 별표는 키워드 인수만 사용할 수 있도록 함수를 제한하는 데 사용할 수 있지만 어떻게? 아래의 예를 살펴보겠습니다.


def someFunc(*, firstarg, secondarg):
    pass

someFunc(1, 2)      # Raises Exception - TypeError: someFunc takes 0 positional arguments, but 2 were given

someFunc(firstarg=1, secondarg=3)   # Works like magic !



함수가 키워드 인수만 사용하도록 제한하려면 제한하려는 인수 앞에 별표 기호를 배치합니다.


def someFunc(zerotharg, *, firstarg, secondarg):
    pass

# Here, zerotharg is a positional argument (which we can use as a keyword also, but not restricted to it) and firstarg and secondarg (after the asterisk) are keyword-only (restricted) arguments.



여러 인수 압축 풀기



별표를 사용하여 함수에서 여러 인수를 얻는 것은 그 자체로 마법과 같습니다. 심지어 우리는 여러 키워드 인수를 얻을 수 있습니다. 그것은 미친 짓입니다!


def someFunc(*args, **kwargs):
    pass


*args는 여러 위치 인수를 취하여 튜플(인덱스를 사용하여 액세스할 수 있음)로 압축을 풀고 **kwargs는 여러 키워드 인수를 가져와 사전으로 압축을 풉니다(dict 키-값으로 액세스할 수 있음).


그게 나에게서 온거야!

기사를 재미있게 읽으셨기를 바랍니다. 이 시점에 도달했다면 무엇을 기다리고 있는 것입니까? 팔로우 버튼을 누르고 이것을 친구들과 공유하고 다른 사람들에게 파이썬 프로그래밍 언어의 아름다움을 알리십시오!


오픈 소스 여정을 막 시작하셨나요? 확인하는 것을 잊지 마세요 Hello Open Source

처음부터 간단하고 멋진 게임을 만들고 싶습니까? 체크아웃PongPong

GitHub 프로필 README++를 원하십니까? 체크아웃Quote - README

다음 시간까지!

나마스테 🙏

좋은 웹페이지 즐겨찾기