Python에서 \'line, = ...\'의 후행 쉼표는 무엇입니까?

DDD
풀어 주다: 2024-10-28 21:27:30
원래의
653명이 탐색했습니다.

 What is the trailing comma in

"line, = ..."의 후행 쉼표는 쉼표 연산자인가요?

Python에서 변수 행 뒤의 쉼표는 다음과 같습니다. 중요한 의미. 이는 각 요소가 왼쪽의 해당 변수에 할당되어 튜플이 압축 해제되고 있음을 나타냅니다.

하나의 요소로 튜플 압축 해제

다음 코드를 고려하세요.

<code class="python">line, = ax.plot(x, np.sin(x))</code>
로그인 후 복사

여기서 ax.plot()은 Line2D 객체인 단일 요소를 포함하는 튜플을 반환합니다. 쉼표는 Python에게 이 튜플의 압축을 풀고 해당 요소를 변수 라인에 할당하도록 지시합니다.

여러 변수가 있는 예

일반적으로 우리는 여러 반환 값이 있는 함수에 압축 풀기를 사용합니다. :

<code class="python">base, ext = os.path.splitext(filename)</code>
로그인 후 복사

이 코드는 os.path.splitext()에서 반환된 튜플의 압축을 풀고 해당 요소를 base 및 ext 변수에 할당합니다.

Comma Unpacking의 대안

쉼표 풀기가 편리하지만 대체 구문이 있습니다:

  • 괄호 사용: (line,) = ax.plot(x, np.sin(x))
  • 목록 구문 사용: [line] = ax.plot(x, np.sin(x))

압축 해제 없이 다시 작성

당신 튜플 압축 풀기를 사용하지 않고 코드를 다시 작성할 수도 있습니다:

<code class="python">line = ax.plot(x, np.sin(x))[0]</code>
로그인 후 복사

또는

<code class="python">lines = ax.plot(x, np.sin(x))

def animate(i):
    lines[0].set_ydata(np.sin(x+i/10.0))  # update the data
    return lines

#Init only required for blitting to give a clean slate.
def init():
    lines[0].set_ydata(np.ma.array(x, mask=True))
    return lines</code>
로그인 후 복사

결론

"줄의 후행 쉼표, = ..."는 쉼표 연산자가 아니라 하나의 요소가 포함된 튜플을 압축 해제하기 위한 구문입니다. 이 기술은 여러 변수에 반환 값을 간결하게 할당하는 데 널리 사용됩니다.

위 내용은 Python에서 \'line, = ...\'의 후행 쉼표는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!