python基础(四)
while + continue
在while循环中,使用break是跳出本层循环,我们可以使用continue来做到只跳过一次循环而不影响整个的循环
图中程序的作用就是当count等于4是跳过当次循环来达成不输出4的目的。具体流程如下
while + else
当while循环结束之后会执行else的代码,但需要注意的是,如果不是正常的循环结束而是人为的打断循环,是无法执行else下的代码的。
死循环
当while循环条件永远处于满足状态,循环永远不停止时被称为死循环。
死循环会让CPU极度繁忙,甚至导致系统崩溃。
for循环
for循环与while循环的作用类似,for循环能做到的事,while循环都可以做到。
但for循环的语法更为简洁,并且在循环取值的问题上更加方便。
range关键字
range关键字有三种形式:
1.只有一个参数,从0开始,左闭合右开放。
2.有两个参数,从自定义的参数开始,左闭合右开放。
3.有三个参数,其他与第二种相同,第三个参数用来控制等差值。
range关键字在不同的python版本中的本质不同,在python 2.x的版本中,range会直接输出一个列表,在python3.x中是一个迭代器。
for + break
与while循环相同,break在for循环中的作用也是结束本层循环
for i in range(10): if i == 4: break print(i)
for + continue
与while循环相同,continue在for循环中的作用也是结束本此循环而不影响整层循环
continue功能也是用于结束本次循环 for i in range(10): if i == 4: continue print(i)
for + else
与while循环相同,else在for循环中也是在循环结束后执行子代码,同样的一旦被人工打断循环就不会执行
for i in range(10): if i == 4: break print(i) else: print('循环结束')
for循环的嵌套使用
for循环和其他结构一样可以嵌套使用
浮点型float
浮点型与整型一样可以做类型转换的操作,浮点型同样只能只能进行数字的识别,但与整型的区别是,他可以识别小数点。
如果输入的是整数,他会将整数转换为小数的形式。
字符串str
与之前的两者相比,字符串拥有的内置方法更多也更常用。
类型转换
字符串类型可以将任意类型的数据转化成字符串。他们的样子没变化但类型都转化成了字符串。
print(str(123)) print(str(123.21)) print(str([1, 2, 3, 4])) print(str({'name': 'jason', 'pwd': 123})) print(str((1, 2, 3, 4))) print(str(True)) print(str({1, 2, 3, 4}))
基本用法
1.索引取值
str可以通过索引来获取某一位的字符。
res = 'hello world!' print(res[1]) # 结果 e
2.切片操作
str可以确定从某一位字符开始向后取自定义数量的值。
res = 'hello world!' print(res[1:4]) # 结果 ell
3.步长操作
str可以选择从某一字符开始,每隔几个字符取一个值。
res = 'hello world!' print(res[1:10:2]) #结果 el ol
4.索引支持负数
可以用负数来从倒数开始取值。
res = 'hello world!' print(res[-1]) # 结果 ! 取最后一位 print(res[-5:-1]) # 结果 orld 顾头不顾尾 print(res[-5:-1:-1]) # 方向冲突
5.计算长度
str可以用len方法来直接计算字符串长度。
res = 'hello world!' print(len(res)) # 结果 12
6.移除收尾指定字符串
str可以使用strip方法来删除首尾指定的字符串。
如果没有指定则默认删除首尾的空格。
值得注意的是,如果字符串的首尾并没有指定的字符,则什么都不会改变。
另,可以用lstrip和rstrip的方法来只删除首部或是尾部的字符。
7.指定字符切割字符串
str 可以使用split方法来指定将某个字符切割,使用该方法生成的数据是列表。
与strip类似,split方法也有rsplit来决定切割右边的字符,另外还有maxsplit方法来决定切割的次数。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通