Python篇-字符串方法应用

一 字符串常用方法

数字
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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容