数字
在 Python 中最重要的两个数字数据类型是 int 和 float。int 包括正负数字,不包括浮点数(比如数字 5);float 包括正负数字并包含浮点精度(比如数字 3.14)。Python 内部提供了广泛的数字操作符,以及在不同数字类型间转换的函数。下面是一些需要我们高度重视的操作:
#算数操作符a, b = 2, 3print(a + b) #5print(a - b) #-1print(a * b) #6print(a / b) #0.6666666666666666print(a // b) #0print(a % b) #2print(-a) #-2print(abs(-a)) #2print(int(2.3)) #2print(float(a)) #2.0print(a ** b) #8
这里需要注意的是 // 操作符,其是整除操作符,向下取整。
布尔类型
Python 中的 bool 类型只有两个值,False 或者 True。在 Python 中 bool 和 int 是近亲:bool 数据类型的内部使用了 int 值(默认情况下 False 用 0 表示,True 用 1 表示)。
bool 类型有个三个重要的关键字,也就是操作符:and,or,not。你可以组合使用这三个操作符,组合出所有的逻辑表达式。
这三个操作符是有优先级的,从高到底为:not -> and -> or。
在 Python 中,以下值都为 False:
None,0,0.0,'',[],{},set()
字符串
Python 中的 str 是字符序列。str 是不可变的,所以一旦创建将无法改变。以下是 5 种最常见的创建 str 的方法:
- 单引号 'python'
- 双引号 "python"
- 三引号(单或双) '''python''' 或者 """python"""
- str方法 str(11) == '11'
- 字符串连接 'py' + 'thon' == 'python'
Python 中最常使用的三种白空格是换行符 ,空格 s ,制表符 。
下面是最常用的字符串函数:
a = " abcdef gh "print(a.strip()) #abcdefghprint("PyThOn".lower()) #pythonprint("python".upper()) #PYTHONprint("python".startswith("py")) #Trueprint("python".endswith("on")) #Trueprint("python".find("th")) #2 返回找到的字符串的第一个字母在整个字符串中的索引值print("python".replace("py", "cy")) #cythonprint(','.join(["a", "b", "c"])) #a,b,cprint(len("python")) #6print("th" in "python") #True
Python 内建了大量的字符串操作函数,你可以用来解决大部分常见的字符串问题。具体见 api 文档。
int,float,bool,str 在 Python 中是最重要的基础类型。然而当我们需要结构化数据时,我们可以使用 Python 中的容器数据类型。在讨论容器类型前我们先来看看一个重要的特殊类型 None。
None
None 在 Python 中是一个常量,所表达的意思是缺少值,类似于 Java 中的 null。然而 null 经常迷惑初学者,把它看成是和数字 0 一样的东西。Python 中的 None 明确表达了它不是 0,也不是空列表,以及空字符串。None 是 NoneType 数据类型的唯一值。
def fn(): a = 2print(fn() is None) #Trueprint("" == None) #Falseprint(0 == None) #False
在 Python 函数中不定义返回值,那么返回值就是 None。