python各类进制相互转化和字符串操作方法

一:各种进制数相互转化的方法

1. bin():可以把其它类进制数转化为二进制数

a = bin(10)     #十进制数10
b = bin(0x10)   #十六进制数10
c = bin(0o10)   #八进制数10
print(a,b,c)
0b1010 0b10000 0b1000

2. oct():可以把各类进制数转化为八进制数

a = oct(10)       #十进制数10
b = oct(0x10)     #十六进制数10
c = oct(0b10)     #二进制数10
print(a,b,c)
0o12 0o20 0o2

3.hex():可以把各类进制数转化为十六进制数

a = hex(10)      #十进制数10
b = hex(0o10)    #八进制数10
c = hex(0b10)    #二进制数10
print(a,b,c)
0xa 0x8 0x2

4.int():使用二个参数可以把其它类进制数转化为十进制数

a = int('1001',2)
b = int('0b1001',2)    #第一个参数必须写成字符串类型,第二个参数表明第一个参数引号里面的数值是哪种进制数
c = int('10',8)
d = int('0o10',8)
e = int('f',16)
f = int('0xf',16)
print(a,b,c,d,e,f)
9 9 8 8 15 15

 

二:赋值技巧一二

 

1.链式赋值

a = b = c = 1
print(id(a),id(b),id(c))
1695575520 1695575520 1695575520

2.交叉赋值(两个变量相互交换值)

m = 1
n = 2
print(id(m),id(n))
m,n = n,m
print(m,id(m),n,id(n))
#结果显示
1695575520 1695575552
2 1695575552 1 1695575520

3.变量解压/分解可迭代对象

g = [1,2,3,4,5,6,7]
num1,_,_,num4,_,num6,_ = g  #这里用下划线变量代表一个不需要的值
num1,*_,num7 = g    #*_ 代表多个不需要的值
print(num1,num7)

# *表达式的运用   *_表示要丢弃的值
first,*middle,last = alist
*head,nail = alist
head,*nail =alist

三:字符串操作方法

1,按索引取值(正向或反向)

sentens = 'Hey,bith,my name is rock'
print(sentens[4],sentens[-1])   #正向取值从0开始计数,反向取值从-1开始计数
b k

2,切片取一段值

sentens = 'Hey,bith,my name is rock'
print(sentens[:],sentens[0:4],sentens[4:10:2],sentens[-1:-10:-2])
Hey,bith,my name is rock     Hey,        bt,              ko ie
#省略数字代表选取全部    第二个参数所对应的值不包含在内,直到4,但不包括4 
#第三个参数代表步长,默认为1,步长为正时代表向右取值,步长为负时代表向左取值

3,长度 len()方法,即计算字符串内字符的个数

sentens = 'Hey,bith,my name is rock'    #注意字符串里面的一个空格也算一个字符
print(len(sentens))

4,in  和  not in  用来判断子字符串是否在目标字符串中

sentens = 'Hey,bith,my name is rock'
print('rose' not in sentens,'e is' in sentens)
True True

5,移除空白 strip()   只能移除字符串首尾的多余空格,也可用于移除类似空格等字符,如*等

sentens = '      Hey,bith,my name is rock     '
print(sentens.strip())                    #默认是移除多余空格
sentens2 = '*****Hey,bith,my name is rock******'
print(sentens2.strip('*'))
Hey,bith,my name is rock
Hey,bith,my name is rock

    也可用于同时去除多种不同字符的集合

a = '**##**jjdkjgj**#**#'
print(a.strip('#*'))   #把要去除的不同字符写在一个字符串里
#jjdkjgj

 

6,切分 split()   把字符串以某种字符为分隔符进行切分

 

 

sentens = 'Hey bith my name is rock'
print(sentens.split())       #默认分隔符为空格
sentens2 = 'Hey,bith,my,name,i,s rock'
print(sentens2.split(','))
['Hey', 'bith', 'my', 'name', 'is', 'rock']
['Hey', 'bith', 'my', 'name', 'i', 's rock']

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值