【Python 零基础入门】变量 & 数据类型

【Python 零基础入门】第二课 变量 & 数据类型

【Python 零基础入门】第二课 变量 & 数据类型

随着计算机编程逐渐成为一个重要的技能, 许多初学者选择了 Python作为他们的首选编程语言. Python 简单易学, 是为那些没有任何编程背景的人准备的. 在这篇文章中, 我们将深入探讨 Python 的基础知识——变量和数据类型.

https://i-blog.csdnimg.cn/blog_migrate/2b001f378aebcb83b4bbe1826aff07ba.png#pic_center

变量

变量是存储在内存中的值, 创建变量时我们会在内存中开辟一个空间. 变量用于存数据, 在 Python 中变量无需声明.

https://i-blog.csdnimg.cn/blog_migrate/41d5a01876b2bb3040e31543571c7e38.jpeg#pic_center

Python 中的变量命名规则

  • 变量名可以包含字母, 数字和下划线, 单不能以数字开头+ 在 Python 中, 区分大小写, 例如Variablevariable是两个不同的变量+ 不要使用 Python 内置的关键词作为变量名, 例如Class+ 推荐的命名方式:

  • 使用有意义的变量名称, 如 “name” 而不是 “abcd”+ 使用小写字母和下划线为多个单词分隔的方式命名变量, 如 “user_name”+ 避免过去简略的变量名, 如 “x”, “y”, “z”

备注: 如何在 Python 中显示所有关键字列表:

https://i-blog.csdnimg.cn/blog_migrate/8381249c2b99b4a14c6142ce2cbb3d9b.png

创建变量

例子:

a = 10  # 创建变量a, 并赋值为10
b = "我是小白呀"  # 创建变量b, 并赋值为 "我是小白呀"
print(a, b)  # 调试输出

输出结果:

10 我是小白呀

注: print函数用于输出变量的值

背后的逻辑

Python 中的内存空间分为三部分: 代码区, 静态数据区, 和动态数据区. 动态数据区又分为栈和堆. (了解即可)

简单画一下上面代码的背后逻辑:
https://i-blog.csdnimg.cn/blog_migrate/86e1d8f546b01958cc5d0a93a0f5b961.png#pic_center

  • 在栈中开辟一块空间, 创建变量 a, 变量 a 指向堆中的值 10+ 在栈中开辟一块空间, 创建变量 b, 变量 b 指向堆中的值 “我是小白呀”+ 输出流通过栈中的方法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 是一门动态类型的语言, 无需提前声明变量类型. Python 解释器运行时会自动确定变量的类型.

例子, 先定义为整型, 再定义为字符串:

x = 5  # 整型
x = "我是小白呀"  # 字符串

数据类型

在 Python 中变量无需制定类型.

Python 中的数据类型有以下几种:

  • 数字型:

  • 整型 (int)+ 浮点型 (float)+ 布尔型 (bool)

  • 非数字型:

  • 字符串 (string)+ 列表 (list)+ 元组 (tuple)+ 字典 (dict)

数字型类型

在 Python 中, 数字分为三种类型: 整数, 浮点, 复数, 和布尔类.

整型 (int):

  • 整数是没有小数点的数字, 在 Python 整型 (int), 可以是正的, 负的或为 0

浮点型 (float):

  • 浮点是带有小数点或者使用科学计数法表示的数字

复数 (Complex Numbers):

  • 由实部和虚部组成, 例如d = 3 + 4j

布尔型 (bool):

  • 布尔型表示真 (True) 或 假 (False)

例子:

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 提供了一系列函数来帮助我们来实现数据类型转换.

常见的类型转换函数:

  • int():将一个值转换为整数。+ float():将一个值转换为浮点数。+ str():将一个值转换为字符串。
    https://i-blog.csdnimg.cn/blog_migrate/8d773d7421142fbbf9cd0a40976c2253.png#pic_center

浮点转整数

例子:

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: '我是小白呀'

注: 某些类型之间不能进行强制转换.

可变性 vs 不可变性

在 Python 中, 每个对象都有一个关键的属性, 即可变性或不可变性.

可变数据类型

可变数据类型: 对象一旦创建, 其内容就可以被修改. 可变数据类型包括:

  • 列表 (list)+ 字典 (dict)+ 集合 (set)

不可变数据类型

不可变数据类型: 与可变数据类型相反, 这些类型的对象一旦创建, 其内容不能被修改. 不可变数据类型包括:

  • 整型 (int)+ 浮点 (float)+ 复数+ 字符串 (string)+ 元组 (tuple)

例子:

# 整形
a = 10
print("整形变量a修改之前地址:{}".format(id(a)))
a = 20
print("整形变量a修改之后地址:{}".format(id(a)))

输出结果:

整形变量a修改之前地址:140713088816224
整形变量a修改之后地址:140713088816544

总结

  • 性能: 不可变对象由于其固定不变的特性, 能提升程序性能+ 安全性: 不可变对象在多线程中更安全, 不存在被多个线程修改的问题+ 代码可预测性: 了解对象的可变性有助于预测和理解代码行为+ 减少错误: 不可变性减少了对象状态意外更改引起的错误, 代码可靠性更高

练习

基础变量操作

基础变量操作:

  • 创建一个变量 “name” 并将它赋值为你的名字+ 打印这个变量的值以及数据类型

数字类型练习

数字类型练习:

  • 创建两个变量, a=10, b=20+ 执行加减乘除操作, 并打印结果

数据类型转换

数据类型转换:

  • 创建一个浮点数变量 “float_num” 并赋值 3.14+ 将 “float_num” 转换为整型并打印结果

参考答案

# 练习 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

文章来源: https://iamarookie.blog.csdn.net/article/details/133735741
版权声明: 本文为博主原创文章,遵循CC 4.0 BY-SA 知识共享协议,转载请附上原文出处链接和本声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值