Python入门 - 数据类型

数据类型

1、可变数据(list、dict、set)

允许变量的值发生变化,如果对变量进行append、+=等这种操作后,只是改变了变量的值,而不会新建一个对象,变量引用的对象的地址也不会变化。不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于相同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。

1.1 list

列表(list)有序和可更改的集合,允许重复的成员。在Python中,元组是用中括号编写的。

list_test = ["apple", "banana", "cherry"]
print(list_test)
['apple', 'banana', 'cherry']
# list_test(列表)的类型
type(list_test)
<class 'list'>
# list_test(列表)可使用的方法【“append” ~ “sort”】
dir(list_test)
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

1.2 set

集合(set)是无序和无索引的集合,没有重复的成员。在Python中,元组是用大括号编写的。

set_test = {"apple", "banana", "cherry"}
print(set_test)
{'banana', 'cherry', 'apple'}
# set_test(集合)的类型
type(set_test)
<class 'set'>
# set_test(集合)可使用的方法【“add” ~ “update”】
 dir(set_test)
['__and__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

1.3 dict

字典(dict)是无序,可变和有索引的集合,没有重复的成员。在Python中,元组是用大括号编写的,并使用键值对的方式存放元素。

dict_test = {"brand": "Porsche", "model": "911", "year": 1963}
print(dict_test)
{'brand': 'Porsche', 'model': '911', 'year': 1963}
# dict_test(字典)的类型
type(dict_test)
<class 'dict'>
# dict_test(字典)可使用的方法【“clear” ~ “values”】
 dir(dict_test)
['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

2、不可变数据(number、string、tuple)

不允许变量的值发生变化。如果改变了变量的值,相当于是新建了一个对象。而对于相同的值的对象、在内存中则只有一个对象,内部会有一个引用计数来记录有多少个变量引用这个对象。

2.1 number

number其实就是代表数字 / 数值。
python中只存在整型(int)和浮点型(float)两种number数据类型,其中的浮点型不区分单双精度

2.2 string

单引号 ’ ’ 主要用来框住字符串

school = 'huazhu'
print(school)
'huazhu'

双引号 " " 主要用来框住字符串

addr = "guangzhou"
print(addr)
'guangzhou'

三引号 (“”" “”" / ‘’’ ‘’') 【双引号、单引号皆可】
框内可以实现换行

print("""
hello world
python test
""")

hello world
python test

2.3 tuple

元组是有序且不可更改的集合。在Python中,元组是用圆括号编写的。

tuple_test = ("apple", "banana", "cherry")
print(tuple_test)
('apple', 'banana', 'cherry')
# tuple_test(元组)的类型
type(tuple_test)
<class 'tuple'>
# tuple_test(元组)可使用的方法【“count” & “index”】
dir(tuple_test)
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

3、序列

用来存储多个值的连续内存空间的数据类型。

3.1 有序序列

按照顺序进行元素的排列并且可以使用索引的方式去对这个序列进行切片的序列,如字符串(string)、列表(list)、元组(tuple)等。
有序序列可以使用sort或者sorted两个函数进行序列的排序,并且可以在迭代时按照序列的索引获取序列中的元素。

3.2 无序序列

使用随机排列方式的序列,其中的元素不允许重复,如字典(dict)、集合(set)等。
集合可以通过循环输出元素,字典可以通过键匹配对应的值输出元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值