Python篇-字符串方法应用

2018-08-06  本文已影响62人  TianTianBaby223

一 字符串常用方法

数字
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))
#至少用几位来表示二进制
#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)
test = 'hell world i love {name} and {age}'
vv = test.format_map({"name":'tian',"age":19})
print(vv)
test = "tiantian"
print(test.index("s"))
test = "tiantian"
print(test.isalnum())
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
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

a = "_123"
print(a.isidentifier())
test = "111ddf\t"
print(test.isprintable())
test = " "
print(test.isspace())
test = "TianTian Baby Cool"
print(test.istitle())
print(test.title())

打印

False
Tiantian Baby Cool
test = "今天天气好热"
print(" ".join(test))

打印

今 天 天 气 好 热
test = "tiantian"
print(test.ljust(20,"*"))
print(test.rjust(20,"*"))

打印

tiantian************
************tiantian
print(test.zfill(20))

打印

000000000000tiantian

是否全是小写

test = "Tzhhh"
print(test.islower())
test = "tzzT"
print(test.isupper())
print(test.upper())
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照耀', '我']
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
test1 = "tiantianBaby"
test = "你好"
print(len(test),"++",len(test1))

字符串替换

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

打印结果

didididididibaby
diditiantianbaby
didididitianbaby
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
上一篇 下一篇

猜你喜欢

热点阅读