【python学习】字符串详解,面试必问公司的问题

简介: 【python学习】字符串详解,面试必问公司的问题

1.转义字符

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

print('Ok sir, let’s go! ')

注意:print函数自身带了一个换行,如果使用print()就可以输出一个换行

2.输入输出


#字符串的格式化输出
name1 =“小明”
name2=“小红”
print(“大家好,我叫%s”%name1)
print(“大家好,我们是%s和%s”%(name1,name2))
#字符串的输入
#username=input(“请输入用户名”)
#print(username)
#字符串的存储方式

贴士:字符串中的每个字符都对应一个下标,下标编号是从0开始的

3.切片


切片操作基本表达式:

object[start_index:end_index:step]

含义:object[起始:结束:步长]

切片选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)

Python可切片对象的索引方式

包括:正索引和负索引两部分.

如下图所示,以list对象a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:

参数解释:

object[起始:结束:步长]

  • step:正负数均可,其绝对值大小决定了切取数据时的‘‘步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。当step省略时,默认为1,即从左往右以步长1取值。“切取方向非常重要!”“切取方向非常重要!”“切取方向非常重要!”,重要的事情说三遍!
  • start_index:表示起始索引(包含该索引对应值);该参数省略时,表示从对象“端点”开始取值,至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始。
  • end_index:表示终止索引(不包含该索引对应值);该参数省略时,表示一直取到数据“端点”,至于是到“起点”还是到“终点”,同样由step参数的正负决定,step为正时直到“终点”,为负时直到“起点”。

4.字符串内建函数


1.find函数:检测字符串是否包括子字符串

格式:str.find(str, beg=0, end=len(string))

参数如下:

str – 指定检索的字符串。

beg – 开始索引,默认为0。

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

找到则返回索引位置,找不到返回-1。

#eg:
s1=“svsvhsjf”
result=s1.find(“m”,0,len(s1))
print(result)

-1

2.index函数:检测字符串是否包括子字符串

格式:str.index(str, beg=0, end=len(string))

参数如下:

str – 指定检索的字符串。

beg – 开始索引,默认为0。(包括)

end – 结束索引,默认为字符串的长度。(不包括)

找到则返回索引位置,找不到抛出异常。

#eg:
s2=“svsvhsjf”
result=s2.index(“f”,0,len(s2))
print(result)

7

3.count函数:统计字符串中某个字符、字符串的个数

格式:str.count(sub, start= 0, end=len(string))

参数如下:

sub – 搜索的子字符串

start – 字符串开始搜索的位置(包括)

end – 字符串中结束搜索的位置(不包括)

#eg:
s3=“svsvhsjf”
result=s3.count(“s”,0,len(s3))
print(result)
3
s4=“svsvhsjfsviihsvr”
result=s4.count(“sv”,0,len(s4))#在s中找"sv"的次数
print(result)

4

4.replace函数:将旧字符串替换为新字符串

格式:str.replace(old, new[, max])

参数如下:

old需要进行更换的旧子串

new新的子串,将取代旧的子字符串(子串可以为空)

max如果可选参数max值给出,表示出现前max的次数的子串被替换

#eg:
str=“monkey likes lion,wow!!!monkey likes lion very much!!”
print(str.replace(“li”,“ha”))
print(str.replace(“li”,“ha”,3))
print(str.replace(‘li’,‘’))
print(str)

输出结果

注意:运行结果来看,replace函数不会改变原始字符串的值,如果需要使用替换后的字符串,需要将其重新赋值给一个新的变量

5.splite函数:通过指定分隔符对字符串进行切片

格式:str.split(str="", num=string.count(str))

参数如下:

str – 分隔符。默认为所有空字符,如空格,tab等。

num – 分割次(默认:有多少个str分割多少次)

eg:
string = “www.gziscas.com.cn”
1.以’.'为分隔符
print(string.split(’.’))
[‘www’, ‘gziscas’, ‘com’, ‘cn’]
2.分割两次
print(string.split(’.’,2))
[‘www’, ‘gziscas’, ‘com.cn’]
3.分割两次,并取序列为1的项
print(string.split(’.’,2)[1])
gziscas
4.分割两次,并把分割后的三个部分保存到三个文件
u1, u2, u3 =string.split(’.’,2)
print(u1)—— www
print(u2)—— gziscas
print(u3) ——com.cn
6.capitalize:第一个字符大写,其他字符小写
#格式:
str.capitalize()
#eg:
s5=“this is hello”
print(s5.capitalize())

7.title:所有单词首字母大写,其余字母小写
#格式:
str.title()
#eg:
s6=“this is hello”
print(s6.title())


相关文章
|
2月前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
2月前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
1月前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
30天前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
2月前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
2月前
|
程序员 Python
Python学习的自我理解和想法(3)
这是学习Python第三天的内容总结,主要围绕字符串操作展开,包括字符串的提取、分割、合并、替换、判断、编码及格式化输出等,通过B站黑马程序员课程跟随老师实践,非原创代码。
|
2月前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
2月前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
2月前
|
存储 索引 Python
Python学习的自我理解和想法(4)
今天是学习Python的第四天,主要学习了列表。列表是一种可变序列类型,可以存储任意类型的元素,支持索引和切片操作,并且有丰富的内置方法。主要内容包括列表的入门、关键要点、遍历、合并、判断元素是否存在、切片、添加和删除元素等。通过这些知识点,可以更好地理解和应用列表这一强大的数据结构。
|
2月前
|
索引 Python
Python学习的自我理解和想法(5)
这是我在B站千锋教育学习Python的第五天笔记,主要内容包括列表的操作,如排序(`sort()`、``sorted()``)、翻转(`reverse()`)、获取长度(`len()`)、最大最小值(`max()`、``min()``)、索引(`index()`)、嵌套列表和列表生成(`range`、列表生成式)。通过这些操作,可以更高效地处理数据。希望对大家有所帮助!

热门文章

最新文章