Python零基础入门教学-变量与常用数据类型二

作者: 叮噹貓の神 分类: python 教学,微软应用程式 发布时间: 2019-10-23 13:02
Python – 图片摘自网络

Hi,大家好,欢迎大家参阅本站的Python零基础入门教学系列课程,我是本系列教程的作者叮当猫,在往后的日子里我将不定时的更新这一系列教学课程,本系列课程主要以文字或视频教学方式为主欢迎大家参阅,如在学习中有任何疑问或建议,我们都欢迎您向我们提出,同时也欢迎加入我们的QQ技术交流群探讨:544185435。

元组类型

元组与列表(list)类似,它以圆括号“()”标识;元素之间同样以逗号“,”号来间隔,但元组是不可变的,即不能进行二次赋值,它是只读的。

tuple = ('python','c#','c++','c','java')
trytuple = ('hello','itmaohome')
print(tuple)#输出:('python','c#','c++','c','java')
print(tuple[0])#输出:python
print(tuple[0:3])#输出:('python','c#','c++')
print(trytuple *3)#输出:('hello', 'itmaohome', 'hello', 'itmaohome', 'hello', 'itmaohome')

访问元组

我们可以通过下标来访问元组,同样的,元组的下标也是从零开始的。

tuple = ('python','c#','c++','c','java')
print(tuple[1])#输出:C#
print(tuple[-1])#输出:java

更新元组

元组是不可修改的,但我们可以通过“+”号创建一个新的元组

tuple1 = ('python','c#','c++','c','java')
tuple2 = ('go','vb')
tuple3 = tuple1 + tuple2 #通过“+”号创建一个新的元组
tuple1[0] = 'JS'#错误的写法,元组不支持修改
tuple1.append('JS')#错误的写法,元组没有该方法

删除元组

虽然元组是不可变的,但我们还是可以通过del来删除,与列表不同的是元组没有:pop、clear、remove等这些方法,我们要删除元组的话只能使用del来删除;

tuple = ('python','c#','c++','c','java')
del tuple#通过del删除该元组
print(tuple)#当执行了del后,再次调用会触发异常,返回变量名未定义错误。

元组的切片

Python 表达式结果描述
L[2]‘SPAM!’读取第三个元素
L[-2]‘Spam’反向读取,读取倒数第二个元素
L[1:](‘Spam’, ‘SPAM!’)截取元素

因为元组也是一个序列,所以我们也可以通过索引下标来访问元素或可以使用切片功能选取所需要的元素。

元祖其它功能

跟字符串一样,元祖也可以使用“+”、“*”号进行操作,其功能与字符串的一致,“+”号用于合并列表,“*”号用于重复列表。

  • 元祖用()表示
  • 元祖支持多种数据类型
  • 元祖可以使用下标索引或切片截取
  • 可以使用“+”号将两个元祖合并
  • 可以使用“*”号重复元祖
  • 可以使用“len”查看元祖长度
  • 定义后元祖不支持更新、删除以及修改,删除可以使用del,更新可以通过“+”号创建新的元祖
  • 内置函数:cmp 用作元素比较
  • 内置函数:len用作返回元祖长度
  • 内置函数:min用作返回元祖中最小值
  • 内置函数:max用作返回元祖中最大值

字典类型

字典简写为“dict”在python中除了列表之外,字典是最为灵活的数据类型之一,它以“{}”号标识,字典是无序的,即没有序列,不能通过下标来访问,它是由键值对组成,在专业术语中,也称作哈希表,字典中每个键都是独立的,而对应的值我们可以存储任意类型(仅限于python中内置的数据类型或自定义的数据类型),它与列表、元祖最大的区别就是它不能通过索引来定位元素,但它可以通过值来读取元素,在元祖或列表中,我们要找出一个元素,最常用的方式是通过迭代(迭代概念会在后续文章中讲解)来找出目标元素,但在字典中,我们只需读取字典的键的名称即可返回元素。

dict = {}#声明一个字典类型的变量,并且该变量没有数据
dict["name"] = 'zhansan'#给字典创建一个元素
print(dict["name"])#输出该键存储的值,将输出:zhansan
dict = {'name':'value','age':'18'}#这是另一种创建字典的方式,键值之间以“:”号间隔,而每个元素之间使用“,”号分隔。

字典类型的声明

上述代码中,我们介绍了两种方式来创建字典类型的变量,其实在python中,还有一些比较冷门的方式声明变量;比如,如果我们想声明一个空的字典变量,我们可以这么写:dict = dict(),dict = dict(name = “zhangsan”)

字典的访问

方法一:通过键访问它的值;列表和元组可以通过索引来访问元素,字典则通过键来访问对应的值,操作方式与列表/元组类似,只是中括号里的值变成了键的名称,比如:dict[“name”],如果要访问的键不存在于字典中,则会触发“KeyError”异常。

dict = {'name':'zhangsan','Age':18}
print(dict['name'])#输出zhangsan
print(dict['Age'])#输出18

如果访问的键名称不存在字典中,则会抛出异常。

print(dict['Sex'])#因为该键名称不存在字典中,所以会触发异常
Traceback (most recent call last):
  File "test.py", line 4, in <module>
    print(dict['Sex'])
KeyError: 'Sex'

