0
点赞
收藏
分享

微信扫一扫

Python数据类型哪些事

一叶轻舟okok 2021-09-28 阅读 91

1.简述

本文适合,对python没有基础想要进行一步学习的朋友们

本次,简介python的各类数据类型,后续文章载逐一展开讲述底层细节哈

学习python的第一步就是去了学习,python的数据类型。

分为可变数据类型和不可变数据类型

何为之可变与不可变

参照的对象都是以内存那块地址所存储的值的是否可以修改

可变:地址不变,值可变

不可变:地址不变,值不可变(如果要改变值,则要创建新的变量)

举个栗子

可变数据类型

不可变数据类型

Q:可能就有小伙伴就问,为什么用IDE运行上面的代码,会发现每一次的结果显示的地址都不一样?

python维护了一个小整数的对象池,你的1000超过了“小”(阈值)的定义。

小可能是指小于256的整数. 超过了小(阈值)的定义,存储机制不同。

小整数缓存在内存里,不用释放,所以每次id应该是同一个数。

大整数根据需要分配内存,不用则释放。所以id不一定是固定的数。

2.可变数据类型

可变数据类型分为:列表、字典、集合

2.1 列表(List)

python定义用[ ] 来进行标识的,是python中使用最频繁的数据类型

可以对其进行增删改查操作


#定义一个列表

L = ['J','U','E','J','I','N','G']

#增加元素操作

#3、append() 方法用于在列表的末尾追加元素

L.append('Day')

#2、extend() 不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列

L.extend('Day2')

#3、List.insert(坐标,值)

L.insert(9,'Day3')

#4、用算术“+"进行连接,两个列表进行拼接

L2 = ['Day4']

print(L+L2)

#5、乘法扩算“*”,List*3,List列表里的元素重复3次

print(L2*3)


#列表删除元素方法:

#1、del List[1]#根据索引值进行删除元素

del L[0]

#2、List.pop()#根据索引值进行删除元素

L.pop()

#3、List.remove(元素)根据元素值进行删除

L.remove()

#4、List.clear()删除列表所有元素

L.clear()


#其他操作列表元素出现的次数

#1、List.count(元素)

#2、列表长度:len(List)

#3、元素首次出现的位置:List.index(value,开始地址,结束地址)

2.2 字典

字典是一个无序可变序列,每个元素都包含了“键值对”,字典的每个键值 key=>value 对用冒号 : 分割。也是有增删更新的操作。


#定义一个字典

Dict={}

Dict=dict(name="xiaoming",age=18,job="program")

Dict=dict(["name","xiaoming"])

Dict=dict(zip(k,v))#k,v为列表,k为键,v为值

Dict=dict.fromkeys("name","age","job")


#字典访问

Dict=dict(name="xiaoming",age=18,job="program")

#通过键获取值,若键不存在,抛出异常

#通过get()方式

Dict.get("name")

#列出所有的键值对

Dict.items()

#列出所有键:

Dict.keys()

#列出所有的值

Dict.values()

#检测键值对数

len(Dict)

#检测键是否在字典里

"name" in Dict


#字典添加、修改、删除

#1、覆盖,或者新键,存在则覆盖

Dict["sex"]="girl"

#2、Dict.update(b)

#3、删除字典

del(Dict["name"])

Dict.pop("name")

#随机删除键对:

Dict.popitem()

2.3 集合

集合是无序可变的,元素不能重复。实际上,集合底层是字典实现的,集合的所有元素都是字典的“键对象”,因此是不能重复的且唯一的。集合的创建{}


a={2,3,4,5}

b=["a","b","c"]

c=set(b)

#remove())删除指定元素,clear()清空整个集合

a.remove(2)

b.clear()

集合相关的运算有:如交集、并集、差集


>>> a = set('abracadabra')

>>> b = set('alacazam')

>>> a                                 

{'a', 'r', 'b', 'c', 'd'}

>>> a - b                              # 集合a中包含而集合b中不包含的元素

{'r', 'd', 'b'}

>>> a | b                              # 集合a或b中包含的所有元素

{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}

>>> a & b                              # 集合a和b中都包含了的元素

{'a', 'c'}

>>> a ^ b                              # 不同时包含于a和b的元素

{'r', 'd', 'b', 'm', 'z', 'l'}

集合的相关的操作有增删改查等


#添加运输

s.add( x )

#移除元素

s.remove( x )

s.discard( x )

s.pop()

#计算个数

len(s)

#清空集合

s.clear()

#判断某个元素在不在

x in s

3. 不可变数据类型

不可变数据类型分为:数字、字符串、元组

3.1 数字

Python 数字数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。


#定义一个数字

var1 = 1

python数字类型转换有四种形式

  • int(x) 将x转换为一个整数。

  • float(x) 将x转换到一个浮点数。

  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

Python 数字运算包含 +, -, * 和 /,//,%,**(幂运算)


>>> 2 + 2

4

>>> 50 - 5*6

20

>>> (50 - 5*6) / 4

5.0

>>> 8 / 5  # 总是返回一个浮点数

1.6

>>> 17 / 3  # 整数除法返回浮点型

5.666666666666667

>>>

>>> 17 // 3  # 整数除法返回向下取整后的结果

5

>>> 17 % 3  # %操作符返回除法的余数

2

>>> 5 * 3 + 2

17

>>> 5 ** 2  # 5 的平方

25

>>> 2 ** 7  # 2的7次方

128

3.2 字符串

可以使用引号( ' 或 " )来创建字符串。

创建字符串很简单,只要为变量分配一个值即可

var1 = 'Hello World!'

字符串切片[]:

1、[Start:end] 包头不包尾

2、正向搜索、反向搜索

3、[::-1]逆向输出,反向输出

4、split()分割字符串;join()连接字符串

“+”每次都创建新的对象

“join()”仅创建一次对象

5、字符串驻留:符合标识符规则(仅包含数字、下划线,字母)回启用字符串驻留机制

3.3 元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组是不可变类型的,因此它只有访问、修改、删除的操作


#创建元组示列

tuple=(1,2,3,4)

tuple=1,2,3,4

tuple=([1,2,3,4])

tuple=("123456")

tuple[1:2]


#元组相关操作

#访问元素tuple[下标]

tuple[0]

#删除元素

del tup

#修改元素

# 以下修改元组元素操作是非法的。

# tuple[0] = 100

# 创建一个新的元组

tuple3 = tuple + tuple2

print(tuple3)

好啦,本次先概述到这里,如有错误的地方,欢迎大佬们指正

python学习的路上,一起加油

我是初学python的盆友圈的小可爱,下期在再见

举报

相关推荐

0 条评论