c++变量重新赋值_了解Python基础变量类型

32172056a1e62df29f65107c74965e2e.png

泰迪学院-Python基础

公众号ID:taidixueyuan

在Python中,变量不需要提前声明,创建时直接对其赋值即可,变量类型由赋给变量的值决定。值得注意的是,一旦要创建一个变量时,就需要给该变量赋值。

有一种“平民”的说法是,变量好比一个标签,指向内存空间的一块特定的地址。创建一个变量时,在机器的内存中,系统会自动给该变量分配一块内存,用于存放变量值。如图1所示。

c1e1d807b4b94e5949e1ae04df6724ee.png

图1 变量存储示意图

通过id函数具体查看创建变量和变量重新赋值时内存空间的变化过程,如代码1所示。

代码1  内存空间的变化

>>>x = 4>>>id(x)                      # 查看变量x指向的内存地址30834096L>>>y = x                       # 将变量x重新赋给另一个新变量y>>>id(y)30834096L>>>x = 2                      # 对变量x重新赋值>>>x,y                       # 同时输出变量x和变量y的值(2,4)>>>id(x)30834144L>>>id(y)30834096L

从代码1中可以直观地看出,一个变量在初次赋值时,就会获得一块内存空间用于存放变量值。当令变量y等于变量x时,其实是一种内存地址传递,变量y获得的是存储变量x值的内存地址,所以当变量x改变时,变量y并不会发生改变。此外,还可以看出,变量x的值改变时,系统已经重新分配了另一块内存空间供新的变量值存放。

创建一个变量,首先需要一个变量名和变量值(数据),然后通过赋值将值赋给变量。

1. 变量名

变量的命名严格遵守标识符的规则,这在前文(2.1.6命名标识符与保存字符)已经作了详细的介绍,读者可以返回前文重新查阅和巩固。

Python中还有一类非保留字的特殊字符串(如内置函数名),这些字符串具有某种特殊功能,虽然用于变量名时不会出错,但会造成相应的功能丧失。如len函数可以用来返回字符串长度,但是一旦用来定义变量时,其就失去了返回字符串长度的功能。因此,在取变量名时,不仅要避免Python中的保留字,还要避开具有特殊作用的字符串,以确保发生一些不必要的错误,如代码2所示。

代码2  变量名注意事项

>>>import keyword                         # 加载keyword库>>>keyword.iskeyword(“and”)                # 判断“and”是否为保留字 TRUE>>>and = “我是保留字”                      # 以保留字作为变量名  File "", line 1    and = '我是保留字'      ^SyntaxError: invalid syntax>>>strExample = “我是一个字符串”            # 创建一个字符串变量>>>len(strExample)                          # 使用len函数查看字符串长度7>>>len = “特殊字符串命名”                   # 使用len作为变量名>>>len特殊字符串命名>>>len(strExample)                          # len函数查看字符串长度出错Traceback (most recent call last):  File "", line 1, in <module>TypeError: 'str' object is not callable

如果在一段代码中有大量变量名,而这些变量没有错,只是取名都很随意,风格不一,这样在在解读代码时会出现一些混淆。接下来介绍几种命名法。

(1) 大驼峰(upper camel case)

所有单词的首字母都是大写,例如“MyName,YouFamily”……

大驼峰一般用于类的命名。

(2) 小驼峰(lower camel case)

第一个单词的首字母为小写字母,其余单词的首字母都采用大写字母,例如“myName”,“youFamily”……

小驼峰用在函数名和变量名中的情况比较多。

(3) 下划线(_)分隔

所有单词都采用小写字母,中间用下划线(_)分隔开,例如“my_Name,you_Family”……

关于要使用哪种方法去对变量命名,并没有一个统一的说法,重要的是一旦选择好了一种命名方式,在后续的程序编写过程保持一致的风格即可。

2. 变量值

变量值就是要赋给变量的数据,在Python中有六个标准的数据类型:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionary)、集合(Sets),其中列表、元组、字典、集合属于复合数据类型。

3. 变量赋值

最简单的变量赋值就是把一个变量值赋给一个变量名,只需要用等号(=)就可以实现。

同时Python还可以将一个值同时赋给多个变量,如代码3所示。

代码3  变量赋值

>>>a = b = c = 1                            # 一个值赋给多给变量>>>a1>>>b1>>>c1

代码3展示了将数字1同时付给了变量a、b、c。如果要将数字1,2和字符串“abc”分别赋值给变量a、b、c就是使用逗号(,),具体可以如代码4所示。

代码4  多个变量同时赋值

>>>a,b,c =1,2,”abc”                      # 多个变量同时赋值>>>a1>>>b2>>>c‘abc’

泰迪智能工作室出品

2d35452c83ff75501d15e120398a3df8.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值