好冷的Python~别再说标识符只能用字母数字下划线了
原文链接:http://www.juzicode.com/archives/3672
在大多数编程语言中,标识符几乎都限定在字母数字下划线3种符号中,我们先看一个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”异常:
=========================================
Python冷知识集合:
好冷的Python~ 那些同名的家伙们(Python作用域)
好冷的Python–if __name__==’__main__’是啥东东