python(day002——基础知识2)

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))

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值