Python에는 char 유형이 없으며 문자도 문자열입니다.
Python에는 왜 전용 char 데이터 유형이 없나요?
복잡한 것보다 단순한 것이 낫습니다. Python에서 문자열의 각 문자가 차지하는 공간은 8비트입니다.
1 2 3 4 5 |
|
보시다시피 널 문자는 37바이트를 차지하고, 길이가 1인 문자열 'a'는 38바이트를 차지합니다. memory.byte. 문자 a가 하나 더 있으면 바이트가 하나 더 있습니다.
Python에서는 문자열이 다음과 같이 구현됩니다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
각 문자는 ob_sval에 저장되며 나머지 36바이트를 차지합니다. 실제로 Python의 문자열 구현은 길이가 0 또는 1인 문자열, 즉 char를 저장할 수 있는 *interned라는 전역 변수를 사용하므로 공간을 절약하고 속도를 높일 수 있습니다.
1 2 3 4 5 6 7 8 |
|
사실 Python에는 포인터도 없고 "네이키드 데이터 구조"(비객체)도 없습니다. 심지어 가장 간단한 정수 정수도 이런 방식으로 구현됩니다.
1 2 3 4 |
|
간단히 말하면, 이 디자인은 Python의 "모든 것을 만족시킵니다." 사물이다'와 '모든 것은 최대한 단순하다'는 디자인 철학을 가지고 있다.
관련 튜토리얼 권장사항: Python 비디오 튜토리얼
위 내용은 Python에는 char 유형이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!