详解Python中的变量和运算符

python

变量

基本概念:

 变量,名字,数据的唯一标识

变量命名规则

字母、数字、下划线;

不能以数字开头;

区分大小写;

不能使用保留字和关键字;

命名要有意义;(多个单词时,推荐使用下划线连接)

变量本身没有类型,也没有类型限制,数据类型是根据赋值的类型

加深对变量的认识:

a = 1

b = a

a = 2

print(a) 结果:2

print(b) 结果: 1

分析

a = [1, 2, 3]

b = a

a[0] = ‘1’

print(a) 结果: [‘1’, 2, 3]

print(b) 结果: [‘1’, 2, 3]

变量两个维度:

值类型 不可变 int 、string、tuple

引用类型 可变 list、set、dict

举栗

举栗子前,先介绍一个 Python 内置函数 id(), 用于获取内存存储数据的地址。

# 栗子1

print(id('hello'))              //  结果:4364624200

a =  'hello'

b = 'hello'

print(id(a))            //  结果: 4364624200

print(id(b))            //  结果: 4364624200

a = a + 'world'

print(id(a))            // 结果:4364610096

# 栗子2

'Python'[0] 

'Python'[0]  = 'p'

// 结果就会报以下错误了

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: 'str' object does not support item assignment

通过两个栗子,从而证明值类型的不可变,变量重新的赋值只是指向了一个新的地址。

不可变的元组与可变的列表

a = [1, 2, 3]

id(a)                     // 结果: 4636166088  内存地址(转换为16进制,比较合适)  

a.append(4)      // 末尾追加一个数值,使用点运算符的链式方式 

id(a)                   // 结果:4636166088

得出结论:改变内部的值并不会改变存储在内存的地址

b = (1, 2, 3)

元组定义好后是不可改变的,也没有上面列表的追加参数的函数方法;在程序上能用元组解决问题的尽量使用元组,少使用列表,团队合作开发互相调用下避免修改。

多维元组,列表

a = (1, 2, 3, (1, 2, 3))

访问: a[3][2]

b = (1, 2, 3, [1, 2, 3])

b[3][1] = '1'

print(b)          // 结果:(1, 2, 3, [1, '1', 3])

修改元组里的列表里的值是可以,因为修改的是列表

运算符

运算符这里就把画的一个思维导图放上,只要知道有几种运算符种类和每个种类运算符可以干嘛就行了,具体到各个符号用的时候看看思维导图 

以上是 详解Python中的变量和运算符 的全部内容, 来源链接: utcz.com/z/521790.html

回到顶部