Python 基础入门:变量与数据类型全解析
在 Python 的编程世界里,变量与数据类型是基础中的基础,就像盖房子的基石,掌握好它们,才能构建出更复杂、更强大的程序。今天,就让我们一起深入了解 Python 中的变量以及常见的数据类型:数字、字符串、列表、元组、字典和集合。
一、变量:数据的 “小标签”
变量,简单来说,就是给数据起的一个名字,是程序中存储数据的 “小标签”。在 Python 中,变量的使用十分灵活,因为它是动态类型语言,变量的类型由赋给它的值来决定 。比如:
x = 10 # 此时x是整数类型,就像给整数10贴上了x这个标签
x = "Python" # 这里x又变成了字符串类型,标签x现在贴在了字符串“Python”上
变量命名规则
- 组成规则:变量名由字母、数字和下划线组成,但不能以数字开头。例如user_name、price2、_count都是合法的变量名;而2nd_place(数字开头)、user-name(含减号)则是错误的命名。
- 大小写敏感:Age和age是两个不同的变量,就好比两个不同的 “小标签”。
- 避开关键字:Python 有一些保留的关键字,像if、for、class等,不能用作变量名。比如class = "A"就会报错,因为class是关键字。
二、数字类型:数学运算的基石
数字类型是 Python 中最基本的数据类型之一,主要包含整数(int)和浮点数(float)。
整数(int)
整数就是没有小数部分的数字,例如42、-3 。在 Python 中,整数的取值范围只受限于计算机的内存大小,这意味着它可以处理非常大的整数,而不用担心溢出问题。比如计算阶乘:
n = 10
factorial = 1
for i in range(1, n + 1):
factorial *= i
print(factorial) # 这里可以轻松计算出10的阶乘,结果是3628800
浮点数(float)
浮点数是带有小数点的数字,如3.14、-0.5 。它用于表示更精确的数值计算。不过,由于计算机存储浮点数的方式是基于二进制的近似表示,在进行一些浮点数运算时可能会出现精度问题。例如:
print(0.1 + 0.2) # 理论上应该是0.3,但实际输出可能是0.30000000000000004
如果需要高精度的计算,可以使用decimal模块来处理浮点数运算。
三、字符串:文本处理的利器
字符串(str)是由字符组成的序列,用单引号(' ')或双引号(" ")括起来都可以,比如'Hello'、"Python" 。
字符串的操作
- 拼接:可以使用+运算符将多个字符串连接起来 。
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
print(result) # 输出:Hello World
- 索引和切片:通过索引可以获取字符串中的单个字符,索引从 0 开始;切片则可以获取字符串的一部分。
s = "Python"
print(s[0]) # 输出:P,获取第一个字符
print(s[1:3]) # 输出:yt,获取第二个和第三个字符
- 常用方法:字符串有很多实用的方法,比如split()用于分割字符串,replace()用于替换字符串中的内容等。
s = "apple,banana,orange"
fruits = s.split(",")
print(fruits) # 输出:['apple', 'banana', 'orange']
new_s = s.replace("apple", "grape")
print(new_s) # 输出:grape,banana,orange
四、列表:有序可变的集合
列表(list)是一种有序的、可变的容器类型,可以包含不同类型的元素,用方括号[ ]表示 。
列表的操作
- 添加元素:使用append()方法可以在列表末尾添加一个元素,insert()方法可以在指定位置插入元素。
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # 输出:[1, 2, 3, 4]
my_list.insert(1, 5)
print(my_list) # 输出:[1, 5, 2, 3, 4]
- 删除元素:使用del语句可以删除指定位置的元素,remove()方法可以删除指定值的元素。
del my_list[2]
print(my_list) # 输出:[1, 5, 3, 4]
my_list.remove(5)
print(my_list) # 输出:[1, 3, 4]
- 切片操作:和字符串类似,列表也可以进行切片操作,获取其中的一部分元素。
my_list = [1, 2, 3, 4, 5]
print(my_list[1:3]) # 输出:[2, 3]
五、元组:有序不可变的序列
元组(tuple)和列表很相似,也是有序的对象集合,但元组是不可变的,一旦创建就不能修改,用圆括号( )表示 。
元组的特点
- 不可变性:这使得元组在一些场景下比列表更安全,比如作为字典的键时,元组是可以的,而列表不行。
my_tuple = (1, "a", True)
#下面这行代码会报错,因为元组不能修改
my_tuple[0] = 2
- 创建方式:可以直接用圆括号括起来,也可以省略圆括号。
t1 = (1, 2, 3)
t2 = 1, 2, 3 # 这种方式也可以创建元组
六、字典:键值对的映射
字典(dict)是一种无序的键值对集合,用花括号{ }表示,每个键值对之间用冒号:分隔 。
字典的操作
- 添加和修改:通过键来访问和修改对应的值,如果键不存在则会添加新的键值对。
my_dict = {"name": "Bob", "age": 30}
my_dict["age"] = 31 # 修改age的值
my_dict["city"] = "New York" # 添加新的键值对
print(my_dict) # 输出:{'name': 'Bob', 'age': 31, 'city': 'New York'}
- 删除元素:使用del语句可以删除指定键的键值对。
del my_dict["city"]
print(my_dict) # 输出:{'name': 'Bob', 'age': 31}
- 遍历字典:可以通过keys()方法遍历键,values()方法遍历值,items()方法遍历键值对。
for key in my_dict.keys():
print(key)
for value in my_dict.values():
print(value)
for key, value in my_dict.items():
print(key, value)
七、集合:无序唯一的元素集
集合(set)是一个无序的、不包含重复元素的集合,用花括号{ }表示,不过空集合需要用set()来创建 。
集合的特性
- 唯一性:集合会自动去除重复的元素。
my_set = {1, 2, 2, 3, 3, 3}
print(my_set) # 输出:{1, 2, 3}
- 无序性:集合中的元素没有固定的顺序,每次输出的顺序可能不同。
my_set = {1, 2, 3}
print(my_set) # 可能输出:{1, 2, 3},也可能是其他顺序
集合的操作
- 添加元素:使用add()方法添加单个元素,update()方法可以添加多个元素。
my_set = {1, 2, 3}
my_set.add(4)
print(my_set) # 输出:{1, 2, 3, 4}
my_set.update([5, 6])
print(my_set) # 输出:{1, 2, 3, 4, 5, 6}
- 集合运算:集合支持交集(intersection)、并集(union)、差集(difference)等运算,就像数学中的集合运算一样。
set1 = {1, 2, 3}
set2 = {2, 3, 4}
print(set1.intersection(set2)) # 输出:{2, 3},交集
print(set1.union(set2)) # 输出:{1, 2, 3, 4},并集
print(set1.difference(set2)) # 输出:{1},差集
掌握了变量与这些常见的数据类型,你就已经迈出了 Python 编程的重要一步。在后续的学习中,你会发现它们在各种编程场景中发挥着巨大的作用。多动手实践,尝试用不同的数据类型解决实际问题,相信你会对 Python 编程有更深入的理解 。如果你还想了解更多关于数据类型转换、可变与不可变类型的区别等内容,欢迎继续关注我们的 Python 教程系列哦!