저는 "헤드 퍼스트 프로그래밍"이라는 책을 통해 작업하고 있는데, 왜 그들이 이것을하고 있는지 혼란스러워하는 부분이 있습니다.
텍스트에 대한 이유나 설명이없는 것으로 보입니다.문자열을 사용하여 해시 키 이름 지정 하시겠습니까?
문제는 문자열에서 분할 데이터를 해시로 할당하기 위해 다중 할당을 사용하는 것입니다 (해시를 사용하는 이유는 이해가되지 않습니다.하지만 물어 보면 해시가 별개입니다. 발행물). 다음은 예제 코드입니다 :이 문자열 line
을 각각라는 이름의 부분으로 그것을 분할 할 것을 이해
line = "101;Johnny 'wave-boy' Jones;USA;8.32;Fish;21"
s = {}
(s['id'], s['name'], s['country'], s['average'], s['board'], s['age']) = line.split(";")
,하지만 난 이해가 안 나는 왜 키가 문자열을 사용하여 이름이되고있다 생각, 이전에 단 몇 페이지 만 올랐을 때 작은 따옴표없이 다른 변수와 마찬가지로 이름이 지정되었습니다.
개별 부품의 용도는 개별 요소를 기준으로 검색 한 다음 화면에 인쇄해야합니다. 예를 들어 ID 번호로 검색 한 다음 전체를 반환 할 수 있습니다.
문제가되는 언어는 문제가되는 경우 Python입니다. 이것은 혼자서이 물건을 배우려고하기 때문에 오히려 혼란 스럽습니다.
개인적으로 가장 잘 추측하는 것은 그것이 차이가 없으며 저자의 일부분이 개인적으로 선호한다는 것입니다.하지만 갑자기 의미가 없으면 갑자기 형태를 바꿀 거라는 것을 깨달았습니다. 그들은 그것을 설명하지 않는다.
편집 : 그래서 이름 주위에 작은 따옴표를 사용하거나 사용하지 않고 id
키를 인쇄 해 보았습니다. 어느 쪽이든 완벽하게 작동했습니다. 그러므로 개인적으로 선호하는 문제라고 생각해야하지만, 장기적 관점에서 실제로 변화가 있는지 여부를 실제로 알고있는 사람의 정보가 필요합니다.
편집 2 : 분명히, 내 파이썬 인터프리터 실제로 내가 준 것을들과 협력 방법에 대한 어떤 이해가되지 않습니다, 그래서 같이 https://www.youtube.com/watch?v=52GQJEeSwUA
그들은 실제로'{}'a * hash *를 호출합니까? 그것은 * dict *입니다. 해시는 펄 용어입니다. –
저자가 질문에 인용하지 않은 다른 예를 기반으로이 구체적인 예를 쓰는 이유를 설명해 줄 것을 요청합니까? 우리가 당신에게 말할 수있는 것은별로 없습니다. 할당 라인은 사전에 여러 개의 할당을 수행합니다. 튜플 - 언 패킹과 항목 할당을 결합하는 것을 제외하고는 특별한 것이 없습니다. – Bakuriu
내 질문에'(s [ 'id'], s [ 'name'], s [ 'country'], s [ 'average'], s [ 'board'], s [ 'age']) = line.split (";")'행은 대괄호 사이의 비트 주위에 작은 따옴표를 둡니다. 분명히 필요하지는 않습니다. –