变量名与类型
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: True
print(a is c) # output: False
print(a is b) # output: True
Python 中的真值与假值
真值:除了假值都是真值
假值:
False
(bool 类型)None
(null 类型)0
(整型)0.0
(浮点型)''
(空字符串)[]
(空列表)()
(空元组){}
(空字典)set()
(空集合)
假值不仅仅包含 None
,所以要判断是否为 None
,必须使用 is
运算符:
thing = None
if 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 中没有自增自减运算符(如
++
)。但有增量赋值运算符(如:+=
)