标签:container end one nbsp 不同 head 返回 instance 地址
表达式:表达式是操作符和值的结合。如:2+3
,2,3都是值,而+是操作符。
数字表达式:1,2,3
字符表达式:‘a‘,‘aaa‘
运算表达式:1+2,1*2
print(1)
print(‘aa‘)
print(1+2)
+
:
加法运算。
字符串,列表,元组拼接。
print("加法运算:",4+5)
print("字符串连接:","str"+"ing")
print("列表拼接:",[1,2,3]+[4,5,6])
print("元组拼接:",(1,2,3)+(4,5,6))
-
:减法运算。
print("减法运算:",4-6)
*
:
乘法运算。
字符串,列表,元组重复。
print("乘法运算:",4*6)
print("字符串重复:","123"*2)
print("列表重复:",[1,2]*2)
print("元组重复:",(1,)*2)
/
:除法运算,得到精确数值。
//
:除法运算,向下取整。
print("除法运算:",4/6)# 结果为0.6e-16
print("除法运算:",4//6)# 结果为0
%
:取模运算,得到余数。
print("取模运算:",4%6)
**
:乘方运算。
print("乘方运算:",3**2)
=
:赋值运算,把=右边的赋给左边。
+=
,-=
,*=
,/=
,//=
,%=
,**=
a=2
print(a)
a+=2
print("a=a+2:",a)
a-=2
print("a=a-2:",a)
a*=2
print("a=a*2:",a)
a/=2
print("a=a/2:",a)
a//=2
print("a=a//2:",a)
a%=2
print("a=a%2:",a)
a**=2
print("a=a**2:",a)
==
:比较两个变量是否相等,相等为True,不等为False
a = [1,2,3,4,5,6]
b =list(set(tuple({1,2,3,4,5,6})))
print("a ? b",a==b)
>
,<
,>=
,<=
,!=
0,‘ ‘," ",[],(),{},None
:在布尔上下文中为假,其余任何东西都为真。
Python逻辑判断,从左往右解析。
逻辑运算符作用:用来判断上下文。
a and b
(上文:表列)a and b(下文:表行) | 真(True) | 假(0|False) |
---|---|---|
真(True) | 结果返回b | 结果返回b |
假(0|False) | 结果返回a | 结果返回a |
当a为真,b为真,and前后都为真,则返回下文b的值;
当a,b中有一个为真,一个为假,则返回为假的值;
当a,b都为假,则返回上文a的值。
# 0,False,空格" ",空元组(),空列表[],空集合|字典{},None为假,其他为真
print("a=True,b=True:",True and True,1 and 3)
print("a=True,b=False:",3 and 0)
print("a=False,b=True:",0 and ‘ss‘)
print("a=False,b=False:",False and ())
总结:and:如果a和b都为真,就返回b的值;如果a和b一真一假,返回假的值;都为假,返回a的值。
a or b
(上文:表列)a or b(下文:表行) | 真(True) | 假(0|False) |
---|---|---|
真(True) | 结果返回a | 结果返回a |
假(0|False) | 结果返回b | 结果返回b |
当a为真,b为真,or前后都为真,则返回上文a的值;
当a,b中有一个为真,一个为假,则返回为真的值;
当a,b都为假,则返回下文b的值。
# 0,False,空格" ",空元组(),空列表[],空集合|字典{},None为假,其他为真
print("a=True,b=True:",True or True,1 or 3)
print("a=True,b=False:",3 or 0)
print("a=False,b=True:",0 or ‘ss‘)
print("a=False,b=False:",0 or ())
总结:or:如果a和b都为真,就返回a的值;如果a和b一真一假,返回真的值;都为假,返回b的值。
位运算:首先把需要位运算的数值---->二进制数值,然后进行位运算。
&
:按位与。两个二进制数对应位都为1,结果位才为1;否则为0。
|
:按位或。两个二进制数对应位有一个为1,结果位就为1;其余为0。
~
:按位非。一个二进制数对应位为0,结果位就为1;对应位为1,结果位为0。
^
:按位异或。两个二进制数对应位相同,结果位为0;对应位不同,结果位为1。
<<
:按位左移。按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位补0。
左移:在数字没有溢出的情况下,左移几位就是这个数乘以2的几次方。
>>
:按位右移。按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补符号位,即正数补0,负数补1。
右移:在数字没有溢出的情况下,右移几位就是这个数除以2的几次方。
进制转换
运算:
十进制---->二进制:变成2的n次方,2的n次方(10进制)--->1 0000000000000000(2进制),此时n是几,0就有几个。
4(10) = 2*2(10) =2**2(10)=100(2)===>即4(10)==100(2)
12(10)=8(10)+4(10)=2**3(10)+2**2(10)
=1100(2)
二进制---->十进制:
1100(2):
1100(2)===>n=4;1100(2)=1000+100
=1*2**3+1*2**2+0*2**1+0*2**0=8+4+0+0=12(10)
n进制----->十进制:
1100(n):
1100(n)====>n=4;1100(n)=1000+100
+1*n**3+1*n**2+0*n**1+0*n**0
=n**3+n**2(10)
函数:
十进制---->二进制:bin(n)
,去掉0b前缀。
十进制---->八进制:oct(n)
,去掉0o前缀。
十进制---->十六进制:hex(n)
,去掉0x前缀。
i进制----->十进制:int(n,base=i)
a = 4
b = 8
print(bin(a),bin(b))
print("&:",a&b)
print("|:",a|b)
print("~:",~a,~b)
print("^:",a^b)
print(">>:",b>>a)
print("<<:",b<<a)
in
:包含于列表,元组,字典等容器。
not in
:不包含于列表,元组,字典等容器。
a = [1,2,3,4,5]
b = {"name":"xwg",2:3}
c = (1,)
d = {1,2,3}
print("in:",1 in a,1 in b,1 in c,1 in d)
print("not in:",0 not in a,0 not in b,0 not in c,0 not in d)
is
:是。
is not
:不是。
a = [1,2,3,4,5]
b = {"name":"xwg",2:3}
c = (1,)
d = {1,2,3}
print("is:",1 is a[0],1 is b[2],1 is c[0],1 is d)
print("is not:",0 is not a,0 is not b,0 is not c,0 is not d)
字典只能访问存在的索引。
集合不能使用索引访问。
isinstance(obj, class_or_tuple)
:判断是否是对应类型,是返回True,否则返回False。
参数1:需要判断类型的对象。
参数2:类型:str,tuple,list,set,dict,object...
print("string is str?",isinstance(‘string ‘,str))
print("tuple is tuple?",isinstance((1,),tuple))
print("list is list?",isinstance([1,3],list))
print("set is set?",isinstance({1},set))
print("dict is dict?",isinstance({1:1},dict))
print("string is object?",isinstance(‘string‘,object))
type(obj)
:查询对象的类
id(obj)
标签:container end one nbsp 不同 head 返回 instance 地址
原文地址:https://www.cnblogs.com/bright-future/p/14728855.html