1.2进制、8进制、16进制
10进制:
123=1*10^2+2*10^1+3*10^0
切换为10进制数:
2进制:
1010=1*2^3+0*2^2+1*2^1+0*2^0=10
8进制:
123=1*8^2+2*8^1+3*8^0=83
16进制:(F是十六进制的15,A是十六进制的10)
FA9=15*16^2+10*16^1+9*16^0=4009
>>> oct(83)
'0o123'
>>> hex(4006)
'0xfa6'
>>> bin(10)
'0b1010'
#oct:从10进制计算8进制
#hex:从10进制计算16进制
#bin:从十进制计算二进制
>>> a=8
>>> bin(a)
'0b1000'
>>> type(bin(a))
<class 'str'>
>>> bin(a)[2:]
'1000'
>>> "00"+bin(a)[2:]
'001000'
>>> print("8的二进制是:",bin(8)[2:].zfill(len(bin(8))))
8的二进制是: 001000
>>> "abc".zfill(8)
'00000abc'
>> "absssssssssssc".zfill(8)
absssssssssssc'
>>> "abc".ljust(8,"*")
'abc*****'
>>> "abc".rjust(8,"*")
'*****abc'
>>> "abc".center(8,"*")
'**abc***'
2.计算机原码、反码、补码
3.运算符
3.1算术运算
#取余
>>> divmod(10,6)
(1, 4)
>>> divmod(10,6)[0]
1
>>> divmod(10,6)[1]
4
#次方
>>> 2**3
8
>>> pow(2,3)
8
#开方,引入math包
>>> import math
>>> math.sqrt(3)
1.7320508075688772
>>> math.pi
3.141592653589793
>>> math.pow(2,3)
8.0
#绝对值
>>> abs(-1)
1
>>> math.fabs(-1)
1.0
#取整
>>> math.floor(1.33) #向上取整
1
>>> math.ceil(1.33) #向下取整
2
3.2比较、逻辑运算
>>> a>b
False
>>> a<b
True
>>> a==b
False
>>> a!=b
True
>>> a>=b
False
>>> a<=b
True
#与或非
>>> True and False
False
>>> True or False
True
>>> not False
True
3.3赋值运算
>>> a,b=1,2
>>> print(1,b)
1 2
3.4位运算
>>> a=3
>>> b=5
>>> a&b #位与
1
>>> a|b #位或
7
>>> a^b #异或
6
>>> ~a #取反
-4
#a的二进制:011
#b的二进制:101
3.5成员运算
>>> "a" in ["a",1,2,3]
True
>>> "a" in ("a",1,2,3)
True
3.6身份运算
>>> a=266
>>> b=266
>>> a is b
False
>>> a=256
>>> b=256
>>> a is b
True
#256一下都是True
>>> id(a)
140727577907424
>>> a=1000
>>> b=1000
>>> a is b
False
>>> id(a)
2583554057072
>>> id(b)
2583554057168
>>> a=b
>>> a is b
True
>>> a=[]
>>> b=a
>>> a is b
True
>>> id(a)
39646856
>>> id(b)
39646856
>>> a.append(1)
>>> b.append(2)
>>> a
[1, 2]
>>> b
[1, 2]
>>>
>>>
>>> a=[]
>>> b=[]
>>> a.append(1)
>>> b.append(2)
>>> a
[1]
>>> b
[2]
>>> id(a)
31369544
>>> id(b)
39648648
*Operator 包的应用
# -*- coding: utf-8 -*-
import operator
print (operator.add(1,1))
print (operator.sub(2,1))
print (operator.mul(2,3))
print (operator.truediv(6,2))
print (operator.contains("ab","a"))
print (operator.pow(2,3))
print (operator.ge(1,1))
print (operator.ge(2,1))
print (operator.le(1,2))
print (operator.eq(1,1))