6.string类型(内置函数)

☑(续)6.数据类型str

👉注意,字符串为不可变的对象,所有对原来的字符串的操作均无效(没影响)

常用的内置(函数)方法

大小写转换

1.capitalize():字符串第一个字符大写

str1 = 'python很牛批'

print(str1) #

res = str1.capitalize()

print(res)
----------------------------------------------
Python很牛批

2.upper():全部变为大写

str2 = 'Python IS nice'
res = str2.upper()
print(res)
-----------------------------------------------
PYTHON IS NICE

3.lower():全部变为小写

str3 = 'Python IS nice'
res = str3.lower()
print(res)
-----------------------------------------------
python is nice

4.swapcase():大小写互相转换

str4 = 'Python IS nice'
res = str4.swapcase()
print(res)
-----------------------------------------------
pYTHON is NICE

5.title():字符串中所有的单词都以大写开头,其余字母小写

str5 = 'python is nice'
res = str5.title()
print(res)
-----------------------------------------------
Python Is Nice

字符串的‘切’操作

1.center(n, '字符'):返回长度为n的字符串,使原字符串居中,其余位置''字符''补全

s1 = "周杰伦"

res = s1.center(10, "*") 

print(res)

2.expandtabs(tabsize=4):把字符串中的tab转为空格,默认空格数为8,这里改为4

s2 = "hassgy\tTom"

res = s2.expandtabs()

print(res) 

3.strip():去除左右两边空格; 理解:lstrip(); rstrip()分布为去除左/去除右

s3 = " hassgy Tom "

res = s3.strip() 

print(res)

res = s3.lstrip() 

print(res)

res = s3.rstrip() 

print(res)

4.strip(str1):指定去除字符串str1

s4 = " hassgy Tom "
res = s4.strip('Tom')

print(res)
----------------------------------------
hassgy Tom

5.replace('被替换字符串','替换字符串',n):理解为:替换n个被替换字符串。

s5 = "Hassgy loves Amy."

res = s5.replace('loves', 'hates') 

print(s5) 

print(res) 
----------------------------------------
Hassgy loves Amy.

Hassgy hates Amy.
----------------------------------------
res = s5.replace('s', 'S', 2)
print(res)
----------------------------------------
HaSSgy loves Amy.

6.split('切割标志'):字符串切割,比如根据","切割原字符串,还有其他的类型。

s6 = "hassgy,Tom,Amy,sarah"

res = s6.split(",")

print(res)

s7 = """辣鸡
辣鸡
辣鸡"""

print(s7.split("\n"))
------------------------------------
['hassgy', 'Tom', 'Amy', 'sarah']

['辣鸡', '辣鸡', '辣鸡']

👉⚠巨坑:如果切割标志在左右两端,那就会出现空字符串,请记住!!!

s8 = ', hassgy, Tom, Amy, '
res = s8.split(',')
print(res)
-------------------------------------
['', ' hassgy', ' Tom', ' Amy', ' ']

格式化输出(字符串)

1.(%s,......) % (值1,值2,......) 基础写法

s1 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('Hassgy', 15, 'Amy') 

print(s1)
--------------------------------------------------------------------
我叫Hassgy, 今年15岁了, 我喜欢Amy

2.''{}...''.format(值1,值2,......) 位置格式化

s2 = "我叫{}, 今年{}岁了, 我喜欢{}".format("Hassgy", 15, "Amy") 

print(s2)
---------------------------------------------------------------------
我叫Hassgy, 今年15岁了, 我喜欢Amy

3.({0},{2},{1}......).format('值1','值2'......) 指定位置格式化

s3 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("Hassgy", "Amy", 15) 

print(s3)
---------------------------------------------------------------------
我叫Hassgy, 今年15岁了, 我喜欢Amy

4.({变量名}......).format(变量名='值1',......) 关键字格式化

s4 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="Hassgy", singer="Amy", age=15) 

print(s4)
---------------------------------------------------------------------
我叫Hassgy, 今年15岁了, 我喜欢Amy

查询(查找)

1.startswith('str'), endswith('str') 判断是否以什么开头/结尾的字符串

>>> s1 = "我叫sylar, 我喜欢python, java, c等编程语⾔."

>>> ret1 = s1.startswith("sylar")

>>> print(ret1)

False
>>> ret1 = s1.endswith("语⾔.")
>>> print(ret1)
True

2.count('str') 查找str出现的次数

>>> s1 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
>>> ret2 = s1.count("a")

>>> print(ret2)

3

3.find('str') 查找str出现得位置,如果找不到,返回-1

>>> s1 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
>>> ret3 = s1.find("sylar")

>>> print(ret3)

2

>>> ret3 = s1.find("tory")

>>> print(ret3)

-1

4.find('str', n, m) 通过切片去找

>>> s1 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
>>> ret4 = s1.find("a", 8, 22)
 >>> print(ret4)
 21

5.index('str') 返回字符串的索引值

>>> s1 = "我叫sylar, 我喜欢python, java, c等编程语⾔."
>>> ret5 = s1.index("sylar")

>>> print(ret5)

2

条件判断(字母数字)

1.isalnum()

s1 = "123.16"

s2 = "abc"

s3 = "_abc!@"

print(s1.isalnum())

print(s2.isalnum())

print(s3.isalnum())

2.isalpha()

s1 = "123.16"
s2 = "abc"
s3 = "_abc!@"

print(s1.isalpha())

print(s2.isalpha())

print(s3.isalpha())

3.isdigit(),isdecimal(),isnumeric(),

s1 = "123.16"
s2 = "abc"
s3 = "_abc!@"

print(s1.isdigit())

print(s1.isdecimal())

print(s1.isnumeric()) # 这个⽜B点. 中⽂都识别.

print(s2.isdigit())

print(s3.isdigit())

字符串长度

len(str) 计算字符串长度

s1 = 'hassgy'
res = len(s1)
print(res)
----------------------------
6

还有其他的方法,有兴趣的话可以上W3C或者菜鸟教程等网站进行查询其他内置函数以及转义字符的使用,后者比较关键。

👉菜鸟教程:https://www.runoob.com/python3/python3-string.html

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