Python 变量与运算符

变量

基本概念:

1、 变量,名字,数据的唯一标识
2、变量命名:

  • 字母、数字、下划线;
  • 不能以数字开头;
  • 区分大小写;
  • 不能使用保留字和关键字;
  • 命名要有意义;(多个单词时,推荐使用下划线连接)

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

加深对变量的认识:

a = 1
b = a
a = 2
print(a) 结果:2
print(b) 结果: 1

分析: 


file

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

分析:


file

变量两个维度:

  • 值类型 不可变 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])
修改元组里的列表里的值是可以,因为修改的是列表

运算符


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


file

887934385 交流群 分享资料,分享技术

原文地址:https://www.cnblogs.com/pypypy/p/12025355.html