详解Python中的变量和运算符

变量

基本概念:

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

变量命名规则

字母、数字、下划线;

不能以数字开头;

区分大小写;

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

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

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

加深对变量的认识:

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

分析

edd4836712a50409e583f65c84ddbf4.png

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])

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

运算符

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

c51f614d98d45b7fb27080abf19e3f6.png

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 详解Python中的变量和运算符