一、什么是元祖

元祖是不可变类型(列表是可变类型)

为什么要设计元祖这样不可变类型?因为一旦创建了不可变类型的对象,对象内部的所有数据就不能被修改了,这样避免了

由于修改数据导致的错误。此外,对于不可变类型的对象,在多任务环境下同时操作对象时不需要加锁。

二、元祖的创建

#可以带() 也可以不带
t = ('python',15)
print (t) # ('python', 15)
print (type(t)) # <class 'tuple'> t1 = 'python3',19,20
print (t1) # ('python3', 19, 20)
print(type(t1)) #<class 'tuple'> # 空元祖的创建 t2 = ()
print (t2) # () t2 = tuple()
print (t2) # ()
'''
元祖是不可修改的,但内部元素如果是可变类型,那么该元素的值是可以修改的
'''
t3 = ('python',[1,2,3],15)
t3[1][1] = 9
print (t3) #('python', [1, 9, 3], 15)
 

三、只有一个元素的元组

只有一个元素时,给元祖赋值的时候要加上逗号,不然会按照字符的原有类型赋值

t = (18)
t1 = ('python')
print (type(t)) # <class 'int'> 只有一个元素,不加逗号18为int类型
print (type(t1)) # <class 'str'> 只有一个元素,不加逗号'python'为str类型 t2 = ('python3',)
print (type(t2)) # <class 'tuple'> 只有一个元素,也要加逗号
 

四、多变量的赋值

赋值运算符的左边可以是一个所有元素都为变量的元组或列表,从而一次给多个变量赋值

a,b = 7,8
print (a,b) # 7 8
print (type(a)) # <class 'int'> a,b = [8,9]
print (a,b) # 8 9
print (type(a)) # <class 'int'> [a,b] = [1,2]
print (a,b) #1 2
print (type(a)) # <class 'int'> (a,b) = 55,11
print (a,b) # #55 11
print (type(a)) # <class 'int'> '''
可以在变量前加入*,这样多余的元素会赋值到这个变量上,如下所示
多余的元素会形成一个列表赋予给变量
'''
*a,b,c = 1,2,3,4,5
print (a,b,c) # [1, 2, 3] 4 5
print (type(a)) # <class 'list'> '''
正常的值替换将a和b的值互换,操作如下。
学习了多变量赋值,可以直接a,b = b,a
原理在于先计算右边的值,然后再赋予给左边
'''
a = 5
b = 6
tmp = a #先设置一个中间变量tmp接收a的值,然后tmp = a,a = b,b = tmp
a = b
b = tmp
print (a,b) #6 5 a = 5
b = 6
a,b = b,a #先计算右边数的值,然后在赋值给左边
print (a,b) # 6 5

Python入门之元组的更多相关文章

  1. python入门11 元组tuple

    tuple元组是一种不可变数据类型,也是一种序列,因此可用序列的各类方法,比如切片和索引 #coding:utf-8 #/usr/bin/python """ 2018- ...

  2. 大爽Python入门教程 2-2 序列: 字符串、元组与列表

    大爽Python入门公开课教案 点击查看教程总目录 序列 序列(sequence): 顾名思义,有序的排列. 有序排列的一串数据. 一种容器,容器内成员有序排列. python的字符串str,元组tu ...

  3. Python基本语法[二],python入门到精通[四]

    在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...

  4. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

  5. Python入门版

    一.前言 陆陆续续学习Python已经近半年时间了,感觉到Python的强大之外,也深刻体会到Python的艺术.哲学.曾经的约定,到现在才兑现,其中不乏有很多懈怠,狼狈. Python入门关于Pyt ...

  6. Python自动化运维之1、Python入门

    Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...

  7. Python入门-函数的使用到程序的公布安装

    Python入门-函数的使用到Python的公布安装 本文主要适合有一定编程经验,至少掌握一门编程语言的人查看. 文中样例大多都是简单到认识英文单词就能看懂的水平,主要讲的是Python的总体使用方法 ...

  8. python 入门快速学习整理

    Python 入门学习 1  : 对象类型 1 1.1 列表 1 1.2 字典 2 1.3 元组 2 1.4 元组 2 1.4 文件 3 2  : 条件和循环语句 3 2.1  if else语句 3 ...

  9. Python 入门基础学习

     Python入门学习  我们使用python3.0版本 首选来入门  带你进入Hello World >>> print ("Hello World")Hell ...

随机推荐

  1. 架设传奇时打开DBC数据库出错或读取DBC失败解决方法

    架设传奇时打开DBC数据库出错或读取DBC失败解决方法 DBC右键-属性-高级-管理员身份运行 即可

  2. MYSQL命令练习及跳过数据库密码进行密码重新设置

        2.看当前所有数据库:show databases; 3.进入mysql数据库:use mysql; 4.查看mysql数据库中所有的表:show tables; 5.查看user表中的数据: ...

  3. LFTP命令笔记

    安装 因为在OpenWrt命令行下scp传输文件很慢(只有2.5MB/s不到), 于是改用FTP下载. lftp是OpenWrt下的FTP客户端软件. 如果固件中未安装的话, 需要自己安装, 其依赖于 ...

  4. ASP.NET Core搭建多层网站架构【6-注册跨域、网站核心配置】

    2020/01/29, ASP.NET Core 3.1, VS2019, NLog.Web.AspNetCore 4.9.0 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站 ...

  5. U2000解决备份:服务器不可达、FTP/TFTP/SFTP IP地址与网管地址不一致

    只需要将一下几点设置到位这些问题基本解决: 设置->网元软件管理->FTP设置 如果你的U2000服务器和OLT都在一个内网,那么就IP1和IP2就都输入U2000服务器的内网IP,否则按 ...

  6. LeetCode练题——70. Climbing Stairs

    1.题目 70. Climbing Stairs——Easy You are climbing a stair case. It takes n steps to reach to the top. ...

  7. 《JavaScript高级程序设计》读书笔记(三)基本概念第二小节 Number类型

    内容---语法 上一小节---数据类型 本小节 number类型---流程控制语句---理解函数 number类型--使用IEEE754格式来表示整数和浮点数值(双精度数值)--规定了数值字面量格式, ...

  8. 带有“全选”的combotree

    <div id="setBtn_dd" class="easyui-window" data-options="iconCls:'icon-sa ...

  9. WordPress搭建教程---购买域名+购买VPS主机+域名DNS解析+网站环境+上传网站程序

    WordPress搭建教程 购买域名---NameSilo 购买VPS主机---Vultr 域名DNS解析 网站环境 上传网站程序 参考文章: 1. WordPress搭建教程 https://zhu ...

  10. C++中的sort函数和⾃定义cmp函数

    写在最前面,本文摘录于柳神笔记: sort 函数在头⽂件 #include ⾥⾯,主要是对⼀个数组进⾏排序( int arr[] 数组或 者 vector 数组都⾏), vector 是容器,要⽤ v ...