第一章 变量、数据类型和运算符
了解变量和数据类型的概念
当我们编写程序时,需要用到数据,这些数据需要存储在计算机的内存中。变量是用来表示这些数据的名字,可以通过变量名来访问和操作这些数据。Python 是一种动态类型语言,这意味着我们可以在不声明变量类型的情况下直接给变量赋值。
例如,下面的代码定义了一个变量 a
并给它赋值为整数 10:
a = 10
a = 10
在这个例子中,我们创建了一个名为 a
的变量,并将整数 10 赋值给它。这个变量的类型是 int,表示整数。
Python 中常见的数据类型包括:
- 数字:整数(int)、浮点数(float)、复数(complex)
- 字符串(str)
- 列表(list)
- 元组(tuple)
- 字典(dict)
- 集合(set)
例如,下面的代码创建了一个列表和一个字符串变量:
my_list = [1, 2, 3, 4, 5] # 列表
my_string = "Hello, World!" # 字符串
my_list = [1, 2, 3, 4, 5] # 列表
my_string = "Hello, World!" # 字符串
变量 my_list
表示一个列表,包含整数 1 到 5。变量 my_string
表示一个字符串,包含了 "Hello, World!" 这个字符串。
需要注意的是,不同类型的数据不能混合运算。例如,整数和字符串不能直接相加。下面的代码会引发一个类型错误:
a = 10
b = "Hello"
c = a + b # 会报错
a = 10
b = "Hello"
c = a + b # 会报错
因此,在编写程序时,需要根据实际需要选择合适的数据类型,并确保操作的数据类型一致。
学习数字、字符串、列表、元组、字典等常见数据类型
Python 中常见的数据类型包括数字、字符串、列表、元组、字典和集合等。下面简单介绍一下这些数据类型以及它们的基本用法:
- 数字:整数、浮点数、复数等数值类型。可以进行数学运算,如加减乘除、取模、幂等运算等。例如:
a = 10 # 整数
b = 3.14 # 浮点数
c = 2 + 3j # 复数
print(a + b) # 加法运算
print(a % b) # 取模运算
print(c ** 2) # 幂运算
a = 10 # 整数
b = 3.14 # 浮点数
c = 2 + 3j # 复数
print(a + b) # 加法运算
print(a % b) # 取模运算
print(c ** 2) # 幂运算
- 字符串:用于表示文本序列的数据类型。可以进行字符串连接、切片、格式化等操作。例如:
a = "Hello"
b = "World"
print(a + " " + b) # 字符串连接
print(a[1:3]) # 切片操作
print("My name is %s, I'm %d years old." % ("Tom", 18)) # 字符串格式化
a = "Hello"
b = "World"
print(a + " " + b) # 字符串连接
print(a[1:3]) # 切片操作
print("My name is %s, I'm %d years old." % ("Tom", 18)) # 字符串格式化
- 列表:用于存储一组有序的数据,可以包含不同类型的数据。可以进行添加、删除、插入、排序等操作。例如:
my_list = [1, "Hello", 3.14, True] # 列表
my_list.append("World") # 添加数据
my_list.remove(3.14) # 删除数据
my_list.insert(1, "Python") # 插入数据
my_list.sort() # 排序
print(my_list)
my_list = [1, "Hello", 3.14, True] # 列表
my_list.append("World") # 添加数据
my_list.remove(3.14) # 删除数据
my_list.insert(1, "Python") # 插入数据
my_list.sort() # 排序
print(my_list)
- 元组:与列表类似,但是元组一旦创建就不能修改。可以看作是不可变的列表。例如:
my_tuple = (1, "Hello", 3.14, True) # 元组
print(my_tuple[1]) # 访问元素
len(my_tuple) # 元素个数
my_tuple = (1, "Hello", 3.14, True) # 元组
print(my_tuple[1]) # 访问元素
len(my_tuple) # 元素个数
- 字典:用于存储键值对的数据类型。可以通过键来访问值,可以进行添加、删除、更新等操作。例如:
my_dict = {"name": "Tom", "age": 18, "gender": "male"} # 字典
print(my_dict["name"]) # 访问值
my_dict["age"] = 19 # 更新值
my_dict["city"] = "Beijing" # 添加键值对
del my_dict["gender"] # 删除键值对
print(my_dict)
my_dict = {"name": "Tom", "age": 18, "gender": "male"} # 字典
print(my_dict["name"]) # 访问值
my_dict["age"] = 19 # 更新值
my_dict["city"] = "Beijing" # 添加键值对
del my_dict["gender"] # 删除键值对
print(my_dict)
- 集合:用于存储不重复元素的数据类型。可以进行交集、并集、差集等操作。例如:
my_set1 = set([1, 2, 3, 4, 5]) # 集合
my_set2 = set([4, 5, 6, 7, 8])
print(my_set1 & my_set2) # 交集
print(my_set1 | my_set2) # 并集
print(my_set1 - my_set2) # 差集
my_set1 = set([1, 2, 3, 4, 5]) # 集合
my_set2 = set([4, 5, 6, 7, 8])
print(my_set1 & my_set2) # 交集
print(my_set1 | my_set2) # 并集
print(my_set1 - my_set2) # 差集
这些常见的数据类型在实际开发中会经常使用。在编写程序时,需要根据实际情况选择合适的数据类型,并灵活运用各种操作方法。
理解运算符的概念,包括算术、比较、逻辑、位运算符
运算符是用来对变量和值进行操作的符号或关键字。在 Python 中,常见的运算符包括算术运算符、比较运算符、逻辑运算符、位运算符等。下面简单介绍一下这些运算符以及它们的基本用法。
- 算术运算符:用于进行基本的数学运算,如加减乘除等。例如:
a = 10
b = 3
print(a + b) # 加法运算
print(a - b) # 减法运算
print(a * b) # 乘法运算
print(a / b) # 除法运算
print(a % b) # 取模运算(余数)
print(a ** b) # 幂运算
a = 10
b = 3
print(a + b) # 加法运算
print(a - b) # 减法运算
print(a * b) # 乘法运算
print(a / b) # 除法运算
print(a % b) # 取模运算(余数)
print(a ** b) # 幂运算
- 比较运算符:用于比较两个值的大小关系,返回布尔值 True 或 False。例如:
a = 10
b = 3
print(a > b) # 大于
print(a < b) # 小于
print(a >= b) # 大于等于
print(a <= b) # 小于等于
print(a == b) # 等于
print(a != b) # 不等于
a = 10
b = 3
print(a > b) # 大于
print(a < b) # 小于
print(a >= b) # 大于等于
print(a <= b) # 小于等于
print(a == b) # 等于
print(a != b) # 不等于
- 逻辑运算符:用于对布尔值进行逻辑运算,如与、或、非等。例如:
a = True
b = False
print(a and b) # 与运算
print(a or b) # 或运算
print(not a) # 非运算
a = True
b = False
print(a and b) # 与运算
print(a or b) # 或运算
print(not a) # 非运算
- 位运算符:用于对二进制数进行位运算,如与、或、异或、左移、右移等。例如:
a = 0b1101 # 二进制数 1101,十进制数 13
b = 0b1010 # 二进制数 1010,十进制数 10
print(a & b) # 与运算
print(a | b) # 或运算
print(a ^ b) # 异或运算
print(a << 2) # 左移(相当于乘以 2 的 n 次方)
print(a >> 2) # 右移(相当于除以 2 的 n 次方)
a = 0b1101 # 二进制数 1101,十进制数 13
b = 0b1010 # 二进制数 1010,十进制数 10
print(a & b) # 与运算
print(a | b) # 或运算
print(a ^ b) # 异或运算
print(a << 2) # 左移(相当于乘以 2 的 n 次方)
print(a >> 2) # 右移(相当于除以 2 的 n 次方)
这些运算符在实际开发中会经常使用,可以用来进行各种计算和逻辑判断。需要注意的是,不同类型的数据不能混合运算,例如字符串和数字不能直接相加。此外,在使用比较运算符时,需要注意比较的数据类型和比较符号的选择,避免出现不必要的错误。
例如,下面的代码展示了一些常见的错误用法:
a = "10"
b = 3
print(a + b) # 会报错,字符串和数字不能相加
print(a > b) # 会报错,字符串和数字不能比较大小
print(a == b) # 会返回 False,因为类型不同
a = "10"
b = 3
print(a + b) # 会报错,字符串和数字不能相加
print(a > b) # 会报错,字符串和数字不能比较大小
print(a == b) # 会返回 False,因为类型不同
因此,在编写程序时,需要根据实际情况选择合适的运算符,并确保操作的数据类型一致。