大学生常用python变量和简单的数据类型、可迭代对象、for循环的3用法
文章目录
- 变量和简单的数据类型
- 下划线开头的对象
- 删除内存中的对象
- 列表与元组
- debug
- 三酷猫钓鱼记录
- 实际POS机小条打印
- 使用循环找乌龟
- 可迭代对象
- 📗理解一
- 📘理解二
- 2️⃣什么是迭代器
- ✔️注意
- 3️⃣迭代器对象
- 4️⃣有关迭代的函数
- for循环的3用法
🌸I could be bounded in a nutshell and count myself a king of infinite space.
特别鸣谢:木芯工作室 、Ivan from Russia
变量和简单的数据类型
下划线开头的对象
单下划线_
变量
在Python中,变量可以包含数字、字母、下划线等,所以单独一个下划线_也是一个变量,表示一个临时对象,一般后续不会用到,比如:
>>> i = 0
>>> for _ in range(10):
... i += 1
...
>>> i
程序中运行的最近一个结果
单下划线_也可以表示程序中运行的最近一个结果,如:
>>> 'https://machinelearning.blog.csdn.net/'
'https://machinelearning.blog.csdn.net/'
>>> _
'https://machinelearning.blog.csdn.net/'
>>> 100
100
>>> _
10
国际化和本地化字符串之间翻译查找的函数
单下划线_作为函数名时,一般是代表了国际化和本地化字符串之间翻译查找的函数。
单下划线开头变量_var或函数_fun()
单下划线开头_var的变量或函数_fun表示该变量或函数为内部使用的变量,不建议在外部使用,但单下划线开头仅仅是一个提示,没有权限控制,实际上可以在外部访问。同时,如果用from <module> import *和from <package> import *时,这些属性、方法、类将不被导入。
单下划线结尾var_
为了防止跟系统关键字重名了,比如函数里需要有个参数class,但是Python中class为关键字,所以需要将 class设置为class_。
双下划线开头变量__var或函数__fun()
代表着类中的私有变量名或函数,主要用于避免子类覆盖父类的方法,如果需要访问,需使用_classname__fun()。
前后双下划线变量__var__或函数__fun__()
系统定义的变量名称或函数,如Python的魔法函数: __ init__(),__ str__(),__ new__(),__ unicode__(), __ call__(),__ len__(),__repr__(),__ setattr__(),__ getattr__(),__ getattribute__(),__ delattr__(),__ setitem__(),__ getitem__(),__ delitem__(),__ iter__(),__ del__(),__dir__(),__dict__(),__exit__(),__enter(),__all__()。我们定义变量名称或函数是应该尽量避免前后加双下划线。
版权声明:本文为CSDN博主「von Neumann」的原创文章,遵循CC 4.0
BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hy592070616/article/details/125114737
删除内存中的对象
a='0'
del(a)
print(a) //报错
列表与元组
i = 0
while i<5:print(12)i+=1
debug

