在Python中,判断一个变量名是否合法,你可以遵循以下规则:
1. 变量名可以由字母、数字或者下划线组成。
2. 变量名只能以字母或者下划线开头。
3. 变量名不能是Python的关键字。
```python
import keyword
while True:
s = input('请输入变量名(输入.退出): ')
if s == '.':
print('欢迎下次使用')
break
if len(s) > 1:
if keyword.iskeyword(s):
print(f'变量名错误,{s}是关键字')
continue
if s not in string.ascii_letters + '_':
print('变量名有误,第一位必须为字母或下划线')
else:
for i in s[1:]:
if i not in string.ascii_letters + string.digits + '_':
print('变量名有误')
break
else:
print('变量名正确')
else:
print('变量名不合法,至少需要1个字符')
这段代码首先检查用户输入是否为退出命令,然后检查变量名是否符合规则:
如果变量名以字母或下划线开头,并且后续字符都是字母、数字或下划线,则变量名合法。
如果变量名以数字开头或包含除字母、数字、下划线以外的字符,或者变量名是Python的关键字,则变量名不合法。
请注意,此方法仅适用于判断用户输入的字符串是否可以作为变量名,而不能用于获取程序中已经存在的变量名。在Python中,通常情况下是无法直接获取变量名的,但可以通过`locals()`函数获取当前作用域中所有变量的名称和值