# 写在前面
? ? ? ? 发现CSDN的编辑器不会用,不会自动生成目录,所以直接放弃了目录,会的人可以教教吗?
# 变量命名
? ? ? ? python中标识符的命名(即变量的命名)有一些规则:
- 区分大小写:Argument?和 argument 是两个不同的标识符,也就是两个不同的变量
- 首字符和其他字符:首字符可以是下划线或者字母,其他字符可以是下划线、字母或者数字。也就是 _arg ,_arg1,_arg_1,arg1等都是合法的,但是 1arg 这样的变量名是不合法的,会报错。
- 关键字和内置函数:关键字和python自带的函数的名字不可以用作标识符。关键字用作标识符会报错,这个可以放心一点。但内置函数名作标识符只会有一个警告,程序依然可以运行。虽然内置函数名作标识符没错,但是并不推荐这样做,这也是一些基本规范。
像这里,python自带函数abs()(一个求绝对值的函数),所以用abs作标识符是可以的,但会有warning,意思就是这是内置函数的名字,建议最好改掉。
python关键字
False???????? | def | if | raise | None | del | return | import | True | elif | in | try | and | else | is | while | as | except | lambda | with | assert | finally | nonlocal | yield | break | for | not | class | from | or | continue | global | pass | | | |
?上面是常见的python关键字,不过也没有必要现在背下来,等学过一遍自然就知道哪些是关键字了。这里比较特殊的是False?None?True,在有些语言里,则三个词开头是小写的,python里要是大写的,否则会报错。
# 关于常量和变量
# 变量
? ? ? ? 从这里开始你就能看到python的随意性和容错性
? ? ? ? 学过c/c++/java的应该知道,声明变量的格式可以是
- 类型 + 名称 : int a ;????????char a ;?
- 类型 + 名称 + 值 :? int a = 5 ;????????char a = 'a' ;?
????????无论怎样,声明一个变量总要有一个类型,比如 int(整数型)、char(字符类型)。但是在python里就没有这些东西。你可以像下面这样声明,系统会自动判断它是什么类型。虽然这很方便,但先学c++的我这样非常难受,总想int a = 5,然后就会报错,cry~
a = 5
b = 'c'
c = 'i want to learn python'
d = 1.1
? ? ? ? 与之相对的,其他语言里我们可以声明一个变量但不赋值,比如 int a;就是一条完整的语句。但python不可以,如果你在一行里写了一个a,不给它赋值,就会报错,毕竟你一行就写一个a放在哪里属实奇怪。顺带一提,python不一定要用分号结束语句,一行就是一条语句,并且依靠缩进而不是大括号来划分代码块。这些后面都会再提到。
# 常量
? ? ? ? python关于常量的说法属实令人哭笑不得,c/c++规定了 const 关键字,java规定了 final 关键字,用来声明常量。比如,const double?pi = 3.1415926; 那么pi的值就是3.1415926,不能再更改,这就是为什么叫做常量。但python关于常量的说法是,全靠程序员自觉......也就是你声明一个变量,记住它不能改,它就是常量了。比如把名字取成 constValue 来提醒自己这个变量不能改。总之,有点离谱......
# 细节补充
? ? ? ? python不声明变量类型,导致一个变量可以随便改变类型。
int a = 5;
a = 'l'; //错误c/c++的代码,它不会允许你把字符赋值给整型的变量
y = 20 #python代码
print(type(y)) # 显示y是int类(整数类型)
y = 'python' # 不会报错
print(type(y)) # 显示y是string类(字符串类型)
? ? ? ?前面说的python不一定要用分号结束语句,一行就是一条语句,又是什么意思呢?
????????注意我上面的代码,每行最后并没有分号,但依然正常运行,也就是一行即一个完整的语句,并不一定要加分号,当然加上也不会报错。但如果你想像下面这样写就要加分号了。
x = 20 ; y = 20
# x = 20 y = 20,如果这样写就会报错
? ? ? ? 不过不推荐这样写,还是把变量分两行写更好一点
# 总结
? ? ? ? 这只是简单的基础规则和对python语言的大致了解。
? ? ? ? 顺便预报下一篇:python数据类型。依旧是,欢迎批评指正!、
|