一、数字 int
type可以查看数据类型
将字符串转换为数字:
a="123"
b=int(a)
print(type(a))
以十六进制或者八进制或者二进制的形式转换为十进制:
num="0011"
v=int(num,base=16)
print(v)
如何计算当前数字的二进制至少有几位
age=8
v=age.bit_length()
print(v)
将十进制转化为二进制
bin(8)
二、字符串 str
字符串一旦创建便不可修改
一旦修改或者拼接,都会造成重新生成新的字符串
1、将首字母大写
test="alexalex"
v=test.capitalize()
print(v)
2、将所有字符串变小写
test="ALexaLex"
v1=test.casefold() 比较牛逼,可把所有字符,符号变小写
v2=test.lower() 只能把常见字符变小写
print(v1, v2)
3、把内容居中,并可填充字符
test="alexalex"
v=test.center(20,'*')
print(v)
4、取字符串中找出子序列出现的次数,可以设置开始和结束的位置
test="alexalex"
v1=test.count('l')
v2=test.count('a',0,6)
print(v1,v2)
5、 encode
decode
6、以、、、、、结尾,以、、、、、开始
在、、、哪个区间结尾,在哪个区间开始
test="alexalex"
v1=test.endswith('e')
v2=test.endswith('e',0,3)
print(v1,v2)
v3=test.startswith('a')
v4=test.startswith('e',2,6)
print(v3,v4)
7、制作列表样式
test="username \t emall \t passworld \n 小明 \t qq.com \t 123\n 小明 \t qq.com \t 123 \n 小明 \t qq.com \t 123"
v=test.expandtabs(20)
print(v)
8、查找子序列,没有找到则打印-1
test="alexalex"
v=test.find('e',3,8)
print(v)
9、将字符串中的占位符替换为指定值
test="I am {name},age{age}"
v=test.format(name='cuiyongkang',age='28')
print(v)
# 或者可以写成
print("I am {0},age{1}".format('cuiyongkang','28'))
10、format_map用法:以字典的key传入值
test="I am {name},age : {age}"
v=test.format_map({'name':'alex','age':'29'})
print(v)
11、index查找子序列的索引,找不到直接报错
test="alexalexalex"
v=test.index('e',3,7)
print(v)
12、判断字符串中只能是字母和数字,若是显示true,不是显示false
test="alexalexalex233"
v=test.isalnum()
print(v)
13、判断字符串中是否是字母或者汉字,
test="alexalexalex中国"
v=test.isalpha()
print(v)
14、如果字符串中的所有字符都是ASCII,则返回true,否则为false
test="alexalexalex23**中国"
v=test.isascii()
print(v)
15、判断字符串中是数字则为true,不是则为false
test="1233"
v=test.isdecimal()
print(v)
16、相对于isdecimal更牛逼一些,只能判断数字但是可判断②等特殊数字
test="1233②"
v=test.isdigit()
print(v)
17、 isidentifier
18、islower判断是否是小写
isupper判断是否是大写
19、isnumeric判断是否是数字,可判断中文 二、三
20、 isprintable如果字符串是可打印的,则返回true,否则为false。
21、isspace如果字符串为空白字符串,则返回true,否则为false。
22、istitle如果字符串是标题字符串,则返回true,否则为false。
标题中的所有首字母为大写
title可以把字符串变为标题
23、isupper 如果字符串为大写字符串,则返回true,否则为false。
24、join 将字符串中的每个元素按指定分割符拼接
test="lexaalexalex"
t=" "
v=t.join(test)
print(v)
或 tese=['alex','alex','alex']
v'_'.join(test)
print(v) 输出为:alex_alex_alex
v=" * ".join(test)
print(v)
25、ljust 将分隔符填充在元素的右边
26、rjuse 将分隔符填充在元素的左边
27、lower 将字符串变成小写
28、upper 将字符串变成大些
29、去除空格 ,\t , \n
lstrip 从左往右去空格
rstrip 从右往左去除空格
strip 去除左右空格
partition
replace
rfind 从左往右查找字符
rindex 从左往右查找字符,找不到报错
rjust 填充字符在字符串的左侧
35、partition分割字符,以字符串中的某一个字符为分割,包含分割元素
test='alexalexalex'
v=test.partition('x')
print(v)
('ale', 'x', 'alexalex')
test='alexalexalex'
v=test.rpartition('x')
print(v)
('alexalexale', 'x', '')
split,rsplit分割符,义字符串中的某一个字符为分割,不包含分割元素
36、splitlines 将字符串变成列表
test="abc,abc,abc "
v=test.splitlines()
print(v)
37、startswith判断以、、、开头
endswith判断以、、、结束
test="abc,abc,abc"
v=test.startswith('a')
print(v)
38、swapcase大小写转换
39、replace 替换
test="alexalexalex'
v=test.replace('ex','en',2) 数字2表示替换前两个
print(v)
补充 :maketrans替换,一般和translate联用
test="aeiou"
test1="12345"
v="abiconu"
m=str.maketrans("aeiou","12345")
new_v=v.translate(m)
print(new_v )
字符串常用灰魔法
1、通过索引、下标获取字符串中的某一个字符
test='alex'
v=test[3]
print(v)
2、切片,获取字符串的范围
test='alex'
v1=test[0:3]
v2=test[0:-1]
print(v1)
print(v2)
3、len用法 :字符串中有多少个字符组成 只适用于Python3
test='ales'
v=len(test)
print(v)
或者
l1=[11,23,21,23,34,'alex']
v=len(l1)
print(v)
4、for循环 依次循环打印字符串或列表中的字符
test="'alex'是好人"
for i in test:
print(i)
5、range 可以帮助创建连续的数字,也可以通过设置步长来创建不连续的数字。
创建连续数字:
for i in range(100):
print(i)
设置步长创建不连贯数字:
for i in range(0,100,10):
print(i)
三、列表 list
四、元祖 tuple
五、字典 dict
六、布尔值 bool