python输入结束_人生苦短,我学不会Python。——字符串

1.1什么是字符串

字符串是一种表示文本的数据类型,字符串的字符可以是ASCII字符、各种符号以及各种Unicode字符。Python中的字符串有如下三种表示方式。

第1种:使用单引号包含字符。

'a' 

注意,单引号表示的字符串里不能包含单引号,如'let's go'。

第二种:使用双引号包含字符。

"a" 

注意,双引号表示的字符串里不能包含双引号,并且只能有一行。

第三种:使用三引号(三对单引号或者三对双引号)包含字符。

"""

或者

'''

需要注意的是,三引号能包含多行字符串,并且常常出现在函数声明的下一行,用来注释函数的功能。与众不同的地方在于,这个注释作为函数的一个默认属性,可以通过“函数名._doc__”进行访问。

就像C语言一样,字符串的第一个字符的索引为0,没有单独的字符类型,一个字符就是长度为一的字符串。但于C语言的字符串不同的是,Python字符串不能被改变。想向一个索引位置赋值,例如,word[0] = 'm'会导致错误。

1.2转义字符

其实,不管使用单引号还是双引号,输出字符串时,值都是一样的。至于为什么使用两种来表示是因为某些情况下,他们会派上用场,例如。

"let's go!"

上面的代码中,第1行代码的字符串内容中有单引号,所以要使用双引号包含。第2行代码中的字符串内容中有双引号,所以要用单引号包含。如果不这么做,当解释器在根据单引号或双引号辨别字符串结束符时,难免会发生错误。例如下面的代码就会报错。

>>>

当人,对于单引号或者双引号这些特殊的符号,我们可以对他们进行转义。例如,对字符串中的单引号进行转义,示例代码如下:

>>>

上述代码中,使用斜线的方式,对单引号进行了转义,当解释器遇到这个转义字符时会明白这不是字符串结束标记。而像这样的转义符号有很多种,如下表。

2e9ac7e06d33959e0cdf5ddec8db5580.png

如果你不想使用反斜杠()转义字符,可以在字符串前面添加一个r,表示原始字符串,示例代码如下:

>>>

2.字符串的输入和输出

2.1字符串输出

Python支持字符串格式化的输出,尽管这样可能会用到非常复杂的表达式,但u最基本的用法就是将一个值插入到一个有字符串格式%s的字符串中,例如下面代码:

name 

在程序中%s这样的操作符,就是Python中字符串的格式化符号。

除此之外,还可以使用%符号对其它类型的数据进行格式化,常见的格式化符号有如表形式:

ac4050cea472e292a8b36234d5aa602e.png

接下来我们通过打印一个名片的案例来练习字符串的输出。

name 

运行结果:

0e296cadeaee266efe34bea62009a1e5.png

2.2字符串的输入

Python 3提供了input函数从标准输入读取一行文字,默认的标准输入是键盘。input函数可以接受一个Python表达式作为输入,并将运算结果返回。示例代码如下:

username 

上述代码中,input函数接收的输入会直接赋值给等号左边的变量username。

需要注意的是,input函数获取的数据,即使是数字,也是以字符串的方式进行保存的。

接下来,通过一个案例来演示输入用户的登陆信息。

userName 

运行结果:

ed52f60e89b76e84b8020673b4ceeaf4.png

3.访问字符串中的值

3.1字符串的储存方式

如果你希望访问字符串中的值,与要用下标来实现。例如,字符串name = "abcdef",在内存中的储存方式如下图所示。

22fd7ba2ea78dfd1f1921f88c0b560df.png

每个字符都对应一个编号,并且编号是从0开始的,这些编号就代表下标。如果想从字符串中去出部分字符,可以通过下标获取。例如,取除字符d,他对应的下标是3,所以用name[3]取出来。

3.2使用切片截取字符串

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。切片的语法格式如下:

[起始:结束:步长]

需注意的是,切片选区属于左闭右开型,即从“起始”位开始,到“结束”位的前一位结束(不包含结束位本身)。接下来,通过一个案例来演示如何使用切片截取字符串name = "abcdef"。

name 

运行结果:

4dd70ed7aa3724d2013a3e6790225fcf.png

4.字符串内建函数

字符串作为最常用的一种数据类型,它提供了很多内建函数,列举一些字符串常见的内建函数。

4.1 find

find函数用于检测字符串中是否包含子字符串sub,如果指定start(开始)和end(结束)范围,则检测是否包含在指定范围内。如果包含子字符串则返回开始的索引值,否则返回-1。

str

sub:指定检索的字符串。

start:开始索引,默认为0。

end:结束索引,默认为字符串的长度。

例如,查找“Python”是否在字符串mystr中。

mystr 

运行结果:

85491112b7a2c4adc3191afa9f1a5dc7.png

例如,查找"long"是否在字符串mystr中。

mystr 

运行结果:

3f8272ed065ea20ebd7f5cae27d93caf.png

4.2 index

跟find()方法一样,只不过如果str不在 mystr中会报一个异常。

str

index函数的使用:

mystr 

运行结果:

de74cc1808dbbdce2a6ac147a2d8335e.png

4.3 count

count函数用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置,该方法返回子字符串在字符串出现的次数。

str

count函数的使用:

mystr 

运行结果:

86f84526da49b75d9753d87edbd93bb1.png

4.4 replace

replace函数把字符串中的old(旧字符串)替换成new(新字符串),方法返回的是字符串中的old(旧字符串)替换成new(新字符串)后生成的新字符串。如果指定第三个函数count,则替换不超过count次。

str

replace函数的使用:

mystr 

运行结果:

d7b78ca833b6052ee1827d355281eae5.png

4.5 split

split函数通过指定分隔符对字符串进行切片,如果参数maxsplit有指定值,则仅分割maxsplit个子字符串,该方法的返回值是分割后的字符串列表。

str

split函数的使用:

mystr 

运行结果:

31953f94b236b4afc77bf7054816ad5b.png

4.6 capitalize

capitalize函数用于将字符串的第一个字母变成大写,其他字母变小写,该方法返回第一个字母大写的字符串。

str

capitalize函数的使用:

mystr 

运行结果:

13e17c1118fb1460606f50dc4954cc81.png

4.7 title

title函数返回“标题化”的字符串,也就是说所有的单词都是以大写开始,其余字母均为小写。

str

title函数的使用:

mystr 

运行结果:

53e19ae58cf278df4428c320d0f25e4b.png

4.8 startswith

startswith函数用于检查字符串是否以制定子字符串开头,如果是,则返回Ture,否则返回False。如果参数start和end指定值,则在指定范围内检查。

str

prefix:检测的字符串。

stratswith函数的使用:

mystr 

运行结果:

d19ce8a538a73812932ea9557c718d58.png

4.9 endswith

endswith函数用于检查字符串是否以制定子字符串结尾,如果是,则返回Ture,否则返回False。如果参数start和end指定值,则在指定范围内检查。

str

endswith函数的使用:

mystr 

运行结果:

a291780a6d0bc626d572cc78bbe504e9.png

4.10 lower

lower函数将字符串中的大写字母转为小写字母,返回大写字母转为小写字母的字符串。

str

lower函数的使用:

mystr 

运行结果:

ef1af5f2565c1dc941db721db5dfdeb0.png

4.11 upper

upper函数将字符串中的小写字母转为大写字母,返回小写字母转为大写字母的字符串。

str

upper函数的使用:

mystr 

运行结果:

ba9ab2d10bc6cce7a87aa30a2324bc2f.png

4.12 ljust

ljust函数返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串,则返回原字符串。

str

width:指定字符串长度。

fillchar:填充字符,默认为空格。

ljust函数的使用:

mystr 

运行结果:

da99e3b50d99a2b084ef4ac152fc2744.png

4.13 rjusr

rjust函数返回一个原字符串右对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串,则返回原字符串。

str

rjust函数的使用:

mystr 

运行结果:

48fb37c24e4f8feb4d44d73272dbf97f.png

4.14 center

center函数返回一个宽度为width,原字符串居中,以fillchar(默认为空格)填充左右两边的字符串。

str

center函数的使用:

mystr 

运行结果:

02ad49d7d1a26d4f426770f9f5850f06.png

4.15 lstrip

lstrip函数用于截掉字符串左边的空格或指定字符,返回的是一个新字符串。

str

chars:指定截取的字符。

lstrip函数的使用:

mystr1 

运行结果:

00bf061123a4377ce9f8e6054a7b1dd7.png

4.16 rstrip

rstrip函数用于截掉字符串右边的空格或指定字符,返回的是一个新字符串。

str

rstrip函数的使用:

mystr1 

运行结果:

00bf061123a4377ce9f8e6054a7b1dd7.png

4.17 strip

strip函数用于移除字符串头尾指定的字符(默认为空格)。

str

rstrip函数的使用:

mystr 

运行结果:

bb857a015fda227f6887f7975357b1cf.png

4.18 partition

partition函数把字符串以指定字符分割成三部分,指定字符前,指定字符和指定字符后。

mystr

partition函数的使用:

mystr 

运行结果:

287b05299ffe980a8b8424d6c6d8fc29.png

4.19 splitlines

splitlines函数把字符串按照行分隔,返回一个包含各行作为元素的列表。

mystr

splitlines函数的使用:

mystr 

运行结果:

d76b8fecfd1f45756035a0eda6810668.png

4.20 isalpha

如果字符串中所有字符都是字母,则返回 True,否则返回 False。

mystr

isalpha函数的使用:

mystr1 

运行结果:

3d2c25c6a1dc8b4d5ad32de4aa55df11.png

4.21 isdigit

如果字符串中所有字符都是数字,则返回 True,否则返回 False。

mystr

isdigit函数的使用:

mystr1 

运行结果:

73fbd015e7a990d2b2f619fc5da208dd.png

4.22 isalnum

如果字符串中所有字符都是数字或字母,则返回 True,否则返回 False。

mystr

isalnum函数的使用:

mystr1 

运行结果:

db8856576b1ff90cd69d9622da9342d0.png

4.23 isspace

如果字符串中所有字符都是空格,则返回 True,否则返回 False。

mystr

isspace函数的使用:

mystr1 

运行结果:

10d7c44cde7dfea77be9571c64a143ef.png

4.24 join

join函数在字符串中每个字符后面插入指定字符,构造出一个新的字符串,返回的是一个新字符串。

str

join函数的使用:

mystr 

运行结果:

34d9b2837814a1f349424cb30ef6ee53.png

5.字符串运算符

我们使用%运算符来格式化输出字符串。其实,除此之外,还有一些字符串运算符。下面列举一些常见的字符串运算符。

d0d644f3c97b1f0ffb899a446cfc7917.png

接下来,通过一个案例来演示这些运算符在字符串中的使用。

#定义两个字符串

运行结果:

4cdb58b26ec02eadbd7aed1f74b953ed.png

6.小结

对字符串进行了解释,介绍了什么是字符串以及对特殊字符的转义;接着介绍了字符串的格式化输入输出、字符串的访问;最后介绍了字符串的内建函数以及字符串运算符。希望大家可以结合案例多加练习,熟练掌握字符串操作的相关函数。

人生苦短,我用Python。

Life is short, use Python.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值