문자열 및 후행 쉼표, 커플 가져오기 및 생성, Tuple(): 오류 및 개념에 대한 복사 및 붙여넣기 실수

WBOY
풀어 주다: 2024-07-21 22:43:21
원래의
826명이 탐색했습니다.

String and Trailing comma, get couple and become, Tuple (): A copy & paste mistake to Error and concept

오늘은 내 복사 및 붙여넣기 실수에 대한 이야기와 후행 쉼표가 있는 문자열이 어떻게 결합되어 내 Python 프로그램에서 Tuple()이 되었는지 이야기하겠습니다. 이상하게도 저는 이 실수를 하기 전에는 이 개념을 알지 못했습니다.
그럼 먼저 Python의 문자열과 튜플에 대해 빠르게 배워보겠습니다.

정의: 텍스트를 저장하고 조작하는 데 사용되는 일련의 문자입니다.
구문: 작은따옴표 ' ', 큰따옴표 " " 또는 삼중따옴표 ''' '''/""" """로 묶습니다.
불변성: 문자열은 생성 후에 변경할 수 없습니다.

# Example
mystring = "Hello, World!"
print(type(mystring)) 
#Output: <class 'str'>

mystring2 =str()
print(type(mystring2))
#Output: <class 'str'>
로그인 후 복사

튜플

정의: 불변의 값 시퀀스

구문: 괄호( )로 정의하고 쉼표로 구분합니다.

불변성: 일단 생성된 요소는 변경할 수 없습니다.

# Example
mytuple = (1,2)
print(type(mytuple)) 
#Output:<class 'tuple'>

mytuple2 =tuple()
print(type(mytuple2))
#Output:<class 'tuple'>
로그인 후 복사

이제 우리는 문자열과 튜플에 대해 알아보고 직접 할당이나 생성자를 사용한 클래스 접근 방식을 사용하여 문자열이나 튜플 유형의 변수를 얻는 방법을 알았습니다. 하지만 내 이야기는 다릅니다 :).

Python 문에는 세미콜론(;), 쉼표(,) 또는 기타 닫는 기호(공백은 블록을 처리하는 데 사용됨)가 필요하지 않으므로 "Ajit Kumar"와 같은 문자열로 후행 쉼표를 끝낼 수 있는 방법은 다음과 같습니다. 왜냐하면 종종 사전 목록에서 문자열 요소를 복사하고 종종 후행 쉼표로 끝나기 때문입니다. 이것이 나에게 일어난 일이었고 이야기가 흥미로워졌습니다.

후행 쉼표가 있는 문자열

그럼 먼저 제 스트로이의 예를 들어보겠습니다.

mymistake = "Ajit Kumar",
print(type(mymistake))
#Output : <class 'tuple'>
로그인 후 복사

이제 관찰할 사항은 두 가지입니다.
1) Python 인터프리터는 'mymistake' 문자열과 함께 후행 쉼표로 인해 오류가 발생하지 않습니다. 그렇지 않으면 오류가 더 이상 발생하지 않았을 것입니다.

2) 문자열 변수를 만들려는 의도보다 변수 유형이 '튜플'이 되었습니다.

여기에 글을 썼는데 매우 쉽고 간단해 보이지만 이 오류를 디버깅하는 데는 몇 시간이 걸렸습니다. 문자열을 메서드에 인수로 전달하고 오류가 이상했고 계속해서 메서드를 연구하고 이해하려고 노력했기 때문입니다. 오류 메시지. 예를 들어 메시지는 'name' 변수에 lower() 메서드가 없다는 것과 같습니다.

문제

괄호 없이 쉼표를 사용하면 Python은 이를 튜플로 처리합니다.

예: mymistake = "Ajit Kumar"는 튜플("Ajit Kumar",)을 생성합니다.

따라서 항목/요소만 있는 튜플을 생성하려면 매우 주의해야 합니다. 다음 예는 첫 번째 예에서 항목이 대괄호 쌍(1) 안에 있어도 Python이 이를 튜플이 아닌 정수로 처리한다는 것을 보여줍니다.

singleitem = (1)
print(type(singleitem))
#Output: <class 'int'>
로그인 후 복사

따라서 단일 항목으로 튜플을 생성하려면 다음과 같이 후행 쉼표를 사용해야 합니다.

singleitemtuple = (1,)
print(singleitemtuple)
#output:  (1,)

print(type(singleitemtuple))
#output:  <class 'tuple'>
로그인 후 복사

그리고 이것이 문자열에 후행 쉼표가 있을 때 Python이 이를 튜플로 취하고 변수를 문자열이 아닌 튜플로 생성한 이유라고 생각합니다.

그러나 Python 문서에서는 이를 명확하게 언급했으며 이를 눈치채지 못하고 학습 쉼표가 있는 단일 항목에 대해서도 항상 ()를 사용하여 튜플을 생성한 것은 내 실수 또는 과실이었습니다. 출처

어쨌든 이것은 나에게 몇 가지 새로운 교훈을 주었고 단일 항목으로 튜플을 만들거나 ()를 사용하지 않고 더 많은 항목을 만들 수 있는 지름길을 제공했습니다. 예, 더 많은 항목에 "후행 쉼표"를 사용하여 튜플을 생성하려고 시도했는데 제대로 작동했습니다. 예:

mylearning = "Ajit Kumar","April","python",
print(mylearning)
#output: ('Ajit Kumar', 'April', 'python')

print(type(mymistake))
#output:  <class 'tuple'>

로그인 후 복사

주말에 많은 배움이 있었습니다. 나는 그것이 당신에게 도움이 되기를 바랍니다. 토론과 제안을 댓글에 남겨주세요. 저는 Python 단축키와 기본 기능에 대해 듣고 싶습니다.

위 내용은 문자열 및 후행 쉼표, 커플 가져오기 및 생성, Tuple(): 오류 및 개념에 대한 복사 및 붙여넣기 실수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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