python中变量不需要事先声明_第四章 变量

本文介绍了Python中的变量使用,包括动态声明、命名规则、赋值原理、多元赋值等内容。Python变量无需事先声明,直接赋值创建。变量名区分大小写,遵循特定的命名规则。Python中的变量赋值实际上是将变量名绑定到对象上,而非创建新对象。文中还探讨了引用赋值和元组解包等特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 变量的声明

python语言是动态语言变量不需要事先声明

变量的类型不需要声明

每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在 Python 中,变量就是变量,它没有类型,我们所说的 类型是变量所指的内存中值的类型。

变量名和变量值之间使用等号进行连接 =

等号左边成为 变量名

等号右边成为 变量的值

a = 1

a = '千锋'

---

二、 变量命名规则:

可以包含以下字符的组合大小写字母(a-z,A-Z)

变量名区分大小写; name 和 Name 是不同的变量

数字(0-9)

下划线(_)但是变量名称不可以 以数字开头。 错误示例: 192_net 正确示例: net_192

---

三、 变量命名潜规则:基础知识没整明白之前,不要以单下划线和双下划线开头;如:_user 或 __user

变量命名要易读;如:使用 user_name,而不是 username

不用使用标准库中(内置)的模块名或者第三方的模块名

不要用这些 Python 内置的关键字:

>>> import keyword

>>> keyword.kwlist

['False', 'None', 'True', 'and', 'as', 'assert', 'break'

, 'class', 'continue', 'def', 'del', 'elif', 'else', 'except',

'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',

'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',

'try', 'while', 'with', 'yield']由于打印效果,上面的输出格式已做人工处理

---

四、认清 python 中的变量

在 python 中究竟该如何正确理解变量的赋值过程呢? 比如:

s = 'hello'

以上的变量赋值,应该说成把变量名 s 分配给字符串对象 hello 更合理。

hello 这个字符串对象会在内存中先被创建,之后再把变量名 s 分配给这个对象。

所以要理解 Python 中的变量赋值,应该始终先看等号右边。

等号右边的对象先被创建或者被获取,在此之后左边的变量名才会被分配给hello 这个对象,这就像为对象贴上了标签。

变量名本质上可以说是 一个对象的标签 或者说是 对象的名字。 既然是标签/名字,那一个对象就可以有多个标签或者名字。 比如: 张三 和 小张 指的都是同一个人

请看下面的代码示例:

a = 1

b = a

a = 2

print(b) # b 会是 ?

a = 1 时如下图:

b = a 时如下图:

a = 2 时如下图:

上面的 b = a 我们称它为 传递引用,此时对象会拥有两个名称(标签) ,分别是 a 和 b。

这种变量的赋值方式也称为引用赋值。

---

五、变量的多元赋值

在 Python3 中你可以这样给变量赋值

In [2]: x, y, z = 1, 2, 3

In [3]: x

Out[3]: 1

In [4]: y

Out[4]: 2

In [5]: z

Out[5]: 3

当然也可以这样

In [10]: a, b, c = 'abc'

In [11]: a

Out[11]: 'a'

In [12]: b

Out[12]: 'b'

In [13]: c

Out[13]: 'c'假如你需要对一个序列类型中的数据进行一一解开赋值,那就需要等号左边的变量名和序列类型数据中的元素个数相同。

这种多元赋值方式在 Python 中也可以称为元组解包。

---

六、Python 中对象(变量的值)都有三个特性

# 唯一标识,是对象在内存中的整数表示形式,在 CPython 中可以理解为# 内存地址

# 可以用 id 这个函数查看

id(10) # 直接给一个对象

n = 10

id(n) # 也可以是一个已经赋值过的变量名

# 类型, 对象都有不同的类型,用 type 这个函数查看

type(10) # int 整型

type(n)

# 值,对象本身

10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值