Python快速编程入门——第4章 字符串

第4章 字符串 一、字符串 二、字符串的输出和输入 三、访问字符串中的值 四、字符串的内建函数 一、字符串 什…

第4章 字符串

一、字符串
二、字符串的输出和输入
三、访问字符串中的值
四、字符串的内建函数

一、字符串

什么是字符串:
1)字符串是一种表示文本的数据类型,字符串中的字符可以是ASCII字符、各种符号以及各种Unicode字符。Python中的字符串有如下三种表现方式。
第一种:使用单引号:‘a’ ‘abc’ ‘123’
注意、单引号表示的字符串不能包含单引号。
第二种:使用双引号:“a” “abc” “123”
注意、双引号表示的字符串不能包含双引号,并且只能一行
第三种:使用三引号(三对单引号后者三对双引号)包含字符。
‘’‘字符串’’’ “”” aaaa””””
注意、三个引号能包含多行字符串,在这个字符串中可以包含换行符、制表符、或者其他特殊符号。通常情况下,三引号表示的字符出现在函数声明的下一行,用来注释函数。与C语言的字符串不同的是,Python字符串不能被改变,当给一个索引位置赋值时,比如word[0]=‘m’,会产生语法错误。
2)转义字符,使用print输出的字符串的时候有些字符已经有定义了但是语句需要输出它们。使用反斜线

print("let\'s go")
#结果:let's go

二、字符串的输出和输入

字符串输出%表示格式化输出:

name = "小明"
print("大家好,我叫%s"%name)
#用逗号隔开

字符串输入
Python3提供了input函数从标准输入读取一行文本,默认的标准输入是键盘。实例如下:

#input括号里面内容会在输入前提示。
user_name = input("请输入用户名")
print(user_name)

三、访问字符串中的值

字符串的储存方式
Python中没有字符类型,单个字符也是作为字符串使用的。如果希望访问字符串中的某个字符,则需要用下标实现。有点类似数组。
使用切片截取字符串
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。切片语法格式
[起始:结束:步长]
需要注意的是,切片选取的区间属于左闭右开,即从“起始”位开始到“结束”位前一位结束(不包含结束位本身)

name = "abcdef"
print(name[0:3])#取下标0~2的字符
print(name[3:5])#取下标3、4的字符
print(name[1:-1])#取下标为1开始到倒数第2个字符
print(name[2:])#取下标到最后的字符
print(name[::-2])#倒序从后往前,取步长为2的字符
#abc
#de
#bcde
#cdef
#fdb

四、字符串的内建函数

字符串作为最常用的一种数据类型,它提供了很多内建函数。
3. find函数:用于检测字符串中是否包含子字符串sub,如果指定start(开始)和end(结束)范围,则检查是否包含在指定范围内。如果包含子字符串则返回开始的索引值,否则返回-1.
语法格式:str.find(sub[,start[,end]])
参数含义如下。
(1)sub:指定检索的字符串
(2)start:开始索引,默认为0。
(3)end:结束索引,默认为字符串的长度。

string_example = 'hello world itheima and itheimaAPP'
index = string_example.find("itheima")
print(index)
#结果:12

index函数:是检测字符串中是否包含子字符串sub,如果指定start(开始)和end(结束)范围,则检查是否包含在指定范围内。如果包含子字符串,则返回子字符串开始的索引值,否则抛出异常。
语法格式:str.index(sub[,start[,end]])
参数含义如下。
(1)sub:指定检索的字符串
(2)start:开始索引,默认为0。
(3)end:结束索引,默认为字符串的长度。

string_example = 'hello world itheima and itheimaAPP'
index = string_example.index("itheima",0,10)
print(index)
#结果:Traceback (most recent call last):
# File "D:\代码\python\案例.py", line 2, in <module>
# index = string_example.index("itheima",0,10)
#ValueError: substring not found

count函数:用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置,该函数返回子字符串在字符串中出现的次数。
语法格式:str.count(sub[,start[,end]])
参数含义如下。
(1)sub:指定检索的字符串
(2)start:字符串开始搜索的位置。默认为第一个字符,该字符索引值为0。
(3)end:字符串中结束索引的位置,默认为字符串的长度。

string_example = 'hello world itheima and itheimaAPP'
result = string_example.count("itheima")
print(result)
#结果: 2

replace函数把字符串中的old(旧字符串)替换成new(新字符串),该函数返回的是字符串中的old(旧字符串)替换成new(新字符串)后生成的新字符串。如果指定第3个参数count,则替换次数不超过count次。
语法格式:str.replace(old,new[,count])
参数含义如下。
(1)old:将被替换的字符串。
(2)new:新字符串,用于替换old子字符串。
(3)end:可选参数,替换不超过count次。

