> 백엔드 개발 > 파이썬 튜토리얼 > 파이썬 변수는 왜 숫자로 시작할 수 없나요?

파이썬 변수는 왜 숫자로 시작할 수 없나요?

(*-*)浩
풀어 주다: 2019-07-03 10:28:32
원래의
6305명이 탐색했습니다.

누군가가 서면으로 규정한 것에는 반드시 이유가 있어야 합니다. 즉, 합리적이어야 합니다.

파이썬 변수는 왜 숫자로 시작할 수 없나요?

Python 변수 명명 규칙 (권장 학습: Python 비디오 튜토리얼)

변수 이름에는 문자, 숫자, 밑줄만 포함될 수 있습니다. 변수 이름은 문자나 밑줄로 시작할 수 있지만 숫자는 사용할 수 없습니다. 예를 들어 변수 이름을 message_1로 지정할 수 있지만 1_message로 지정할 수는 없습니다.

변수 이름에는 공백이 포함될 수 없지만 밑줄을 사용하여 단어를 구분할 수 있습니다. 예를 들어, Greeting_message라는 변수 이름은 작동하지만, Greeting message라는 변수 이름은 오류를 발생시킵니다.

Python 키워드와 함수 이름을 변수 이름으로 사용하지 마세요. 즉, 인쇄와 같은 특별한 목적을 위해 Python에 예약된 단어를 사용하지 마세요.

변수 이름은 짧고 설명적이어야 합니다. 예를 들어, name은 n보다 좋고, Student_name은 s_n보다 좋고, name_length는 length_of_persons_name보다 좋습니다.

소문자 l과 대문자 O는 숫자 1과 0으로 오해될 수 있으므로 주의해서 사용하세요.

참고: 소문자 Python 변수 이름을 사용해야 합니다. 변수 이름에 대문자를 사용해도 오류가 발생하지는 않지만 대문자는 사용하지 않는 것이 좋습니다.

왜 숫자로 시작할 수 없나요? 이는 컴파일 원리의 관점에서 설명되어야 합니다.

오늘 스크립트 분석을 하다가 갑자기 이런 생각이 들었습니다. 먼저 문법 구문 분석 도구에 대해 설명하겠습니다. 구문 분석할 스크립트는 매우 간단하며 &, |, ~, =, !=, () 및 {}와 같은 연산자만 포함합니다. 처음에는 NFA 및 DFA를 작성하고 상태를 찾은 다음 어휘 분석을 작성하여 토큰을 생성하는 컴파일 원칙을 채택한 다음 구문 분석을 통해 토큰을 생성하여 의미를 기반으로 구문 트리를 생성하고 최종적으로 평가했습니다. . 나중에 생각해 보면 이 스크립트는 문자별로 판단하고 다양한 유형의 문자를 만날 때 처리를 위해 다양한 하위 기능을 입력하기만 하면 되며 동시에 어휘 분석, 구문 분석 및 프로세스를 완료합니다. 평가. 그러나 어떤 방법을 사용하더라도 읽은 문자를 기준으로 현재 어떤 Token이 입력되어 있는지 판단해야 하는데 이것이 문제의 핵심이다.

캐릭터가 속한 토큰을 결정하는 것이 왜 중요한가요?

변수 이름 정의가 숫자로 시작할 수 없다는 제한을 취소한다고 가정해 보겠습니다. 이때 어휘 분석기는 토큰 분석의 시작 상태에 들어갈 때 읽은 첫 번째 문자가 숫자이면 어휘 분석기는 입니다. 현재 분석 중인 토큰이 변수 이름인지 숫자 상수인지 확인할 수 없습니다. 좋아요, 분석기가 다음 문자를 기반으로 판단할 수 있다고 말하면 다음 문자가 문자라면 현재 토큰이 변수 이름에 속하는지 쉽게 판단할 수 있습니다(지금은 예약된 키워드를 무시하겠습니다) , 그런데 다음 문자가 모두 숫자이면 어떻게 해야 하나요? 변수 이름 정의에 숫자가 허용되기 때문에 파서는 이를 알 수 없습니다.

하하, 위에서 말한 내용은 복잡하고 이해하기 어려울 수 있습니다. 간단히 말해서 문자열 "123"을 분석할 때 변수 이름에서 첫 번째 문자가 숫자를 허용하면 분석기가 "123"을 인식하지 못합니다. 123"은 숫자 상수이거나 변수 이름이어야 합니다.

더 많은 Python 관련 기술 기사를 보려면 Python Tutorial 칼럼을 방문하여 알아보세요!

위 내용은 파이썬 변수는 왜 숫자로 시작할 수 없나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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