好冷的Python~别再说标识符只能用字母数字下划线了

原文链接:http://www.juzicode.com/archives/3672

在大多数编程语言中,标识符几乎都限定在字母数字下划线3种符号中。C语言中也不例外,下面就是一个C语言的例子:

//juzicode.com;vx:桔子code 
#include <stdio.h>
int main(void)
{
 	char* name="桔子code"; 
 	printf("name=%s",name); 
 	char* 名字="桔子code"; 
 	printf("name=%s",名字);  	
	return 0;
}

第7行在定义变量“名字”时使用的是中文,不符合C语言中变量名必须是英文、数字或者下划线的原则,编译的时候就报错了:

在很多Python书籍中也经常看到这样的说明,Python的标识符也只能是字母、数字或者下划线组成:

同样的方式我们来看一个Python3的例子:

#juzicode.com/vx:桔子code
name='桔子code'
名字='桔子code'
print('name:',name)
print('名字:',名字)

你觉得会发生什么?抛异常?no!程序运行正常:

name: 桔子code 
名字: 桔子code

Python3原生支持unicode之后,变量名也不再局限于字母、数字或者下划线了。当然实际应用中使用中文变量名的情况还是很少的,只是多见于一些谈论“奇技淫巧”的编程语言习题中。

但是如果使用了$&^等特殊字符,仍然会导致“SyntaxError: invalid syntax”异常:

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注