首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python入门到放弃(六)-基本数据类型之tuple元组

python入门到放弃(六)-基本数据类型之tuple元组

作者头像
老油条IT记
发布于 2020-03-20 13:08:18
发布于 2020-03-20 13:08:18
53500
代码可运行
举报
运行总次数:0
代码可运行

#概述

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
元组俗称不可变的列表,又称只读列表,是python的基本数据类型之一, ()小括号表示,里面使用,逗号隔开

元组里面可以放任何的数据类型的数据,查询可以,循环可以,但是就是不能修改

#先来看看tuple元组的源码写了什么,方法:按ctrl+鼠标左键点tuple

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lass tuple(object):
    """
    tuple() -> empty tuple
    tuple(iterable) -> tuple initialized from iterable's items
    
    If the argument is a tuple, the return value is the same object.
    """
    def count(self, value): # real signature unknown; restored from __doc__
        """ T.count(value) -> integer -- return number of occurrences of value """
        return 0

    def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__
        """
        T.index(value, [start, [stop]]) -> integer -- return first index of value.
        Raises ValueError if the value is not present.
        """
        return 0

    def __add__(self, y): # real signature unknown; restored from __doc__
        """ x.__add__(y) <==> x+y """
        pass

    def __contains__(self, y): # real signature unknown; restored from __doc__
        """ x.__contains__(y) <==> y in x """
        pass

    def __eq__(self, y): # real signature unknown; restored from __doc__
        """ x.__eq__(y) <==> x==y """
        pass

    def __getattribute__(self, name): # real signature unknown; restored from __doc__
        """ x.__getattribute__('name') <==> x.name """
        pass

    def __getitem__(self, y): # real signature unknown; restored from __doc__
        """ x.__getitem__(y) <==> x[y] """
        pass

    def __getnewargs__(self, *args, **kwargs): # real signature unknown
        pass

    def __getslice__(self, i, j): # real signature unknown; restored from __doc__
        """
        x.__getslice__(i, j) <==> x[i:j]
                   
                   Use of negative indices is not supported.
        """
        pass

    def __ge__(self, y): # real signature unknown; restored from __doc__
        """ x.__ge__(y) <==> x>=y """
        pass

    def __gt__(self, y): # real signature unknown; restored from __doc__
        """ x.__gt__(y) <==> x>y """
        pass

    def __hash__(self): # real signature unknown; restored from __doc__
        """ x.__hash__() <==> hash(x) """
        pass

    def __init__(self, seq=()): # known special case of tuple.__init__
        """
        tuple() -> empty tuple
        tuple(iterable) -> tuple initialized from iterable's items
        
        If the argument is a tuple, the return value is the same object.
        # (copied from class doc)
        """
        pass

    def __iter__(self): # real signature unknown; restored from __doc__
        """ x.__iter__() <==> iter(x) """
        pass

    def __len__(self): # real signature unknown; restored from __doc__
        """ x.__len__() <==> len(x) """
        pass

    def __le__(self, y): # real signature unknown; restored from __doc__
        """ x.__le__(y) <==> x<=y """
        pass

    def __lt__(self, y): # real signature unknown; restored from __doc__
        """ x.__lt__(y) <==> x<y """
        pass

    def __mul__(self, n): # real signature unknown; restored from __doc__
        """ x.__mul__(n) <==> x*n """
        pass

    @staticmethod # known case of __new__
    def __new__(S, *more): # real signature unknown; restored from __doc__
        """ T.__new__(S, ...) -> a new object with type S, a subtype of T """
        pass

    def __ne__(self, y): # real signature unknown; restored from __doc__
        """ x.__ne__(y) <==> x!=y """
        pass

    def __repr__(self): # real signature unknown; restored from __doc__
        """ x.__repr__() <==> repr(x) """
        pass

    def __rmul__(self, n): # real signature unknown; restored from __doc__
        """ x.__rmul__(n) <==> n*x """
        pass

    def __sizeof__(self): # real signature unknown; restored from __doc__
        """ T.__sizeof__() -- size of T in memory, in bytes """
        pass

tuple

#判断是否是元组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print((3))   #不是元组
tu = (3, )   #元组中如果只有一个元素,需要在括号里写一个,逗号,否则就不是元组
tu = tuple() #空元组写法
print(type(tu))  #<class 'tuple'>

#验证元组不能增删改,查看索引就可以

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tu = ("人民币","美元","美金","欧元")

tu.append("张三") #不允许添加:tuple' object has no attribute 'append'

tu[0] = "日元"    #不允许修改 :object does not support item assignment

del tu[2]        #报错,不允许删除:'tuple' object doesn't support item deletion

print(tu[2]) #索引就可以
#欧元

#关于元组不可变的注意点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
这里元组的不可变意思是子元素不可变,但是子元素内容的子元素是可以变的,这要取决子元素本身是否是可变

