Python的基础学习6
内容概要
- while + else
- 死循环、while的嵌套
- for循环基本使用
- range关键字
- for循环补充、爬虫
- 基本数据类型及内置方法
内容详情
while + else
# while与else连用
当while没有被关键字break主动结束的情况下
正常结束循环体代码之后会执行else的子代码
\"\"\"
while 条件:
循环体代码
else:
循环体代码正常运行结束 则会执行该子代码块
\"\"\"
死循环、while的嵌套
# 死循环就是永远无法结束的循环并且一致占用CPU工作
\'\'\'死循环有些时候会极度的影响电脑的性能 甚至会造成硬件的损坏\'\'\'
eg: count = 10
while True:
count *= 1
# while嵌套
\'\'\'while循环的子代码里存在while循环体\'\'\'
for循环
# for循环可以做到的事情while循环都可以做到,但是for循环语法更加简单,使用频率更高。
一般情况下涉及到循环取值的时候都会考虑使用for循环而不是while循环
\"\"\"
语法结构
for 变量名 in for循环对象: # 字符串、列表、字典、元组、集合
for循环的循环体代码
每次执行都会将循环对象中的一个元素赋值给变量名
ps:针对for循环语法结构中的变量名 也应该做到见名知意 常用的变量名i、j、k、v、num、item...
\"\"\"
# 循环字符串:依次取出每一个字符
for i in \'hello world\':
print(i)
# 循环列表:索引取值,依次取出每一个元素
name_list = [\'jason\', \'kevin\', \'tony\', \'tank\', \'oscar\']
for name in name_list:
print(name)
# 循环字典(特殊):循环字典只能获取到字典的key,value无法直接获取
userinfo_dict = {\'username\': \"jason\", \'age\': 18, \'gender\': \'male\'}
for i in userinfo_dict:
print(i)
# 循环集合:
for i in {11, 22, 33, 44, 55, 66}:
print(i)
\'\'\'字典与集合内部的元素都是无序的,随机取出直到取完。\'\'\'
# 循环元组:同列表
for i in (11, 22, 33, 44, 55):
print(i)
range关键字
# range方法在python2和python3中有所区分
在python2中range是直接产生一个列表,元素很多的情况下比较占用空间
在python2中有一个xrange相当于在python3中range,不占空间但是可以取出很多数据
在python3中就只有一个range了
# for i in range(101): \'\'\'从0开始到100结束的数据集 顾头不顾尾\'\'\'
print(i)
\"\"\"range其实是一个迭代器用于产生一个数据集合,能够节省空间\"\"\"
用法1 括号内只写一个数字 默认从0开始 顾头不顾尾
for i in range(10):
print(i)
用法2 括号内写两个数字 自定义起始位置 顾头不顾尾
for i in range(1, 10):
print(i)
用法3 括号内写三个数字 第三个数字表示的是等差数列的差值 默认情况下是1
for i in range(1, 10, 2):
print(i)
for循环补充、爬虫
\"\"\"与while一致\"\"\"
for+break
break结束本层for循环
for+continue
continue结束本次for循环 直接开始下一次
for+else
for循环正常结束之后运行else子代码
for循环的嵌套
# 爬虫即通过编写代码去网络上爬取我们需要的数据
1.通过代码请求页面获取页面数据
2.然后根据业务需求筛选出特定的内容
数据类型的内置方法
整型int、浮点型float
# 如何查看数据类型的内置方法
可以借助于编程软件的自动提示 采用句点符快速查看
# int整型
1.类型转换 # res = int(\'123\') 将int方法执行之后的结果赋值给变量res
\"\"\"int方法只能转换纯数字的字符串\"\"\"
2.进制数转换
将十进制转换成其他机制
print(bin(100)) 0b1100100 二进制(0b开头)
print(oct(100)) 0o144 八进制(0o开头)
print(hex(100)) 0x64 十六机制(0x开头)
将其他机制转换成十进制
print(int(\'0b1100100\', 2))
print(int(\'0o144\', 8))
print(int(\'0x64\', 16))
# float浮点型
类型转换
res = float(\'11.11\')
print(res, type(res)) # 11.11
res = float(\'11\')
print(res, type(res)) # 11.0
\"\"\"float方法只能转换数字的字符串\"\"\"
字符串内置方法str
类型转换
str可以转换所有基本数据类型
其他内置方法
s1 = \'hello world\'
1.索引取值
print(s1[0]) # 取出字符h
2.切片操作
print(s1[2:4]) # 取出范围内的字符 [2:4]顾头不顾尾
3.步长
print(s1[2:9:1]) # 第三个参数是步长(差值) 默认是1 依次获取
索引取切片扩展
print(s1[-1]) # 获取最好一个字符 默认方向从左至右
print(s1[-1:-5:-1]) # dlro 第三个参数还可以控制索引的方向
4.统计字符串中字符的个数
print(len(s1))
5.成员运算
print(\'ll\' in s1)
6.移除字符串首位指定的字符(使用频率较高)
\'srt\'.strip() # ()里添加要去除的字符 默认移除字符串首尾的空格
7.按照指定的字符切割字符串
data = \'jason|123|DBJ\'
print(data.split(\'|\')) # [\'jason\', \'123\', \'DBJ\']
\'\'\'name, pwd, hobby = data.split(\'|\') # 解压赋值\'\'\'
print(data.split(\'|\', maxsplit=1)) # [\'jason\', \'123|DBJ\']
print(data.rsplit(\'|\', maxsplit=1)) # [\'jason|123\', \'DBJ\']
\"\"\"split方法切割完字符串之后是一个列表\"\"\"
来源:https://www.cnblogs.com/keep-on-going/p/15982631.html
本站部分图文来源于网络,如有侵权请联系删除。