变量名与类型
Python 中所有数据都以对象的形式存在,对象就像一个盒子,盒子里面装着值,而变量名只是贴在这个盒子上的一个标签。
对象有不同的类型,类型决定了可以对它进行的操作。
对象的类型还决定了它装着的数据是允许被修改的变量(可变的)还是不可被修改的常量(不可变的)。
可变对象就像一个开着口的盒子,盒子中的值可以被修改,但无法改变盒子本身,即无法改变对象的类型。所以 Python 是强类型语言。
变量名只是一个标签,它可以被贴在任何类型的对象上。所以 Python 又被叫做动态类型语言。
变量的命名规则
类名采用大驼峰命名法,即将类名中的每个单词的首字母都大写,其他小写,不使用下划线。
实例名和模块名都采用小写格式,并在单词之间加上下划线。
常量名使用全大写+下划线。
对象的三个基本要素
Python 中对象包含三个基本要素:id(身份标识),type,value。
== 作用于 value,value 相等为 True,否则为 False
is(同一性运算符)作用于 id,即两个变量名本质上是不是同一个对象。如:
a = b = [1, 2, 3]c = [1, 2, 3]print(a == c) # output: Trueprint(a is c) # output: Falseprint(a is b) # output: True
Python 中的真值与假值
真值:除了假值都是真值
假值:
False(bool 类型)None(null 类型)0(整型)0.0(浮点型)''(空字符串)[](空列表)()(空元组){}(空字典)set()(空集合)
假值不仅仅包含 None,所以要判断是否为 None,必须使用 is 运算符:
thing = Noneif thing is None:print('It's nothing')else:print('It's something')# 结果:It's nothing
Python 中其他进制数字的表示
0b10 —— 二进制的 100o10 —— 八进制的 100x10 —— 十六进制的 10
关于运算符
除法
/更接近自然语言,整数相除不会将小数部分舍弃,若要舍弃,可以使用 floor除法(//)。floor除法即使是浮点数相除也会舍去小数部分。a ** b, 表示 a 的 b 次幂,幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。结合性:从右向左逻辑运算符使用英文单词:
and,or,not。优先级:not > and > or写法
3 < 4 < 5也是合法的,它其实被解释为3 < 4 and 4 < 5三元操作符:
result = x if x > y else y,若x > y成立,将 x 赋给 result,若不成立,将 y 赋给 result成员资格操作符
in:元素是否包含在序列中,若是,返回True,否则False。not in相反。Python 中没有自增自减运算符(如
++)。但有增量赋值运算符(如:+=)
