一、数值类型及进制转换
1、int只能将字符串中包含纯数字转成整型
2、进制转换
#十进制转成其他进制
# print(bin(12)) # 0b1100 # print(oct(12)) # 0o14 12 => 1*(8**1) + 2(8**0) # print(hex(12)) # 0xc #输出结果 ''' 0b1100 0o14 0xc '''
# 进制转换(了解**)
# 其他进制转成十进制
print(int('10',2)) # 2进制转
print(int('10',8)) #8进制转
print(int('10',16)) #16进制转
3、可变类型与不可变类型
可变类型:值改变的情况下,id不变,说明你改的是原值
# 不可变类型:值改变的情况下,id一定变
# python变量可以分为两种类型
# 不可变类型(数字、字符串、元组、不可变集合)
# 可变类型(列表、字典、可变集合)
二、字符串转换运用
1、按索引取值(正向取+反向取) :只能取(不可修改)
2、切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串
# 左边的固定就是头,右边固定就是位 没有说按数字来分头尾
例:
s = 'hello' print(s[0:5]) print(s[0:10:2]) # 步长表示隔几个取一个,步长不写默认是1 print(s[-1]) print(s[5:0:-1]) # 切片取值默认是从左往右的 ,了解负数取值 print(s[-1:-10:-1]) #输出结果 ''' hello hlo o olle olleh '''
3、len(长度):
统计的是字符串中字符的个数
s1 = 'hello'
print(len(s1)) # 5
4、in 和 not in(成员运算):
判断一个子字符串是否存在于一个大的字符串中
5、strip
去掉字符串左右两边的字符,不管中间的
使用内置的方法统一采用 句点符(.)
strip()默认去除字符串首尾的空格,
6、split(切分)
针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值
# 强调:split切分出来的数据类型是一个列表
# 如果不指定那么split和rsplit效果是一样
data = 'jason|123| handsome' print(data.split('|')) username,password,info = data.split('|') print(username,password,info)
#输出结果
#['jason', '123', ' handsome']
#jason 123 handsome
7. .lower() 字符串全部小写
.upper() 字符串全部大写
8、startswith ,endswith :判断以什么结尾和开始
9、format的三种玩法
第一种、按位置站位(和%s原理一直)
例:str1 = 'my name is {} my age is {}'.format(18,'jason',)
第二种、按索引占位
例:str1 = 'my {1} name is {0} my {0} age is {0}'.format('egon',18)
第三种、按名道姓占位(关键字传参数)
例:str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='jason',age=18)
10、join : 将容器类型中的多个元素通过指定字符拼接成一个字符串
例:
res = ['jason', '123', 'handsome'] str = '$'.join(res) print(str) #输出结果 # jason$123$handsome
11、replace 替换字符串中的字符(可选数量)
例:
str = 'egon is dsb and egon is sb he has a BENZ' res = str.replace('egon','kevin',1) #输出结果 # kevin is dsb and egon is sb he has a BENZ
12、isdigit # 判断字符串中包含的是否为纯数字
13、find、rfind、index、rindex、count
s = 'kevin is dsb o and kevin is sb' print(s.find('dsb')) # 返回的是d字符所在的索引值 print(s.find('xxx')) # 找不到的时候不报错返回的是-1 print(s.find('i',0,3)) # 还可以通过索引来限制查找范围 print(s.index('o')) # 返回所传字符所在的索引值 print(s.index('i',0,5)) # 返回所传字符所在的索引值 , 如果找不到会报错 print(s.count('n')) # 统计字符出现的次数 #输出结果 ''' 9 -1 -1 13 3 3 '''
14、center(中间),ljust,rjust,zfill(用0补充) 用法
s9 = 'tom' print(s9.center(12,'*')) print(s9.ljust(6,'$')) print(s9.rjust(6,'$')) print(s9.rjust(6,' ')) print(s9.zfill(6)) #输出结果 ''' ****tom***** tom$$$ $$$tom tom 000tom '''
16、expandtabs 多加几个 Tab 键
s10 = 'a\tbc' print(s10.expandtabs(10)) #输出结果 #a bc
15、captalize(首字母大写)、swapcase(大小写互换)、title(每个单词首字母大写)
s12 = 'hElLo WoRLD sH10' print(s12.capitalize()) # Hello world 首字母大写 print(s12.swapcase()) # 大小写互换 print(s12.title()) # 每个单词的首字母大小 #输出结果 ''' Hello world sh10 HeLlO wOrld Sh10 Hello World Sh10 '''
16、is数字系列
''.isnumeric(): unicode,中文数字,罗马数字 只要是表示数字都识别。
''.isdecimal(): unicode 只识别普通的阿拉伯数字。
''.isdigit() :bytes,unicode 通常情况下使用isdigit就已经满足需求了