1.5Python语言的变量(Variable)

1.变量声明

#注意:这是变量引用表达式,不是变量声明未初始化。
变量名

#声明时必须同时初始化
变量名 = 值

变量在赋值后可以通过重新赋值更改其值。

注意:新的值的类型不一定与老的值的类型相同。

#声明变量a并初始化
a = 1
#注意:这是重新赋值,不是重新声明。
a = "张三"

2.变量作用域

2.1全局变量

名称修饰符
全局变量——————

2.2成员变量

名称修饰符
类变量——————
实例变量self.

2.3局部变量

名称修饰符
局部变量——————

3.变量引用表达式

变量名

4.并行赋值

并行赋值用于在一条语句中实现给多个变量(或常量)同时赋值。

并行赋值是按位置赋值。

#左侧数量等于右侧数量
(a, b) = (1, 2)
print(a, b)  # 1 2

#简写(省略两侧的圆括号)
a, b = 1, 2
print(a, b)  # 1 2
#左侧数量小于右侧数量
#右侧所有的值会被打包成元组
a = 1, 2, 3
print(a)  # (1, 2, 3)

#不支持此语法
a, b = 1, 2, 3
print(a, b)  # 报错

#右侧多余的值会被打包成列表
a, b, *c = 1, 2, 3, 4, 5
print(a, b, c)  # 1 2 [3, 4, 5]
#左侧数量大于右侧数量
#不支持此语法
a, b, c = 1, 2
print(a, b, c)  # 报错

实际上,赋值表达式左侧的变量名可以是任何可赋值的标识符,比如列表的元素访问表达式。

li = [1, 2]
li[0], li[1] = 3, 4
print(li)  # [3, 4]

实际上,赋值表达式右侧可以是任何序列,右侧的序列会被“解包”。

a, b = "12"
print(a, b)  # 1 2

a, b = [1, 2]
print(a, b)  # 1 2

a, b = range(1, 3)
print(a, b)  # 1 2

赋值表达式右侧的值还可以是函数定义。

def f():
    return 2

a, b = 1, f
print(a, b())  # 1 2

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/python/pythonlang/35540.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年1月4日 22:05
下一篇 2025年1月6日 22:06

相关推荐

  • 1.6Python语言的常量(Constant)

    Python 语言没有常量。 可以将指定变量的命名方式更改为全大写字母(SNAKE_CASE)的命名方式来表示常量,但是此常量就跟变量一样它的值依然是可变的。

    Python语言教程 2025年1月6日
    0670
  • 2.5Python类型之元组(Tuple)

    元组的索引是整数类型。 元组的索引是有序的。 元组的元素可以是任何 Python 数据类型,且不必都是同一个类型。 元组的元素的个数(长度)可以动态改变,不可以添加、更改、删除元素。 元组的元素不可以重复。 1.元组声明 2.访问元组 访问方式 描述 t[i] 索引 i 对应的元素 t[i:j] 索引 i(包含) 到 …

    Python语言教程 2025年2月5日
    01010
  • 2.6Python类型之字典(Dictionary)

    字典的键必须是不可变类型。 字典的键不可以重复,后定义的键值对会覆盖先定义的键值对。 字典的值可以是任何 Python 数据类型,且不必都是同一个类型。 字典的值可以重复。 字典的键值对是无序的,但迭代时是有序的。 字典的键值对的个数(长度)可以动态改变,可以添加、更改、删除键值对。 1.字典声明 2.访问字典 3.字…

    Python语言教程 2025年2月6日
    01180

发表回复

登录后才能评论