介绍 【Python 变量、数据类型、数据类型的转换】
变量
什么是变量
python中,变量是存储数据的标识符。通过变量我们可以将数据赋值给名称,再程序中通过引用这个名称去访问对应的数据
常见的使用场景
变量赋值:使用等号(=)将值赋给变量。
x = 5
name = “John”
同时为多个变量赋值
a = b = c = 1
动态类型:Python是一种动态类型语言,变量的类型是根据赋给它的值自动推断的。同一个变量可以在不同的时间赋予不同类型的值。
x = 5 # x是整数类型
x = “John” # x变为字符串类型
变量命名规则:变量名可以包含字母、数字和下划线,但不能以数字开头。变量名区分大小写。通常推荐使用小写字母和下划线的组合来命名变量,以提高代码的可读性。
age = 25
first_name = “John”
变量引用:在程序中可以通过变量名来引用变量的值。
x = 5
print(x) # 输出:5
变量的重新赋值:可以通过重新赋值给变量来改变变量的值。
x = 5
x = x + 1
print(x) # 输出:6
多重赋值。
同时给多个变量赋值
x, y, z = 1, 2, 3
交换变量的值, 变量 x 和 y 的值会互相交换,最终 x 的值为 10,y 的值为 5
x = 5
y = 10
x,y = y,x
常见的数据类型
- 整数(int):表示整数值,如1、-5、100等。
- 浮点数(float):表示带有小数点的数值,如3.14、-0.5等。
- 字符串(str):表示一串字符,用单引号或双引号括起来,如"Hello"、'Python’等。
- 布尔值(bool):表示真(True)或假(False)的逻辑值。
- 列表(list):有序、可变的数据容器,可以包含不同类型的元素,用方括号括起来,如[1, 2, ‘a’, True]等。
- 元组(tuple):有序、不可变的数据容器,可以包含不同类型的元素,用圆括号括起来,如(1, 2, ‘a’, True)等。
- 字典(dict):无序的键值对集合,用花括号括起来,如{‘name’: ‘John’, ‘age’: 25}等。
- 集合(set):无序、唯一元素的集合,用花括号括起来,如{1, 2, 3}等。
- None:表示空值或缺失值。
类型转换分为显示转换(显式转换)和隐式转换。
显示转换:
显示转换是通过使用类型转换函数明确地将一个数据类型转换为另一个数据类型。如int()、float()、str()等)来执行显示转换。
示例:
x = 10
y = float(x) # 显式将整数x转换为浮点数类型
常见的显示数据类型转换函数
int():将一个对象转换为整数类型。
x = int(3.14) # 将浮点数转换为整数,结果为3
float():将一个对象转换为浮点数类型。
x = float(5) # 将整数转换为浮点数,结果为5.0
str():将一个对象转换为字符串类型。
x = str(10) # 将整数转换为字符串,结果为"10"
bool():将一个对象转换为布尔类型。
x = bool(0) # 将整数转换为布尔值,结果为False
list():将一个可迭代对象转换为列表类型。
x = list((1, 2, 3)) # 将元组转换为列表,结果为[1, 2, 3]
tuple():将一个可迭代对象转换为元组类型。
x = tuple([1, 2, 3]) # 将列表转换为元组,结果为(1, 2, 3)
set():将一个可迭代对象转换为集合类型。
x = set([1, 2, 3]) # 将列表转换为集合,结果为{1, 2, 3}
dict():将一个可迭代的键值对序列转换为字典类型。
x = dict([('name', 'John'), ('age', 25)]) # 将列表转换为字典,结果为{'name': 'John', 'age': 25}
#备注 :可迭代对象(Iterable)是指那些可以被遍历的对象。可迭代对象是一种抽象的概念,它表示一系列的元素或值,可以按照一定的顺序进行遍历或访问。
隐式转换:
隐式转换是在表达式中自动进行的类型转换,而无需明确指定类型转换函数。它是由编程语言的规则和类型系统决定的
x = 1 # 整数类型
y = 3.0 # 浮点数类型
z = x + y # 隐式将整数x转换为浮点数,执行加法运算
print(z) #z=4.0
在上述示例中,整数x和浮点数y参与加法运算时,整数x会隐式地转换为浮点数类型,以便进行加法操作并得到浮点数结果。
隐式转换的规则:
数值类型之间的隐式转换:
当两个操作数中至少有一个是浮点数时,整数会隐式转换为浮点数类型。
数值类型和布尔类型之间的隐式转换:
布尔值False会被隐式转换为整数0,布尔值True会被隐式转换为整数1。
整数0会被隐式转换为布尔值False,非零整数会被隐式转换为布尔值True。
浮点数0.0会被隐式转换为布尔值False,非零浮点数会被隐式转换为布尔值True。
字符串和其它类型之间的隐式转换:
字符串和数值类型、布尔类型之间通常不会发生隐式转换