python的数据类型

目录

1、字符串

 序列操作:

字符串具有不可变性:

字符串的方法:

2、列表

定义:

序列操作:

列表的方法:

推导

3、字典

映射操作

嵌套

if测试

键的排序:for循环

4、元组:

为什么使用元组

5、文件

文件的创建和读取

类型的检验


1、字符串

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

 序列操作:

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

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

C:\Users\pc>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 "<stdin>", line 1, in <module>
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('hello\n')
6
>>> f.write('world\n')
6
>>>
>>>
>>> f=open('data.txt','r')    #文件的读取   'r'代表读取,默认模式为'r'
>>> text=f.read()
>>> print(text)
hello
world

类型的检验

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

>>> L=[1,'spam',1.2]
>>> type(L)
<class 'list'>
>>> if type(L)==type([]):   #检验类型
...    print('yes')
...
yes
>>> if type(L)==list:
...    print('yes')
...
yes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值