python变量&运算符

赋值与变量

>>> A = [1,2,3,4,5,6]
>>> print(A)
[1, 2, 3, 4, 5, 6]
>>> B = [1,2,3]
>>> A*3 + B + A
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 5, 6]
>>> 

变量命名的可读性要强
  • 变量命名规则

    • 使用字母,数字,下划线组合,但是首字母不能使用数字

    • 系统关键字(保留关键字) 不能用在变量名中

    • 变量名区分大小写

    • 变量没有类型限制

    >>> a = 1
    >>> a = '1'
    >>> a = {1,2,3}
    >>> a = [1,2,3]
    >>> 
    
  • 非系统关键保留字,但是又经常被用作方法的,尽量不要以此命名

>>> type  = 1
>>> type(1)
Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    type(1)
TypeError: 'int' object is not callable
>>> 1(1)
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    1(1)
TypeError: 'int' object is not callable
>>> print(type)
1
>>> 
  • 值类型与引用类型
    • int str tuple值类型(不可改变)
    • list set dict引用类型(可变)
>>> a = 1
>>> b = a
>>> print(b)
1
>>> a = [1,2,3]
>>> b=a
>>> a[0] = '1'
>>> print(b)
['1', 2, 3]
>>> 

字符串是不可变得,但是使用id(b)可以看出内存地址发生了变化,创建了一个新的字符串

>>> a = 'hello'
>>> a = a + 'python'
>>> print(a)
hellopython
>>> b = 'hello'
>>> id(b)
2294861621744
>>> b = b + 'python'
>>> id(b)
2294861553200
>>> 

>>> 'python'[0]
'p'
>>> 'python'[0] = 'o'
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    'python'[0] = 'o'
TypeError: 'str' object does not support item assignment
>>> 

列表list的可变与元祖tuple的不可变

>>> a = [1,2,3]
>>> id(a)
2294821051264
>>> hex(id(a))
'0x2164dfe5b80'
>>> a[0] = '1'
>>> id(a)
2294821051264
>>> 

>>> a  = (1,2,3)
>>> a[0] = '1'
Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    a[0] = '1'
TypeError: 'tuple' object does not support item assignment
>>> 
>>> b = [1,2,3]
>>> b.append(4)
>>> print(b)
[1, 2, 3, 4]

>>> c = (1,2,3)
>>> c.append(4)
Traceback (most recent call last):
  File "<pyshell#23>", line 1, in <module>
    c.append(4)
AttributeError: 'tuple' object has no attribute 'append'
>>> 


  • 二维三维
>>> a = (1,2,3,[1,2,3])
>>> a[2]
3
>>> a[3][2]
3
>>> b = (1,2,3,[1,2,['a','b','c']])
>>> b[3][2][2]
'c'
>>> 
//修改元祖中的列表中的元素
>>> a[3][2] = '4'
>>> print(a)
(1, 2, 3, [1, 2, '4'])
>>> 

运算符

  • 算术运算符

+,-,*,/,//,%,**

>>> 'hello' + 'world'
'helloworld'
>>> [1,2,3]*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> 3-1
2
>>> 3/2 除法
1.5
>>> 3//2 整除
1
>>> 5%2 取余
1
>>> 2**2 平方
4
>>> 2**5
32
>>> 
  • 赋值运算符

= ,+=,-=,*=,/=,%=,//=,**=

>>> c = 1
>>> print(c)
1
>>> c+=1
>>> print(c)
2
>>> c-=1
>>> print(c)
1
>>> c*=2
>>> print(c)
2
>>> 
/= %= //= **=
  • 比较运算符

==,!=,>,<,>=,<=

>>> 1==1
True
>>> 1>1
False
>>> 1<1
False
>>> 1>=1
True
>>> 1<=1
True
>>> 1!=1
False
>>> 

>>> b=1
>>> b+=b>=1
>>> print(b)
2
>>> print(b>=1)
True
>>> b=b+True
>>> print(b)
3
>>> 
不只是数字才能做比较运算
>>> 'a'>'b' 比较acii码
False
>>> ord('a')
97
>>> ord('b')
98
>>> 'abc'<'abd' 会单独把a与a比较 b与b比较 c与d比较
True
>>> 

>>> [1,2,3]<[2,3,4]
True
>>> (1,2,3)<(1,3,2)
True
>>> 
  • 逻辑运算符

and or not

>>> True and True
True
>>> True and False
False
>>> True or False
True
>>> False or False
False
>>> not False
True
>>> not True
False
>>> not not True
True
>>> 1 and 1
1
>>> 'a' and 'b'
'b'
  • 对于整型 0被认为是False,非0被认为是True

  • 对于字符串,空字符串False

  • 对于列表,空列表被认为False

  • 成员运算符

in not in

一种元素是否在另一种元素里

>>> a =1
>>> a in [1,2,3,4,5]
True
>>> a in (1,2,3,4,5)
True
>>> a in {1,2,3,4,5}
True
>>> 

//字典的成员运算符
>>> b = 'a'
>>> b in {'c',1}
False
>>> b = 1
>>> b in {'c',1}
True
>>> b = 'c'
>>> b in {'c',1}
True
>>> 
  • 身份运算符

is not is

>>> a = 1
>>> b = 1.0
>>> a == b
True
>>> a is b
False
>>> 
>>> id(a)
2504316315952
>>> id(b)
2504351047216
>>> 

==比较的是值是否相等,is不是比较值相等,is比较的是两个变量的身份是否相等
>>> a = {1,2,3}  //集合是无序的
>>> b = {2,1,3}
>>> id(a)
2504352345440
>>> id(b)
2504352344544
>>> c = (1,2,3) //元组是有序的
>>> d = (2,1,3)
>>> id(c)
2504352642432
>>> id(d)
2504352643008
>>> a == b
True
>>> a is b
False
>>> c == d
False
>>> c is d
False
>>> 

类型的判断type

>>> a = 'hello'
>>> type(a) == int
False
>>> type(a) == str
True
>>> isinstance(a,str)
True
>>> isinstance(a,int)
False
>>> isinstance(a,(int,str,float))
True
>>> 

对象的三个特征 id value type,分别使用is、 == 、isinstance判断

  • 位运算符

&(按位与) |(按位或) ^(按位异或) ~(按位取反)<<(左移动) >>(右移动)

当做二进制数运算

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值