栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python的数据类型

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python的数据类型

目录

1、字符串

 序列操作:

字符串具有不可变性:

字符串的方法:

2、列表

定义:

序列操作:

列表的方法:

推导

3、字典

映射操作

嵌套

if测试

键的排序:for循环

4、元组:

为什么使用元组

5、文件

文件的创建和读取

类型的检验


1、字符串

字符串是由单字符组成的序列(序列:一个包含其他对象的有序集合)

 序列操作:

(1)内置函数len求取长度

(2)序列支持分片操作(slice),一般形式为X[I:J]表示在X中从偏移量为I直到但不包括J的内容。左边I默认为0,右边J默认为序列长度。

C:Userspc>python
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> s='spam'
>>> len(s)
4
>>> s[:3]
'spa'
>>> s[:]
'spam'
>>> s+'xyz'
'spamxyz'
>>>

字符串具有不可变性:

(1)字符串在python中具有不可变性,即创建后不能在原位置改变。(python中每一个对象都可归为不可变的或是可变的,数字、字符串、元组不可变,列表、字典可变)

(2)若想改变字符串的值,则需将其转化为列表

>>> s='spam'
>>> s[0]='z'
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'str' object does not support item assignment
>>> L=list(s)
>>> L[0]='z'
>>> ''.join(L)
'zpam'
>>>

字符串的方法:

方法:依赖作用于对象上的函数。序列之间的操作是通用的,但对不同数据类型方法不通用

(1)S.find(a)  查找子字符串的操作,返回子字符串的位置

(2)S.replace(a,b)  在S中查找a并将其替换为b

(3)格式化操作:

>>> '{0},egg,and,{1}'.format('spam','SPAM')
'spam,egg,and,SPAM'
>>> '{},egg,and,{}'.format('spam','SPAM')
'spam,egg,and,SPAM'

2、列表

定义:

任意类型对象的有序集合。没有固定的大小,是最通用的序列

序列操作:

列表具有和字符串相同的序列操作,如求长度的len(),索引以及切片等

列表的方法:

(1)L.append()  在列表尾部插入给定的一项

(2)L.pop()  移除给定偏移量的一项,并返回这一项

L=[123,'spam',1.23]
>>> L.append('LIU')
>>> L
[123, 'spam', 1.23, 'LIU']
>>>
>>> L.pop(2)
1.23
>>> L
[123, 'spam', 'LIU']

(3)L.sort()  按照升序进行排列

>>> M=['bb','aa','cc']
>>> M.sort()
>>> M
['aa', 'bb', 'cc']

推导

使用推导可以简单的创建列表作为结果,但是能够在任何可迭代对象上进行迭代。

内置函数range会生成连续的整数,使用list()可以显示

M=[[1,2,3],[4,5,6],[7,8,9]]
>>> M
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> col2=[row[1] for row in M]
>>> col2
[2, 5, 8]
>>>
>>>
>>> doubles=[c * 2 for c in 'spam']
>>> doubles
['ss', 'pp', 'aa', 'mm']
>>> list(range(4))
[0, 1, 2, 3]

3、字典

字典:字典不是序列,而是一种映射。字典通过键来存储值,将键映射到值上。即key-->value

映射操作

(1)初始化

(2)键相当于列表中的索引

>>> D={'name':'liu','gender':'man'}               #使用大括号进行初始化
>>> D['name']
'liu'                                             #键相当于索引
>>>
>>>
>>> D={}
>>> D['name']='liu'                               #初始化后可进行添加
>>> D['gender']='man'
>>> D
{'name': 'liu', 'gender': 'man'}
>>>
>>> D=dict(name='liu',gender='man')               #使用dict进行初始化
>>> D
{'name': 'liu', 'gender': 'man'}
>>>
>>>
>>> D=dict(zip(['name','gender'],['liu','man']))  #使用zip将键和值进行配对
>>> D
{'name': 'liu', 'gender': 'man'}

嵌套

字典中可以进行嵌套,即值可以是任何数据类型

嵌套允许轻松的建立复杂的数据结构,不必向c语言一样建立类似的结构会困难的多

if测试

判断某个键是否存在于字典中

>>> D={'name':'liu','gender':'man'}
>>> 'f'in D
False
>>> if not 'f' in D:
...    print('missing')
...
missing

键的排序:for循环

字典中的键是没有顺序的排列的,若确实需要强加上顺序,可用内置函数sorted()

>>> D={'a':'1','c':'3','b':'2'}
>>> for key in sorted(D):
...    print(key,'->',D[key])
...
a -> 1
b -> 2
c -> 3

4、元组:

元组是具有不可变性的列表,它具有序列的操作,和两个专属方法。

元组的初始化使用()

为什么使用元组

使用元组的关键在于不可变性

>>> T=(1,2,3,4)            #初始化
>>> len(T)
4
>>> T+(5,6)                #使用+操作后也不会改变原来元组的值
(1, 2, 3, 4, 5, 6)
>>> T
(1, 2, 3, 4)
>>>
>>> T.index(2)             #元组的专属操作
1
>>> T.count(3)
1

5、文件

文件对象是python调用电脑上各种形式的文件的主要接口

文件的创建和读取
>>> f=open('data.txt','w')    #文件的写入  'w'代表模式写入
>>> f.write('hellon')
6
>>> f.write('worldn')
6
>>>
>>>
>>> f=open('data.txt','r')    #文件的读取   'r'代表读取,默认模式为'r'
>>> text=f.read()
>>> print(text)
hello
world

类型的检验

内置函数type会返回对象的类型

>>> L=[1,'spam',1.2]
>>> type(L)

>>> if type(L)==type([]):   #检验类型
...    print('yes')
...
yes
>>> if type(L)==list:
...    print('yes')
...
yes

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/530239.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号