# python的开发工具pycharm,软件的设置在file-setings设置字体,风格及鼠标滚动放大缩小,
# 什么是子序列?子序列就是字符串里的部分字符,例如name="dongfeng"里的dong就是个子序列。
# 一、数字魔法
# (1)int 把字符串里的数字变为整数,把指定的字符串转为指定的进制数
#例:
# num1="123456"
# v=int(num1)
# print(v)
# c1="l"
# v=int(c1,35)
# print(v)
# (2).bit_length() 计算指定数字转为2进制后的最小长度
# 例:
# v1=255
# v=v1.bit_length()
# print(v)
# 二、字符串魔法
# (1) .capitalize()把字母首字母变为大写
# zm="wei"
# v=zm.capitalize()
# print(v)
# (2).casefold()把所有字母变为小写包括其它语种 .lower()也是把所有字母变为小写只,但是只能把英文里的字母变为小写
# char1="WEI"
# v=char1.casefold()
# print(v)
# char2="LWEI"
# v=char2.lower()
# print(v)
# (3).center()把字符居中显示并用指定的字符填充.
# char1="中国"
# v=char1.center(20,"*")
# print(v)
# (4).endswith()查找是否以指定的字符结尾,如果是返回真否则为假;.startswith()查找是否以指定的字符开头,如果是为真否则为假
# c1="woshiwodewo"
# v=c1.endswith("w")
# print(v)
# c1="woshiwodewo"
# v=c1.startswith("wo")
# # print(v)
# (5).find()从指定的范围内查找某个指定字符,找不到为-1,找到显示找到的位置。不指定范围从0位开始找.index()ndex和find一样,但是index找不到会报错,我们以.find()为主.
# c1="asdafdghdfgsfd"
# v=c1.find("d",3,8)#
# print(v)#补充:当指定位置开始找的时候,找到的指定字符位置还是从0开始计数的。
# (6).format()格式化字符,把{}占位符里的变量替换为我们指定的字符;.format_map({})把{}占位符里的变量替换为我们指定的字符,map后面的实为字典,注意两个占位符是带“”号的且里面含有大括号
# 例1:
# str1="我叫{name},今年{age}岁了"
# print(str1)
# v=str1.format(name="ali",age=18)
# print(v)
# # 例2:
# str1="我叫{name},今年{age}岁了"
# print(str1)
# v=str1.format_map({"name":"lilei","age":18})
# print(v)
# (7).isalnum()判断里面的是否还有除字母和数字以外的特殊字符,如果有返回假,不含有特殊字符返回真
# v1="d1a23sd1a3d+0-09"
# v=v1.isalnum()
# print(v)
# (8).expandtabs()以括号里指定数字作为分割字符串的个数,如果碰到了\t开始把\t变为空格填充,填充的个数=指定的数字 -\t所在的位置数
# 例:
# v1="1234567\t8910111213\t141516"
# v2=v1.expandtabs(6)
# print(v2)
# 输出的v2可以看出,以6个字符为一组,1-6是一组,接着从7开始数在第8位的时候遇到了\t那么7后面是5个空格,补齐6位,接着891011又够6位,在从下一组开始1213第5位遇到了\t那么包括\t在内补上两个空格。
# .expandtabs()主要用来制表显示,例:
# v1="name\tage\tsex\n张三\t18\t男\n张三\t18\t男\n张三\t18\t男\n"
# v2=v1.expandtabs(20)
# print(v2)