变量名与类型

Python 中所有数据都以对象的形式存在,对象就像一个盒子,盒子里面装着值,而变量名只是贴在这个盒子上的一个标签。

对象有不同的类型,类型决定了可以对它进行的操作。
对象的类型还决定了它装着的数据是允许被修改的变量(可变的)还是不可被修改的常量(不可变的)。

可变对象就像一个开着口的盒子,盒子中的值可以被修改,但无法改变盒子本身,即无法改变对象的类型。所以 Python 是强类型语言。

变量名只是一个标签,它可以被贴在任何类型的对象上。所以 Python 又被叫做动态类型语言。

变量的命名规则

类名采用大驼峰命名法,即将类名中的每个单词的首字母都大写,其他小写,不使用下划线。
实例名模块名都采用小写格式,并在单词之间加上下划线
常量名使用全大写+下划线

对象的三个基本要素

Python 中对象包含三个基本要素:id(身份标识),typevalue

== 作用于 valuevalue 相等为 True,否则为 False

is(同一性运算符)作用于 id,即两个变量名本质上是不是同一个对象。如:

  1. a = b = [1, 2, 3]
  2. c = [1, 2, 3]
  3. print(a == c) # output: True
  4. print(a is c) # output: False
  5. print(a is b) # output: True

Python 中的真值与假值

真值:除了假值都是真值

假值:

  • False(bool 类型)
  • None(null 类型)
  • 0(整型)
  • 0.0(浮点型)
  • ''(空字符串)
  • [](空列表)
  • ()(空元组)
  • {}(空字典)
  • set()(空集合)

假值不仅仅包含 None,所以要判断是否为 None,必须使用 is 运算符:

  1. thing = None
  2. if thing is None:
  3. print('It's nothing')
  4. else:
  5. print('It's something')
  6. # 结果:It's nothing

Python 中其他进制数字的表示

0b10 —— 二进制的 10
0o10 —— 八进制的 10
0x10 —— 十六进制的 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,否则 Falsenot in 相反。

  • Python 中没有自增自减运算符(如 ++)。但有增量赋值运算符(如:+=