Python变量与运算符
1、变量
Python中可以用简单的英文单词来表示一个变量,变量名第一个字符为字母和下划线,不能为数字。
Python变量名严格区分大小写,没有类型限制,但是系统关键字和保留关键字不能用作变量名
>>> A=[1,2,3,4,5,6]
>>> print(A)
[1, 2, 3, 4, 5, 6]
int str tuple值类型(不可改变) list set dict引用类型(可变)
字符串不可变,可以形成新的字符串
>>> a='hello'
>>> a=a+'python'
>>> print(a)
hellopython
>>> b='hello'
>>> id(b) #id()查看变量在内存中的地址
2804147095008
>>> b=b+'python'
>>> id(b)
2804147039600 #形成新的字符串,内存地址不同
list可以改变,在内存中的地址不会变,列表支持追加,元组不支持追加
列表的追加:
>>> b=[1,2,3,4]
>>> b.append(5)
>>> print(b)
[1, 2, 3, 4, 5]
多维元组的访问方式
>>> a=(1,2,3,[1,2,4])
>>> a[3][2]
4
2、运算符
总括:
算数运算符
2**3 2的3次方
赋值运算符
c=1 将1赋值给变量c
c+=1 等价于c=c+1
b+=a等价于b=b+a(其他赋值运算符类似)
比较(关系)运算符(不仅可以比较数字类型还可以比较其他类型,比较运算符返回一个布尔值)
>>> 1>1
False
>>> 1==1
True
>>> a=1
>>> b=2
>>> a!=2
True
>>> b=1
>>> b+=b>=1
>>> print(b) #运算过程 b+=ture b+=1 b=b+1=2
2
两个字符串的比较
>>> 'a'>'b'
False
>>> ord('a')
97
>>> ord('b')
98
>>> 'abc'<'abd' 依次比较a<a b<b c<d
True
列表和元组也可以进行关系运算
>>> [1,2,3]<[2,3,4]
True
逻辑运算(and(且)or(或)not(非))
>>> not False
True
>>> 1 and 1
1
>>> 'a' and 'b'
'b'
>>> 'a' or 'b'
'a'
and和or的区别
>>> 1 and 2
2
>>> 2 and 1
1
1和2都可以表示真,返回第二个值
>>> 1 or 2
1
>>> 2 or 1
2
1和2都可以表示真,返回第一个值
成员运算符(判断一个元素是否在另一组元素中,返回布尔值)
>>> a=1
>>> a in [1,2,3,4,5]
True
>>> b=6
>>> b in [1,2,3,4,5]
False
>>> b not in [1,2,3,4,5]
True
字典的成员运算符
>>> b=1
>>> b in {'c':1}
False
>>> b in {'1':1}
False
>>> b='c'
>>> b in {'c':1}
True
只有存在键值对中的key in{key :1}才会返回True
身份运算符(is、not is返回布尔值)
如果两个变量取值相等 is返回True,is比较两个数的身份(内存)是否相同 ,“==”比较两个数的值是否相等
>>> a=1
>>> b=1.0
>>> a==b
True
>>> a is b
False
集合和元组的区别
集合是无序的
>>> a={1,2,3}
>>> b={2,1,3}
>>> a==b
True
>>> a is b
False(内存地址不同)
元组是有序的,属于序列
>>> c=[1,2,3]
>>> d=[2,1,3]
>>> c==d
False
>>> c is d
False(内存地址不同)
判断类型的函数isinstance()
>>> isinstance(a,str)
False
>>> a='hello'
>>> isinstance(a,str)
True
>>> isinstance(a,int)
False
>>> isinstance(a,(int,str,float))
True
位运算符(都是把数字当作二进制数进行运算)
& 按位与 | 按位或 ^ 按位异或 ~ 按位取反 << 左移动 >>右移动
>>> a=2
>>> b=3
>>> a&b
2
>>> a|b
3