随着计算机编程逐渐成为一个重要的技能, 许多初学者选择了 Python作为他们的首选编程语言. Python 简单易学, 是为那些没有任何编程背景的人准备的. 在这篇文章中, 我们将深入探讨 Python 的基础知识——变量和数据类型.
变量是存储在内存中的值, 创建变量时我们会在内存中开辟一个空间. 变量用于存数据, 在 Python 中变量无需声明.
Variable
和variable
是两个不同的变量Class
备注: 如何在 Python 中显示所有关键字列表:
例子:
a = 10 # 创建变量a, 并赋值为10
b = "我是小白呀" # 创建变量b, 并赋值为 "我是小白呀"
print(a, b) # 调试输出
输出结果:
10 我是小白呀
注: print
函数用于输出变量的值
Python 中的内存空间分为三部分: 代码区, 静态数据区, 和动态数据区. 动态数据区又分为栈和堆. (了解即可)
简单画一下上面代码的背后逻辑:
print()
, 提取堆中变量对应的值, 并输出在控制台上每个变量在内存中都用一个存储地址, 我们可以使用 “id” 函数来查看这个地址 (堆中的地址).
例子:
# 创建整型变量
a = 10 # 变量 a 赋值为 10
b = 20 # 变量 b 赋值为 20
print("a,b 的值:", a, b) # 调试输出 a,b 的值
# 查看内存地址
print("a 的内存地址:", id(a))
print("b 的内存地址:", id(b))
输出结果:
a,b 的值: 10 20
a 的内存地址: 140713030947936
b 的内存地址: 140713030948256
错误 1, 调用未创建的变量:
a = 1 # 定义a变量
print(b) # 尝试输出未定义的b变量
输出:
Traceback (most recent call last):
File "C:/Users/Windows/Desktop/讲课/第一课 变量常见错误.py", line 2, in <module>
print(b) # 尝试输出未定义的b变量
NameError: name 'b' is not defined
# 多重赋值
a, b, c = 1, 2, 3
print(a)
print(b)
print(c)
输出:
1
2
3
Python 是一门动态类型的语言, 无需提前声明变量类型. Python 解释器运行时会自动确定变量的类型.
例子, 先定义为整型, 再定义为字符串:
x = 5 # 整型
x = "我是小白呀" # 字符串
在 Python 中变量无需制定类型.
Python 中的数据类型有以下几种:
在 Python 中, 数字分为三种类型: 整数, 浮点, 复数, 和布尔类.
整型 (int):
浮点型 (float):
复数 (Complex Numbers):
d = 3 + 4j
布尔型 (bool):
例子:
a = 1 # 整形 (int) 变量
b = 1.23 # 浮点型 (float) 变量
c = True # 布尔型 (bool)
print(a, b, c) # 调试输出变量值
print(type(a), type(b), type(c)) # 调试输出变量类型
输出:
1 1.23 True
<class 'int'> <class 'float'> <class 'bool'>
注: 通过type()
函数, python 会返回变量的类型.
例子:
d = "我是小白呀" # 字符串(string)
e = [1, 2, 3] # 列表 (list)
f = (1, 2, 3) # 元组 (tuple)
g = {"课程内容": "Python 基础 2022 最新"} # 字典 (dict)
print(d, e, f, g) # 调试输出变量值
print(type(d), type(e), type(f), type(g)) # 调试输出变量类型
输出结果:
我是小白呀 [1, 2, 3] (1, 2, 3) {'课程内容': 'Python 基础 2022 最新'}
<class 'str'> <class 'list'> <class 'tuple'> <class 'dict'>
注: 通过type()
函数, python 会返回变量的类型.
在编程的过程中, 有时我们需要将一个数据类型转换成另一个数据类型. Python 提供了一系列函数来帮助我们来实现数据类型转换.
常见的类型转换函数:
例子:
a = 1.23 # 创建浮点型 (float)
b = int(a) # 将浮点型转换为整数型 (int)
print(a, b) # 调试输出变量值
print(type(a), type(b)) # 调试输出变量类型
输出结果:
1.23 1
<class 'float'> <class 'int'>
例子:
a = 2 # 创建整数型 (int)
b = bool(a) # 将整数型转换为布尔 (bool)
print(a, b) # 调试输出变量值
print(type(a), type(b)) # 调试输出变量类型
输出结果:
2 True
<class 'int'> <class 'bool'>
注: 当非 0 的数字转换为布尔的时候为 True, 反之为 False.
例子:
a = "我是小白呀" # 创建字符串
b = int(a) # 强转为整数型
print(a, b) # 调试输出变量值
print(type(a), type(b)) # 调试输出变量类型
输出结果:
Traceback (most recent call last):
File "C:/Users/Windows/Desktop/讲课/第一课 数据类型转换.py", line 21, in <module>
b = int(a)
ValueError: invalid literal for int() with base 10: '我是小白呀'
注: 某些类型之间不能进行强制转换.
在 Python 中, 每个对象都有一个关键的属性, 即可变性或不可变性.
可变数据类型: 对象一旦创建, 其内容就可以被修改. 可变数据类型包括:
不可变数据类型: 与可变数据类型相反, 这些类型的对象一旦创建, 其内容不能被修改. 不可变数据类型包括:
例子:
# 整形
a = 10
print("整形变量a修改之前地址:{}".format(id(a)))
a = 20
print("整形变量a修改之后地址:{}".format(id(a)))
输出结果:
整形变量a修改之前地址:140713088816224
整形变量a修改之后地址:140713088816544
基础变量操作:
数字类型练习:
a=10
, b=20
数据类型转换:
# 练习 1
name = "我是小白呀"
print("练习1:")
print(name, type(name))
# 练习 2
a = 10
b = 20
print("练习2:")
print("加:", a + b)
print("减:", a - b)
print("乘:", a * b)
print("除:", a / b)
# 练习 3
float_num = 3.14
int_num = int(float_num)
print("练习3:")
print("类型转换前:", float_num, "转换为整型后:", int_num)
输出结果:
练习1:
我是小白呀 <class 'str'>
练习2:
加: 30
减: -10
乘: 200
除: 0.5
练习3:
类型转换前: 3.14 转换为整型后: 3