美文网首页
Python篇-字符串方法应用

Python篇-字符串方法应用

作者: TianTianBaby223 | 来源:发表于2018-08-06 11:10 被阅读62次

一 字符串常用方法

数字
python3中,不管数字有多大都属于int类型
python2中,有长整形,用long修饰

  • 字符串转换为数字
a = "123"
b = int(a)
print(b,type(b))
  • 各个制转换为十进制
//2进制
num = "0011" #0b11
v = int(num,base=2)
print(v)

//16进制
num1 = "a"
print(int(num1,base=16))
  • bit_length()
#至少用几位来表示二进制
#011
age = 3
r = age.bit_length()
print(r)

字符串

  • 首字母大写转换
test = 'tiantian'
test = test.capitalize()
print(test)
  • 所有变小写
test = test.lower()
print(test)
  • 更牛逼,很多未知的对应关系变小写
print(test.casefold())
  • 设置宽度,并将内容居中
 #center
# def center(self, width, fillchar=None):
#第一个参数,总长度,第二个填充字符,一个字符,可有可无
print(test.center(20,"*"))

打印

******TianTian******
  • 字符串出现次数
def count(self, sub, start=None, end=None):

start:开始位置 可不填
end:结束位置 可不填

test = 'TianTian'
print(test.count("an"))

  • 以..开头或以..结尾
test = 'TianTian'
print(test.endswith('an'))

print(test.startswith('an'))

打印

True
False
  • 从开始往后找,找到第一个后,获取其位置
没找到返回 - 1
参数:左闭又开
print(test.find('an'))
  def find(self, sub, start=None, end=None)

  • 将一个字符串中的占位符替换为指定的值
test = 'hell world i love {name} and {age}'
vv = test.format(name='tt',age=12)
print(vv)

或者

test = 'hell world i love {0} and {1}'
vv = test.format('tt',12)
print(vv)
  • format_map
test = 'hell world i love {name} and {age}'
vv = test.format_map({"name":'tian',"age":19})
print(vv)
  • index 返回位置下标
test = "tiantian"
print(test.index("s"))
  • 字符串中是否只包含字母和数字
test = "tiantian"
print(test.isalnum())
  • expandtabs
    断句,不足6个补空格(6是你自己填写的)
test = "1234567\t89"
v = test.expandtabs(6)

print(test,"++++++",len(v))

打印结果
补了5个空格

1234567     89 ++++++ 14

expandtabs应用

test = "username\temail\tpassword\nTianTianBaby223\t5920*****@qq.com\t123\n"
v = test.expandtabs(20)

print(v)

打印结果

username            email               password
TianTianBaby223     5920*****@qq.com    123
  • isalpha
    判断是否是字母,汉字
test = "asdt"
print(test.isalpha())
  • 判断是否是数字
test = "②"
print(test.isdecimal(),"\n")
print(test.isdigit())
print(test.isnumeric())

打印结果

False 
True
True
test = "二"
# print(test.isalpha())

print(test.isdecimal(),"\n")
print(test.isdigit())
print(test.isnumeric())

打印

False 
False
True

  • isidentifier
    判断是否是标识符
a = "_123"
print(a.isidentifier())
  • isprintable
    完全打印返回True,不可显示返回False
test = "111ddf\t"
print(test.isprintable())
  • isspace
    判断是否全部是空格,全是空格返回True,否则返回false
test = " "
print(test.isspace())
  • 判断是否是标题与转化成标题
test = "TianTian Baby Cool"
print(test.istitle())
print(test.title())

打印

False
Tiantian Baby Cool
  • join
    将字符串每一个元素按照指定分隔符进行拼接
test = "今天天气好热"
print(" ".join(test))

打印

今 天 天 气 好 热
  • 左右填充
test = "tiantian"
print(test.ljust(20,"*"))
print(test.rjust(20,"*"))

打印

tiantian************
************tiantian
  • 0填充
print(test.zfill(20))

打印

000000000000tiantian

  • islower

是否全是小写

test = "Tzhhh"
print(test.islower())
  • 判断是否全是大写与变大写
test = "tzzT"
print(test.isupper())
print(test.upper())
  • 去除左或右/r/t/空白以及左右/r/t/空白
test = " tiantianSunshine "
print(test.lstrip())
print(test.rstrip())
print(test.strip())

打印

tiantianSunshine 
 tiantianSunshine
tiantianSunshine

可以加参数,优先最多匹配

test = "tiantianSunshine"
print(test.lstrip("tiantian"))
print(test.rstrip("Suns45公里dfkglkhine"))
print(test.strip())

打印

Sunshine
tiantia
tiantianSunshine
  • 对应关系替换
test = "aeiou"
test1 = "12345"

m = str.maketrans(test,test1)
print("abcdeifogu".translate(m))
  • 字符串的分割
test = "你是s逆光s照耀s我"
print(test.partition("s"))
print(test.rpartition("s"))
print(test.split("s"))
print(test.split("s",1))
print(test.split("s",2))
print(test.rsplit("s",1))

打印结果

('你是', 's', '逆光s照耀s我')
('你是s逆光s照耀', 's', '我')
['你是', '逆光', '照耀', '我']
['你是', '逆光s照耀s我']
['你是', '逆光', '照耀s我']
['你是s逆光s照耀', '我']
  • 换行分割
    True/False 显示和保留换行
test = "adfsdf\nsdfsdf\nsdfasdf\nsdfdf"
print(test.splitlines(False))

打印结果

['adfsdf', 'sdfsdf', 'sdfasdf', 'sdfdf']
  • 大小写转换
test = "TianTianBaby"
print(test.swapcase())
  • 切片
    获取字符串中的字符
test = "tiantianBaby"
print(test[0:1])
print(test[0:-1])
print(test[1])
print(test[2])

打印

t
tiantianBab
i
a
  • len
    python3 :len 获取当前字符由几个字符组成,中文每个算一个字符
test1 = "tiantianBaby"
test = "你好"
print(len(test),"++",len(test1))
  • replace

字符串替换

test = "tiantiantianbaby"
print(test.replace("tian","didi"))
print(test.replace("tian","didi",1))
print(test.replace("tian","didi",2))

打印结果

didididididibaby
diditiantianbaby
didididitianbaby
  • range
    参数 : 起始,终点,步长
v = range(0,10,2)

for item in v:
    print(item)

打印结果

0
2
4
6
8
v = range(0,10)
for item in v:
    print(item)

打印结果

0
1
2
3
4
5
6
7
8
9

二 字符串拼接:

字符串一旦创建,不可修改
一旦修改或者拼接,都会造成重新生成字符串
原因:字符内存地址是连续的,如果可以修改的话插入更多字符的时候,后面的字符地址会依次窜位,耗费资源.

代码示例

 name = "tiantian"
 age = "18"
# #会生成新的字符串
info = name + age
print(info)

打印结果

tiantian18

相关文章

网友评论

      本文标题:Python篇-字符串方法应用

      本文链接:https://www.haomeiwen.com/subject/wuikmftx.html