语法规则:
常量名称必须以字母或下划线开头。
常量名称不得包含空格或特殊字符(除下划线外)。
常量名称不得与关键字相同。
常量名称应使用大写字母和下划线。
语义规则:
常量的值必须在程序执行期间保持不变。
常量不能被重新赋值。
常量的类型必须是基本类型(例如 int、float、char),不能是引用类型(例如类实例)。
判断常量合不合法的方法:
1. 检查语法规则:确保常量名称符合语法规则。
2. 检查语义规则:确保常量值在程序执行期间不会改变,并且它的类型是基本类型。
3. 使用编译器或解释器:编写包含常量的程序,运行它并观察是否产生任何错误消息。如果编译或运行顺利,则表示常量合法。
示例:
非法常量:
`123`(不是以字母或下划线开头)
`myconstant`(包含连字符)
`true`(与关键字相同)
合法常量:
`PI`
`MAX_VALUE`
`SPEED_OF_LIGHT`
常量定义:
在 Python 中,使用 `const` 关键字定义常量。常量的值在运行时不能被修改。
语法:
python
const VARIABLE_NAME = value
示例:
python
const PI = 3.14
CONST_STRING = "Hello World"
检测常量是否被定义:
可以使用 `hasattr()` 函数来检测一个常量是否被定义。如果常量存在,则返回 `True`,否则返回 `False`。
示例:
```python
if hasattr(math, "PI"):
print("Constant PI is defined")
```
或者,可以使用 `try...except` 块:
```python
try:
value = PI
except NameError:
print("Constant PI is not defined")
```
浮点常量
必须包含小数点或指数部分。
指数部分必须以 `e` 或 `E` 开头,后跟整数。
负号必须出现在数字之前或指数部分的 `e` 或 `E` 之前。
整数常量
可以是十进制(前导 0)、八进制(前导 0)或十六进制(前导 0x 或 0X)。
可以带正负号。
字符常量
用单引号括起来。
可以是单个字符或转义字符。
字符串常量
用双引号括起来。
可以包含任何字符,包括换行符和制表符。
布尔常量
只允许 `true` 和 `false` 两个值。
合法常量的其他规则
常量不得包含空格。
常量不得包含反斜杠,除非用作转义字符。
常量不得包含关键字或保留字。
常量不得包含声明或定义。
不合法的常量示例
`123.45`(没有小数点)
`0x123`(缺少前导 0)
`'abc'`(字符常量必须是单个字符)
`"Hello World"`(字符串常量中包含空格)
`false true`(布尔常量一次只能返回一个值)
判断常量合法的规则:
以字母、下划线或 $ 开头,后面为字母、数字、下划线或 $ 的任意组合。
不能使用关键字作为常量名。
不能包含空格或特殊字符(如 !、@、 等)。
不能以数字开头。
不能以下划线结尾。
判断变量合法的规则:
与常量相同,变量也必须遵循以下规则:
以字母、下划线或 $ 开头,后面为字母、数字、下划线或 $ 的任意组合。
不能使用关键字作为变量名。
不能包含空格或特殊字符(如 !、@、 等)。
不能以数字开头。
区分常量和变量:
常量:使用 `const` 关键字声明,其值在运行时不能被修改。常量名通常使用大写字母和下划线,例如 `MAX_VALUE`。
变量:使用 `var`、`let` 或 `const` 关键字声明,其值可以在运行时被修改。变量名通常使用小写字母和下划线,例如 `myVariable`。
示例:
合法的常量:
`PI`
`GR*ITY`
`MAX_WIDTH`
`$CONSTANT`
不合法的常量:
`123`(不能以数字开头)
`_myConstant`(不能以下划线结尾)
`my constant`(不能包含空格)
`var`(关键字不能用作常量名)
合法的变量:
`myVariable`
`_tempValue`
`count`
`$myVar`
不合法的变量:
`5myVar`(不能以数字开头)
`myVar `(不能包含空格)
`const`(关键字不能用作变量名)
`123`(不能完全是数字)