Python内置数据类型

Python内置数据类型




python中数据类型并不需要显示的定义,它会根据初始化赋值的情况来分析其类型,并在内部对其进行跟踪


python内置数据类型


Booleans:[布尔型]或为True或为False


Numbers : 可以是Intgers[整数]、Floats[浮点数]、Fractions[分数]甚至是Complex Number[复数]。


Strings:[字符串型] 是Unicode字符序列


Byte:[字节]和Byte Array[字节数组]


Lists[列表]是值得有序序列


Tuples[元组]是有序而不可变的值序列


Sets[集合]是装满无序值得包裹


Dictionaries[字典]是键值对的无序包裹




math模块下的函数:
math.pi :代表一个π的常量,表示圆周率
三角函数
math.sin() 
math.cos()
math.tan()




列表、元组、集合、字典


列表是Python的助理数据类型。


列表常用函数:


格式:
a_list = ['a', 'b', 'new', 'mpilgrim']


append() 在列表末尾最佳元素,可以是任何数据类型,但是都是以一个元素添加到列表
extend() 方法值接受一个参数,而该参数总是一个列表
insert() 接受两个参数,第一个参数为列表索引,第二个参数为列表插入列表的值


count()方法返回列表中某个特定值出现的次数


'a' in a_list: in 运算符用来判断某个值是否出现在列表中,in运算符总是返回True或False;


index()方法将查找某个值在列表中第一次出现。并返回出现位置的索引值。如果没有值,index()方法将会引发一个例外


del a_list[1] 可使用del语句从列表中删除某个特定元素


删除索引1之后再访问索引1 将不会导致错误。被删除元素后的所有元素将移动他们的位置以'填补'被删除元素所产生的'缝隙'


a_list.remove('列表里的值'):还可以通过remove()方法从列表中删除某个元素。remove()方法接受一个value参数,并删除列表中改值得第一次出现。同样,被删除元素之后的所有元素将会将索引位置下移,以填补缝隙


a_list.pop():如果不带参数调用,pop()列表方法将删除列表中最后的元素,并返回所删除的值。 可以从列表中pop[弹出]任何元素。只需要给pop()方法一个位置索引值。他将删除该元素,将其后所有元素移位以'填补'缝隙,
然后返回它删除的值。
对空列表调用pop()将会引发一个例外




元组:
元组是不可变的列表。一旦创建之后,没有任何途径可以改变列表元素,除非把元组转换为列表


格式:
a_tuple = ("a", "b", "mpilgrim", "z", "example")


元组的定义和李彪相同, 除了整个元素的集合都用圆括号,而不是方括号闭合
和列表一样,元组的元素都有确定的顺序。元组的索引页是以零为基点的,和列表一样,因此非空元组的第一个元素总是a_tuple[0].
负的索引从元组的尾部开始计算,这和列表也是一样的。
元组也可以进行切片操作。对列表切片可以得到新的列表;对元组切片可以得到新的元组。


元组和列表的主要区别是元组不能进行修改。用技术术语来说,元组是不可变的。从实践的角度来说,没有可用于修改元组的方法。


元组的优势:
元组的速度比列表快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么请使用元组替代列表。
对不需要改变的数据进行'写保护'将使得代码更安全。使用元组替代列表就像是有一条隐含的assert语句显示该数据是常量特别的想法必须重写。
一些元组可用做字典键(特别是包含字符串,数值和其它元组这样的不可变数据的元组)。列表永远不能当做字典键使用,应为列表不是不可变的。


集合:
集合set是装有独特值得无序'袋子'。一个简单的集合可以包含任何数据类型的值。如果有两个结合,则可以执行像联合、交集以及集合求差等标准集合运算


格式:
a_set = {1}


创建一个集合,只要将值放置于花括号之间({})
实际上,集合以类的形式实现,但目前还无须考虑这一点
要创建多只集合,请将值用逗号分开,并用花括号将所有值包裹起来。




要从列表创建集合,可使用set()函数。(懂得如果实现集合的学究可能指出这实际上并不是调用某个函数,而是对某个类进行实例化。我保证在本书稍后的地方将会学到其中的区别。目前而言,仅需知道set()行为与函数类似
以及它返回一个集合


正如我之前提到的,简单的集合可以包括任何数据类型的值。而且,如我之前所提到的,结合是无序的。该集合并不记得用于创建它的列表中元素的最初顺序。如果向结合中添加元素,他也不会记得添加的顺序


初始的列表并不会发生变化




修改集合:
有两种方法可向现有集合中添加值:add()方法和update()方法


add()方法接受单个可以是任何数据类型的参数,并将该值添加到集合之中
集合是装唯一值得袋子,如果试图添加一个结合中已有的值,将不会发生任何事情。


update()方法仅接受一个集合作为参数,并将其所有成员添加到初始列表中。其行为方式就像是对参数集合中的每个成员调用add方法
由于集合不能包含重复的值,因此重复的值将会被忽略
实际上,可以带任何数量的参数调用update()方法。如果调用时传递了两个结合,update()将会被每个集合中的每个成员添加到初始的集合当中(丢弃重复值)
update()方法还可以接收一些其它的数据类型的对象作为参数,包括列表。如果调用时传入列表,update()将会把列表中所有的元素添加到初始结合中。


从集合中删除元素


有三种方法可以用了从集合中删除某个值。discard()、remove()、pop()


discard()接受一个单值作为参数,并从集合中删除改值
如果针对一个集合不存在的值调用discard()方法,它不进行任何操作。不产生错误;只是一条命令
remove()方法也接受一个单值作为参数,也从集合中将其删除
区别在于:如果该值不在集合中,remove()方法引发一个keyError例外


pop()方法从集合中删除某个值,并返回该值。然而,由于集合是无序的,并没有最后一个值得概念,因此无法控制删除的是哪一个值。他基本上是随机的。
clear()方法删除集合中所有的值,留下一个空集合。他等价于a_set=set(),改语句创建一个新的空结合,并用之覆盖a_set变量的之前的值。
试图从空结合中弹出某值将会引发KeyError例外


要检测某个值是否是集合的成员,可使用in运算符。其工作原理和列表一样
union()方法返回一个新集合,其中装着在两个集合中出现的元素。
intersection()方法返回一个新集合,其中装着同时在两个集合中出现的所有元素
differenct()方法返回的新集合中,装着所有在a_set出现但未在b_set中的元素
symmetric_difference()方法返回一个新集合,其中装着所有只在其中一个集合中出现的元素 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值