python基础学习6
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方法切割完字符串之后是一个列表"""
python基础学习6的更多相关文章
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Day1 Python基础学习——概述、基本数据类型、流程控制
一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...
- Python 基础学习 总结篇
Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...
- (一)python基础学习
根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...
- python基础学习(起步)
目录 python基础学习(起步) 变量 常量 变量的内存管理 python垃圾回收机制 变量的其他赋值方式 今日编程小题 本人能力有限,若有偏颇之处请读者大大不吝赐教! 祝大家每天都在成长! pyt ...
- Python基础学习二
Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...
- Python基础学习一
Python基础学习一 1.变量与常量 变量名:大小写英文.数字.下划线的组合,数字不能开头 常量名:习惯上常量用大写字母命名,例如"PI" 2.多行输出 转义符:反斜杠(),如果 ...
- Python基础学习五
Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...
- Python基础学习四
Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...
随机推荐
- java反射相关
反射的机制:反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言 ...
- Mybatis插入数据
对上文->Mybatis快速入门-<进行代码修改 1.在UserMapper.xml中添加插入操作 <!-- 插入操作--> <insert id="save& ...
- 羽夏壳世界—— PE 结构(上)
羽夏壳世界之 PE 结构(上),介绍难度较低的基本 PE 相关结构体.
- 『忘了再学』Shell基础 — 9、Bash中的特殊符号(一)
目录 1.双单引号 2.双引号 3.$符号 4.反引号 5.$()符号 6.#符号 7.\符号 1.双单引号 '':单引号.在单引号中所有的特殊符号,如$和"`"(反引号)都没有特 ...
- 2021.07.18 P2290 树的计数(prufer序列、组合数学)
2021.07.18 P2290 树的计数(prufer序列.组合数学) [P2290 HNOI2004]树的计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.pru ...
- Amazing!巧用 CSS 视差实现酷炫交互动效
本文将介绍利用 CSS 实现滚动视差效果的一个小技巧,并且,利用这个技巧来制作一些有意思的交互特效. 关于使用 CSS 实现滚动视差效果,在之前有一篇文章详细描述过具体方案 - CSS 实现视差效果, ...
- Spring的3级缓存和循环引用的理解
此处是我自己的一个理解,防止以后忘记,如若那个地方理解不对,欢迎指出. 一.背景 在我们写代码的过程中一般会使用 @Autowired 来注入另外的一个对象,但有些时候发生了 循环依赖,但是我们的代码 ...
- 保姆级教程:VsCode调试docker中的NodeJS程序
最近在写NodeJS相关的项目,运行在docker容器中,也是想研究一下断点调试,于是查阅相关资料,最终顺利配置好了. 首先我选择了VsCode作为ide,并用VsCode来做NodeJS可视化deb ...
- PostgreSQL配置调优在线工具
链接: https://pgtune.leopard.in.ua/#/
- 聊聊如何在华为云IoT平台进行产品开发
摘要:华为云物联网平台承载着南北向数据互通的功能职责. 本文分享自华为云社区<如何基于华为云IoT物联网平台进行产品开发>,作者: Super.雯 . 华为云物联网平台承载着南北向数据互通 ...