#例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 因为列表是可变长类型,所以可以在里面增加 tu = (1,"蒋小鱼","鲁炎",[]) tu[3].append("张冲") print(tu)
# (1, '蒋小鱼', '鲁炎', ['张冲'])

#需要注意的是,元组的第一层是不能进行赋值的,内部元素是没有要求的
#例子
#tu = (1,"巴朗","项羽","张飞") #像这样子是不能进行赋值的

#元组的索引和切片

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tu = (3,4,5,6,7,8)
#索引:下标从0开始找
print(tu[0]) #3
print(tu[1]) #4
#切片
print(tu[1:3]) #(4, 5)

#详细使用可参考str字符串篇

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java源码跟踪阅读技巧
本文基于Eclipse IDE,我们每天都使用的IDE其实提供了很多强大的功能,掌握它们,往往能够事半功倍。
lyb-geek
2018/10/24
6460
Java源码跟踪阅读技巧
史上最全的 IDEA Debug 调试技巧(超详细案例)
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。 本文地址:https://www.cnblogs.com/chiangchou Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架
江南一点雨
2022/07/19
3.4K0
史上最全的 IDEA Debug 调试技巧(超详细案例)
掌握 IDEA 这 30 个 Debug 小技巧,开发、改Bug 速度快10倍
写Bug、改Bug几乎占据了程序员日常工作的绝大部分时间,如果你能掌握一手调试代码的绝技,相信工作效率必定会得到大幅度的提升;
一行Java
2022/05/17
1.2K0
掌握 IDEA 这 30 个 Debug 小技巧,开发、改Bug 速度快10倍
pycharm的调试功能_pycharm运行调试配置
Debug调试,是对于学习编程人员来说是一项重要的技能。只有当你学会 debug 了以后,才可以正确的知道程序的走向流程是如何的,DEBUG是排除程序故障的意思。debug 则是通过工具来对代码进行调试,进而一步步找出程序中出现 bug 的位置,也就是程序中具体错误代码的位置。
全栈程序员站长
2022/09/25
2.4K0
pycharm的调试功能_pycharm运行调试配置
Spring源码解析——如何阅读源码
最近没什么实质性的工作,正好有点时间,就想学学别人的代码。也看过一点源码,算是有了点阅读的经验,于是下定决心看下spring这种大型的项目的源码,学学它的设计思想。 这篇博文你可以了解到: 1 Spring jar包以及源码使用   2 简单的spring运行示例   3 利用断点调试程序,如何快速的阅读程序【快捷键等的使用】   这次阅读的源码比较老了,是3.0.5版本的,由于正好手头有这个版本的源码,而且平时基本上也是用的这个版本Spring,因此后文的分析也都是针对这个版本。 如何
用户1154259
2018/01/18
1.1K0
Spring源码解析——如何阅读源码
工具——eclipse debug小技巧
F5:跟入Step into, 一般会跟踪进入到调用函数的函数体,Step Over则不会跟踪进入,直接把调用当做一个语句处理。 F6:单步执行Step Over。 通常如果不关心该语句的调用细节,单步执行就可以了。 F7:返回到调用处Step Return。如果无意Step into了一个不需要关心的函数,或者没有必要再对某个函数跟踪了,直接F7返回到调用语句处。 F8:运行至下一断点Resume。
说故事的五公子
2019/09/11
6670
工具——eclipse debug小技巧
Android Studio 常用快捷键
说明: 本文中的快捷键是针对 Mac 操作系统。 我将快捷键归为三大类:阅读代码、编辑代码、调试代码。 阅读代码 功能 Mac快捷键 递归搜索方法调用链 (Call Hierarchy) Ctrl + Option + H 搜索变量(或方法)调用者 (Find Usages) Option + F7 搜索类继承关系 (Type Hierarchy) Ctrl + H 查找方法 (File Structure) Cmd + F12 查找类 (Navigate Class) Cmd + O 查找文件 (Navi
子晋
2022/01/18
5300
史上最全的 IDEA Debug 调试技巧(超详细案例)
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/07/26
1.6K0
史上最全的 IDEA Debug 调试技巧(超详细案例)
万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍
万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍
猫头虎
2024/05/24
3.2K0
万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍
贯穿程序员一生的必备开发技能——debug
1.什么是debug debug是一种运行模式,用来跟踪程序的走向,以及跟踪程序运行过程中参数的值的变化。 2.debug的作用 debug一般用来跟踪代码的运行过程,通常在程序运行结果不符合预期或者
三哥
2018/06/15
4.5K0
IDEA使用
最重要的: Ctrl+Shift+A  打开搜索 定位代码: 项目之间的跳转: 文件之间的跳转: 打开最近文件列表  Ctrl + E     打开最近修改的文件   定位代码: 上次修改的地方  
二十三年蝉
2018/02/28
8540
IDEA使用
Intellij IDEA 2019 debug断点调试技巧与总结详解
在 “调试工具” 窗口中,您可以看到框架和线程的状态、变量和表的列表。当您选择一个框架时,您会看到与所选框架相对应的变量。
JavaEdge
2020/05/27
5.7K0
Intellij IDEA 2019 debug断点调试技巧与总结详解
Android studio断点调试
1.判断大概哪个地方出现了问题 2.在怀疑的代码旁加上断点 3.点击调试运行 4.程序到断点的地方停下来,接下来我们就一步步开始即可 5.没有5了,断点调试超级方便
全栈程序员站长
2022/08/31
2.4K0
Android studio断点调试
【收藏】100 个 PyCharm For Mac 快捷键
作为真正生产力工具的 Mac, 在 Python 开发中配合 PyCharm 快捷键, 可以让生产力倍增, 本文用 按键位分类 和 按功能分类 两种方式整理 PyCharm 的快捷键.
benny
2019/07/31
7.6K0
用Eclipse开发项目,你不能不知道的快捷键
1. 编辑快捷键 编辑快捷键 介绍 psvm + Tab 生成main方法 sout + tab 生成输出语句 Ctrl+X / Ctrl + Y 删除一行 Ctrl+D 复制一行 Ctrl+/ 或 Ctrl+Shift+/ 注释代码 Ctrl + Z 撤销 Ctrl + Shift + Z 取消撤销 Ctrl + C 复制 Ctrl + V 粘贴 Ctrl + O 重写方法 Ctrl + I 实现方法 Ctr + shift + U 大小写转化 Ctrl + Shift + J 整合两行为一行 Ctrl
风骨散人Chiam
2020/10/28
5570
万字长文!超详细的IntelliJ IDEA 教程!
工欲善其事,必先利其器。在Java开发中挑选一款好的Ide环境能大大提升我们的开发效率,IntelliJ IDEA正是一个不二选择。本教程会介绍怎么对idea进行配置、使用idea进行debug和经常使用的快捷键,最后会推荐几个牛逼的idea插件,大大提升开发体验和效率。
dizhiguo
2022/09/30
4.6K0
万字长文!超详细的IntelliJ IDEA 教程!
你离高级开发只差这些IntelliJ IDEA Debug使用技巧
IntelliJ IDEA,由JetBrains(捷克共和国)开发的一款强大的Java集成开发环境(IDE),因其丰富的功能、智能的代码辅助以及用户友好的界面设计,在全球范围内广受Java开发者的喜爱,在国内,笔者遇到过不使用IDEA的Java程序员不超过三个。不仅限于Java,IntelliJ IDEA还支持多种其他编程语言和框架,如Kotlin、Scala、Groovy以及Android开发等,这进一步扩大了其用户基础。其社区版是免费的,而专业版则提供了更为高级的功能。
关忆北.
2023/12/05
8240
你离高级开发只差这些IntelliJ IDEA Debug使用技巧
IntelliJ IDEA 常用快捷键一览表
工欲善其事必先利其器!!! 第一组 提高编写速度(上) 说明 快捷键 智能提示-edit alt + enter 提示代码模板-insert live template ctrl+j 使用xx块环绕-surround with … ctrl+alt+t 调出生成getter/setter/构造器等结构-generate … alt+insert 自动生成返回值变量-introduce variable … ctrl+alt+v 复制指定行的代码-duplicate line or selection ctr
CODER-V
2023/03/04
3540
debug的基本使用_debug功能
1.进入debug模式(基础知识列表) 1、设置断点 2、启动servers端的debug模式 3、运行程序,在后台遇到断点时,进入debug调试状态 作用域 功能 快捷键 全局 单步返回 F7 全局 单步跳过 F6 全局 单步跳入 F5 全局 单步跳入选择 Ctrl+F5 全局 调试上次启动 F11 全局 继续 F8 全局 使用过滤器单步执行 Shift+F5 全局 添加/去除断点 Ctrl+Shift+B 全局 显示 Ctrl+D 全局 运行上次启动 Ctrl+F11 全局 运行至行 Ctrl+R 全局 执行 Ctrl+U
全栈程序员站长
2022/11/03
1.7K0
关于debug你可能还不知道的技巧,建议所有人都看一下
debug主要用来追踪代码的运行流程,从而分析定位异常发生的位置,以及在运行过程中参数的变化。也可以用debug模式来跟踪代码的运行流程去学习三方框架的源码。
一条coding
2021/08/12
9090
关于debug你可能还不知道的技巧,建议所有人都看一下
推荐阅读
相关推荐
Java源码跟踪阅读技巧
更多 >
交个朋友
加入[跨境业务] 腾讯云官方方案交流站
共享跨境方案指南 洞察行业动向
加入架构与运维学习入门群
系统架构设计入门 运维体系构建指南
加入架构与运维工作实战群
高并发系统设计 运维自动化实践
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档