三酷猫钓鱼记录
a,b,c=6,5,8
print(''*3+'表2.1'+' 三酷猫的钓鱼记录')
print("| |"+"日期"+" 鱼名"+" 数量")
print("|1 |"+"2017.11"+" 鲫鱼"+" %d"%(a))
print("|2 |"+"2017.11"+" 鲫鱼"+" %d"%(b))
print("|3 |"+"2017.11"+" 鲫鱼"+" %d"%(c))
print( "总共 %d+%d+%d=19 "%(a,b,c))
实际POS机小条打印
血的教训:%要紧随其后
num1,num2,num3=6,5,8
price1,price2,price3=8.1,8.2,8
print(''*3+'表2.1'+' 三酷猫的钓鱼记录')
print("| |"+"日期"+" 鱼名"+" 数量 单价")
print("|1 |"+"2017.11"+" 鲫鱼"+" "+str(num1)+" "+str(price1))
print("|2 |"+"2017.11"+" 鲤鱼"+" "+str(num2)+" "+str(price2))
print("|3 |"+"2017.11"+" 草鱼"+" "+str(num3)+" "+str(price3))
print( "总共数量%d+%d+%d=19 "%(num1,num2,num3)+"总共"+str(123))
使用循环找乌龟
三酷猫钓鱼记录查找
fish_record=‘鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只’
fish_record='鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只'
i=0
total=len(fish_record)
print(total)
while i<total:print(str(i) + "--------" + str(total))if fish_record[i:i+2]=="乌龟":print("乌龟有"+fish_record[i+2:i+3]+"只")i+=5
可迭代对象
数字列表,字符串,列表,元组,字典…
📗理解一
Iterable对象,就是可迭代对象,即可以用for...in...进行遍历的对象,就叫可迭代对象。
比如列表,元组,字符串,字典等都属于可迭代对象。
📘理解二
一个对象如果实现了__iter__方法,那么我们称这个对象是可迭代对象。
2️⃣什么是迭代器
📗理解
一个实现了__iter__方法和__next__方法,并且可以通过__next__方法不断返回下一个值的对象称为Itertor,即迭代器。
也就是说,迭代器均可以使用 for...in... 和next逐一遍历。
迭代器的两个最基本的方法:iter() 和 next().
✔️注意
需要注意的是,列表,元组,字典,集合,字符串均实现了__iter__方法,但并未实现__next__方法,所以这些对象并不能称为迭代器。
3️⃣迭代器对象
✨iter()
列表,元组,字符串等对象都可以使用iter()方法来创建迭代器对象。
✨next()
创建迭代器对象后就可以使用next()方法来访问元素
访问迭代器对象都是从第一个元素开始,直到访问结束
迭代器只能往前不会后退
🔋实例
>>> list_1 = [1,2,3]
>>> it_list = iter(list_1)
>>> print(next(it_list))
>>> 1
>>> print(next(it_list))
>>> 2
>>> print(next(it_list))
>>> 3
>>> print(next(it_list))
>>> Traceback (most recent call last):
...
StopIteration
fish_record='鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只'
fish_record = iter(fish_record)
print(next(fish_record))
显然,如果访问到迭代器对象的最后一个元素时继续访问,就会触发StopIteration异常
4️⃣有关迭代的函数
🌱---- enumerate()
语法:
enumerate(iterable, start=0)
用法:
返回一个索引和enumerate对象
参数:
iterable----可迭代对象或迭代器
start----索引值,默认为0
实例:
例1
>>>teams=['勇士', '热火', '骑士']
>>>enumerate(teams)enumerate object at 0x000002E9569016C0>
>>>for t in enumerate(teams):print(t, end = ' ')
...(0, '勇士') (1, '热火') (2, '骑士')
例2
>>>teams=['勇士', '热火', '骑士']
>>>for i, t in enumerate(teams):print(i, t, end=" ")
... 0 勇士 1 热火 2 骑士
例子3
>>>teams=['勇士', '热火', '骑士']
>>>t1 = enumerate(teams)
>>>t1.__next__()(0, '勇士')
>>>t1.__next__()(1, '热火')
>>>t1.__next__()(2, '骑士')
>>>t1.__next__()Traceback (most recent call last):...t1.__next__()StopIteration
例4
>>>teams=['勇士', '热火', '骑士']
>>>t1 = enumerate(teams,2)
>>>t1.__next__()(2, '勇士')
>>>t1.__next__()(3, '热火')
>>>t1.__next__()(4, '骑士')
>>>t1.__next__()Traceback (most recent call last):...t1.__next__()StopIteration
🌱---- map()
用法:
该函数用于将一个函数依次映射到可迭代对象的每个元素上,再返回一个map对象
实际上,map对象既是可迭代对象,也是一个迭代器对象
语法:
map(function, iterable, ...)
1
参数:
function---- 函数
iterable---- 可迭代对象,可以有多个iterable
返回:
该函数返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器。
当有多个可迭代对象时,最短的可迭代对象耗尽则整个迭代就将结束
实例:
由于该函数返回的是迭代器,所有我们可以用list()函数将结果转换为列表。