方法二:通过字典内置的方法“get”来访问键对应的值;给get()传入以键作为参数,就可以得到对应的值,如果该键不存在则返回None.

dict = {'name':'zhangsan','Age':18}
print(dict.get('name'))#返回zhangsan
print(dict.get('Sex'))#因为该键不存在,所以会返回None(python中空以None表示)

更新字典

字典的类型是可变的,跟列表一样,我们可以对它进行增删改查操作,要更新字典的值,我们可以增加新的键值对,或者修改/删除现有的键值对,实际操作如下:

dict={'name':'lisi','age':18,'sex':'男'}#定义一个字典
dict['name'] = 'zhaowu'#更新name对应的值
dict['age'] = 20#更新age对应的值
dict['height'] = 167.0#往字典里新增一个元素
dict.update({'weight':50})#使用内置方法update更新字典

删除字典元素

要删除字典的键值对,我们可以使用del,或者使用字典自带的删除方法clear;这两者的区别在于前者为删除字典,后者为清空字典的元素,而两者都是直接干掉所有元素的,假如我们想删除某个元素呢?请看如下操作:

dict = {'name':'zhangsan','Age':18,'Sex':'male'}#创建一个字典并初始化了值
dict.pop('Sex')#移除Sex这个元素,并返回:{'name':'zhangsan','Age':18}
dict.popitem()#该方法适用于随机移除字典中的某一个元素

如上述代码所示,我们在删除字典的元素时可以使用pop或者是popitem,其中pop可指定删除某个特定的键值对,而popitem则是随机删除字典中的某个键值对。

字典的其他功能

  • 字典以“{}”来标识
  • 字典是一种键值对的哈希表,只能以字符串作为键,值支持任何类型
  • 字典是可变的,支持增删改查
  • 内置函数:update用作更新元素对应关系,亦可通过中括号更新“dict[‘key’]=value”
  • 内置函数:get用作查询元素对应关系,亦可通过中括号索引“dict[‘key’]”
  • 内置函数:pop用作删除字典元素,需指定key
  • 内置函数:popitem用作删除字典元素,无需指定key,随机删除
  • 内置函数:clear用作清空字典
  • 内置函数:scorted用作字典排序,根据ascii码大小排序

Set集合

集合是一个无序不重复的序列,它常用于过滤唯一性、无序列化的工作之中,集合可以使用“{}”或者“set()”方式来创建,值得注意的是,如果要创建空的集合,我们需要使用“set()”而不是“{}”,因为“{}”是创建字典的。

parm = {'itmaohome','python','c#'}#创建一个set集合
parm = set(value)#通过set传入参数生成一个集合

添加元素

添加元素我们可以使用内置的方法“add”、“update”来添加,语法如下

parm.add(x)#x是一个变量,我们可以在原有的集合上添加同类型的数据,但如果x已经存在,那么将不会执行任何操作。
parm = {'google','facebook','baidu','qq'}
parm.add('google')#集合中已存在“google”,所以不会执行任何操作。
parm.update(['it','mao','home'])#update支持多参数(列表、元祖、字典)
parm.update({'name':'zhangsan'})#添加一个字典
parm.update(('Age',18))#添加一个元祖

删除集合元素

要删除集合里的元素,我们可以使用这些内置的方法:revome、discrad、pop,操作方式如下:

parm = {'google','facebook','baidu','qq'}
parm.remove('google')#使用remove移除google这个元素,请注意,如果指定的key不存在则会触发异常。
parm.discrad('google')#使用discrad移除google这个元素,如果元素不存在不会报错
#以上均返回:{'facebook','baidu','qq'}
parm.pop()#随机删除集合的某一个元素
parm.clear()#此操作将清空集合,跟其它序列类型一样的。

集合其它功能

  • 集合以“set()”或“{}”花括号标识,创建空集合需使用“set()”而不是“{}”
  • 集合支持增删改查
  • 内置函数:add用作新增元素
  • 内置函数:clear用作清空集合
  • 内置函数:copy用作拷贝集合(浅拷贝,详情请观看视频介绍)
  • 内置函数:difference用作返回多个集合的差集
  • 内置函数:difference_update用作移除集合中的元素,该元素在指定的集合也存在
  • 内置函数:discard用作删除集合中指定的元素
  • 内置函数:intersection用作返回集合的交集
  • 内置函数:intersection_update用作返回集合的交集
  • 内置函数:isdisjoint用作判断两个集合是否包含相同的元素,没有返回True否则返回False
  • 内置函数:issubset用作判断指定集合是否为该方法参数集合的子集
  • 内置函数:issuperset用作判断该方法的参数集合是否为指定集合的子集
  • 内置函数:pop用作随机删除某一元素
  • 内置函数:remove用作移除集合中指定的元素
  • 内置函数:symmetric_difference用作返回两个集合中不重复的元素
  • 内置函数:symmetric_difference_update用作移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中
  • 内置函数:union用作返回两个集合的并集
  • 内置函数:update用于给集合添加或更新元素

总结

至此,我们已经将python的所有基本类型都讲完了,本期内容是衔接上一期的,主要讲解了元祖与字典这两个基本类型,以及集合set的作用等知识点,下篇将讲解“python之条件控制”敬请参阅!

知识共享许可协议 本文遵循 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议。未经本站授权仅允许进行复制或转载,禁止二次利用,版权归IT猫之家所有!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!