old_string = 'hello world itheima and itheimaAPP'
new_string = old_string.replace("itheima","ITHEIMA",1)
print(new_string)
#结果是:hello world ITHEIMA and itheimaAPP

split函数通过指定分隔符对字符串进行切片,如果参数maxsplit有指定值,则仅分割maxsplit个子字符串,该函数的返回值是分割后的字符串列表。
语法格式:str.split(sep=None,maxsplit=-1)
参数含义如下。
(1)sep:分隔符,默认为所有空字符,包括空格、换行(\n),制表符(\t)等。
(2)maxsplit:分割次数。

string_example = "this is string example ... wor"
print(string_example.split())
print(string_example.split("i",1))
print(string_example.split("w"))
#结果:
#['this', 'is', 'string', 'example', '...', 'wor']
#['th', 's is string example ... wor']
#['this is string example ... ', 'or']

capitalize函数用于将字符串的第一个字母变成大写,其他字符变成小写,该函数返回一个首字母大写的字符串。
语法格式:str.capitalize()

old_string = 'hello word itheima and itheimaApp'
new_string = old_string.capitalize()
print(new_string)
#结果: Hello word itheima and itheimaapp

title函数返回“标题化”的字符串,也就是说所有的单词都是以大写开始,其余字母均为小写。
语法格式如下
str.title()

old_string = 'hello word itheima and itheimaApp'
new_string = old_string.title()
print(new_string)
#结果 Hello Word Itheima And Itheimaapp

startswtih函数用于检查字符串是否是以指定字符串开头,如果是,则返回True,否则返回False。若指定了start和end参数的值,则会在指定的范围内检查。语法格式如下
str.startswith(prefix[,start[,end]])
参数含义如下。
(1)prefix:检测的字符串。
(2)start:可选参数,用于设置字符串检测的起始位置。
(3)end:可选参数,用于设置字符串检测的结束位置。

old_string = 'hello word itheima and itheimaApp'
new_string = old_string.startswith("hello")
print(new_string)
#结果:Ture

endswith函数用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数“start”与“end”为检索字符串的开始与结束位置。
str.endswith(suffix[,start[,end]])
参数含义如下。
(1)suffix:该参数可以是一个字符或者一个元素。
(2)start:字符串的开始位置。
(3)end:字符串中的结束位置。

string_example = 'hello word itheima and itheimaApp'
new_string_one = string_example.endswith("app")
new_string_two = string_example.endswith("App")
print(new_string_one)
print(new_string_two)
#结果:
#False
#True

upper函数将字符串中的小写字母转为大写字母,返回小写字母转大写字母的字符串。语法格式:
str.upper()

old_string = 'hello word itheima and itheimaApp'
new_string = old_string.upper()
print(new_string)
#结果:HELLO WORD ITHEIMA AND ITHEIMAAPP

ljust函数返回一个原字符串左对齐,并使用空格填充至长度的新字符串。如果指定长度小于原字符串的长度,则返回原字符串。
str.ljust[width[,fillchar[]]
参数含义如下。
(1)width:指定字符串长度。
(2)fillchar:填充字符,默认为空格。

string_example = "Runoob example ...wor!!!"
print(string_example.ljust(50,'*'))
#结果:Runoob example ...wor!!!**************************

rjust函数返回一个原字符串右对齐,并使用空格填充至长度为width的新字符串。如果指定的长度小于字符串的长度,则返回原字符串。
str.rjust[width[,fillchar[]]
参数含义如下。
(1)width:指定字符串长度。
(2)fillchar:填充字符,默认为空格。

string_example = "Runoob example ...wor!!!"
print(string_example.rjust(50,'*'))

center函数返回一个宽度为width,字符串居中,以fillchar(默认为空格)填充左右两边的字符串。
str.center[width[,fillchar[]]
参数含义如下。
(1)width:指定字符串长度。
(2)fillchar:填充字符,默认为空格。

string_example = "Runoob example ...wor!!!"
print(string_example.center(50,'*'))
结果:*************Runoob example ...wor!!!*************

————————————————
版权声明:本文为CSDN博主「菠萝大师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xhb29/article/details/85248728

本文来自网络,不代表编程技术之VIP部落立场,转载请注明出处:http://www.vvipblog.com/?p=317

作者: baolinguo

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

13001198364

在线咨询: QQ交谈

邮箱: 752694007@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部