🌱---- zip()
用法:
将多个迭代器对象(或可迭代对象)中的元素压缩到一起,并返回一个zip对象
实际上,zip对象既是可迭代对象,也是一个迭代器对象
语法:
zip(iterable, ...)
1
参数:
iterable----可迭代对象,可以有多个。
返回:
该函数在多个iterable上并行迭代,从每个可迭代对象上返回一个数据项组成元组。
也就是说, zip() 返回元组的迭代器,其中第 i 个元组包含的是每个参数迭代器的第 i 个元素。
如图:

🌱---- filter()
用法:
传入带有一个参数的函数function,并返回一个filter对象
filter对象中的元素是由参数中的iterable对象使得函数function返回值为True的那些元素组成
通俗讲就是满足function函数条件的那些元素组成了filter对象
实际上,filter对象既是可迭代对象,也是一个迭代器对象
语法:
filter(function, iterable)
1
参数:
function ----判断函数,用于过滤掉对象里不符合条件的元素
iterable ----可迭代对象,如列表,元组等。
返回:
返回一个新的迭代器,其中的元素都符合判断函数的条件
实例:
我们可以利用list()函数来转换filter()函数的返回值

版权声明:本文为CSDN博主「翼同学」的原创文章,遵循CC 4.0
BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_62999278/article/details/123884858
for循环的3用法
for var in range(9):print("wowudi")
fish_record='鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只'i=0
for i in range(len(fish_record)):if fish_record[i+2:i+3] =="5":print("鲫鱼"+"5")i+=5
相关文章:
大学生常用python变量和简单的数据类型、可迭代对象、for循环的3用法
文章目录变量和简单的数据类型下划线开头的对象删除内存中的对象列表与元组debug三酷猫钓鱼记录实际POS机小条打印使用循环找乌龟可迭代对象📗理解一📘理解二2️⃣什么是迭代器✔️注意3️⃣迭代器对象4️⃣有关迭代的函数for循环的3用法🌸I …...
Java集合:Map的使用
1.Map框架l----Map:双列数据,存储key-value对的数据 ---类似于高中的函数: y f(x)|----HashMap:作为Map的主要实现类, 线程不安全的,效率高;可以存储null的key和value|----LinkedHashMap:保证在遍历map元素时,可以按照…...
【Datawhale图机器学习】第一章图机器学习导论
图机器学习导论 学习路径与必读论文清单 斯坦福CS224W(子豪兄中文精讲)知识图谱实战DeepwalkNode2vecPageRankGNNGCNGragh-SAGEGINGATTrans-ETrans-R 图无处不在 图是描述关联数据的通用语言 举例 计算机网络新冠肺炎流行病学调查传播链食物链地铁图…...
window 配置深度学习环境GPU
CUDA 11.6 CUDNN Anaconda pytorch 参考网址:https://zhuanlan.zhihu.com/p/460806048 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 电脑信息 RTX 2060 GPU0 1. CUDA 11.6 1.1 确认信息 C:\Users\thzn>nvidia-smi (CUDA Versi…...
VS Code 用作嵌入式开发编辑器
使用 Keil MDK 进行嵌入式开发时,Keil 的编辑器相对于主流编辑器而言有些不方便,比如缺少暗色主题、缺少智能悬停感知(鼠标停在一个宏上,能自动展开最终的宏结果)、代码补全不好用等等,所以推荐使用 VS Cod…...
【Python】网络爬虫经验之谈
爬虫经验之谈对爬虫的认识网站分析技术选型JS逆向反爬机制结语近段时间,因为工作需要做一些爬虫的开发,分享一下走过的坑和实战的经验吧!对爬虫的认识 F12查看的网络请求,找到相应的接口查看一下json数据来源和构造。我爬取的网站…...
数学建模美赛【LaTeX】公式、表格、图片
数学建模美赛【LaTeX】公式、表格、图片 1 宏包 \package{ } 就是在调用宏包,对计算机实在外行的同学姑且可以理解为工具箱。 每一个宏包里都定义了一些专门的命令,通过这些命令可以实现对于一类对象(如数学公式等)的统一排版&a…...
【大数据】YARN节点标签Node Label特性
简介 YARN 的 Node-label 特性能够将不同的机器类型进行分组调度,也可以根据不同的资源要求进行分区调度。运维人员可以根据节点的特性将其分为不同的分区来满足业务多维度的使用需求。YARN的Node-label功能将很好的试用于异构集群中,可以更好地管理和调…...
C# SolidWorks二次开发 API-命令标签页的切换与按钮错乱问题
这是一个网友咨询的问题,说他想控制默认打开文件之后solidworks上方工具栏的当前激活标签页。 之前我们提到过,制作Solidworks的插件也会在上面增加一个标签页,用来放自己开发的命令,经常开发的人肯定会遇到有时候更新版本,或者标…...
ElasticSearch 7.6.1
疑问 ES为什么这么快? 全文检索 听过一个程序扫描文本的每一个单词,针对单词建立索引,并保存该单词在文本中的位置,以及出现的次数。在检索查询时候,通过建立好的索引进行查询,将索引中单词对应的文本位…...
Linux系列 操作系统安装及服务控制(笔记)
作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 目录 前言 一.操作系统 1.Linux系统三大类 (1)ubu…...
Linux基础 - NTP时间同步
🏡博客主页: Passerby_Wang的博客_CSDN博客-系统运维,云计算,Linux基础领域博主 🌐所属专栏:『Linux基础』 🌌上期文章: Linux基础 - DNS服务进阶 📰如觉得博主文章写的不错或对你有所帮助…...
golang 入门教程:迷你 Twitter 后端
请记住,这个项目主要是为了稍微熟悉下Golang,您可以复制架构,但该项目缺少适当的 ORM,没有适当的身份验证或授权,我完全无视中间件,也没有测试。 我将在其自己的部分中讨论所有这些问题,但重要的…...
CPP2022-30-期末模拟测试03
6-1 引用作函数形参交换两个整数 分数 5 全屏浏览题目 切换布局 作者 李廷元 单位 中国民用航空飞行学院 设计一个void类型的函数Swap,该函数有两个引用类型的参数,函数功能为实现两个整数交换的操作。 裁判测试程序样例: #include <…...
华为OD机试真题Python实现【最多等和不相交连续子序列】真题+解题思路+代码(20222023)
🔥系列专栏 华为OD机试(Python)真题目录汇总华为OD机试(JAVA)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出说明示例二输入输出说明...
二叉搜索树
1.二叉搜索树 1.1.二叉搜索树概念 二叉搜索树又称二叉排序树,它或者是一颗空树,或者是具有一下性质的二叉树。 若它的左子树不为空,则左子树上的所有节点的值都小于根节点的值。若它的右子树不为空,则右子树上的所有节点的值都…...
数据结构(三):集合、字典、哈希表
数据结构(三)一、集合(Set)1.封装一个集合类2.集合常见的操作(1)并集(2)交集(3)差集(4)子集二、字典(Map)三、…...
Linux内核驱动开发(一)
Linux内核初探 linux操作系统历史 开发模式 git 分布式管理git clone 获取git push 提交git pull 更新 邮件组 mailing list patch 内核代码组成 Makfile arch 体系系统架构相关 block 块设备 crypto 加密算法 drivers 驱动(85%) atm 通信bluet…...
TCP/IP协议二十问
TCP/IP协议二十问 1. 什么是TCP网络分层? TCP网络分层一般分为五层: 应用层(HTTP):组装数据包传输层(TCP):增加TCP头部,包含端口号等信息网络互联层(IP&am…...
常用Array数组操作方法
定义一个测试数组constplayers[{name:科比,num:24},{name:詹姆斯,num:23},{name:保罗,num:3},{name:威少,num:0},{name:杜兰特,num:35}]复制代码1、forEach参数代表含义item:遍历项index:遍历项的索引arr:数组本身Array.prototype.sx_forEach…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

