变量赋值操作(赋值符号 =

# 未使用变量
[1,2,3,4]*3+[1,2,3]+[1,2,3,4]
# [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 1, 2, 3, 4]
# 变量
a = [1,2,3,4] # 赋值
b = [1,2,3]  
a*3+b+a # 运算

Python变量名对大小写敏感,给变量起名一定要有意义,增强可读性,例如 skill,goodsId...
变量名可以使用数字,字母,下划线组成,首字母不能是数字。

_config ='config info"
user_info = 'user'

也不能用系统保留字作为变量名.
python 中的变量无需申明变量类型

float a = 10.0 
a = 10.0

注意以下现象:

a = 1
b = a
a = 3
print(b)
# 1 b没有随着a改变

a = [1,2,3]
b = a
a[0] = 6
print(b)
# [6,2,3] b 随着a变化

值类型和引用类型

值类型不可变,引用类型可变
int str tuple是值类型 list set dict是引用类型

a = "hello"
id(a) = 6522010 # 内容地址
a = a + "world" 
id(a) = 6522966 # 内存地址 
print(a) # hello world

列表修改

b  = [1,2,3] # 定义列表
b.append(4)
print(b) # [1,2,3,4] 可动态改变

元组不可追加,不可修改

(1,2,3) # 元组
a[2] = 1 # 报错 !!!

运算符

1.算数

算数运算符
+-*///%**
求和乘积整除求余乘方

!!! Python 中没有自增++ 和自减 --运算符

2.赋值

赋值运算符
=+=*=/=%=**=//=
赋值先求和再赋值先求积再赋值先除再赋值先求余再赋值先乘方再赋值先整除再赋值知

3.比较

比较运算符
==!=>>=<<=
等于不等大于大于等于小于小于等于

以下代码需要重点理解:

'abc' < 'abd' # ASII码逐个比较 a < a? b < b ? c < d? 序列特性
[1,2,3] < [1,2,4] # True
(1,2,3) > (1,2,4) # False
(1,2,3) < (2,1,3) # True  得到结果即返回
# 集合,字典同样是适用

4.逻辑

逻辑运算符
andornot
两个为真返回真一个为真返回真not True = False

int float
0False , 非0均为True
str
''False, '0'True
list
[]False

5.成员运算符

成员运算符
in是否在 1 in [1,2,3,4] 返回 True
not in是否不在 6 not in (1,3,4) True

成员运算符支持所有序列,包括字符串,元组,列表,集合,字典

a = 'key'
a in {'key':1} # True  成员运算符在字典中仅适用于key 查询
a in {'1':'key'} # False 
'a' in 'action'  # True

5.身份运算符

身份运算符
is
not is不是
a = 1
b = 1.0
a == b # True 关系运算符对值比较
a is b /# False 身份运算,比较内存地址
{2,1,3} == {1,2,3} # 集合 True 无序列表元素顺序不影响值
(1,2,3) == (2,1,3) # 元组 False 元组属于有序,会

关系运算符对值比较,身份运算比较内存地址;
变量类型判断

a = 1
isinstance(a,(int,float,str))

对象的三个特征: id、值、类型

5.位运算符

位运算符
&Ι^~<<>>
按位与按位或按位异或按位取反左移动右移动

按位与理解
把数字转成2进制后每一位进行比较,如果相同则返回1,不同则返回0

 #  2: 0b10
 #  3: 0b11
2 & 3
# 0b10
# 0b11
# 0b10 
# output:2   0b10
2 | 3
# 0b10
# 0b11
# 0b11 
# output: 3    0b11

标签: none

分享到: