首页 > 其他 > 详细

数据类型

时间:2019-03-22 20:26:22      阅读:174      评论:0      收藏:0      [点我收藏+]

一.可变与不可变

可变:值改变,id没有跟着改变,证明就是在改变原值

q=[‘qwe‘,123,[‘qw‘,123]]
print(id(q))=====>>2668034070664
q[0]=‘QWE‘
print(q)========>>>>q=[‘QWE‘, 123, [‘qw‘, 123]]
print(id(q))=====>>2668034070664

 

不可变:值改变,id也跟着改变,证明是产生了新的值

q =10
print(id(q))=====>>>1368097168
q=11
print(id(q))=====>>>1368097200

二.字符串str

字符串的定义:msg=‘hello‘ # msg=str(‘hello‘)

数据转换:所有类型都可以被str转换成字符串类型
res=str([1,2,3])
print(res,type(res))

[1, 2, 3] <class ‘str‘>

内置方法:

1、按索引取值(正向取+反向取) :只能取

技术分享图片
msg=‘hello‘
print(msg[0],type(msg[0]))=====>>>h <class ‘str‘>
print(msg[-1])=====>>>o
print(msg[-2])=====>>>l
View Code

2、切片(顾头不顾尾,步长)

技术分享图片
msg=‘hello world‘
res=msg[0:3:1] # 0 1 2
print(res)====>>>hel
print(msg)====>>>hello world
View Code

 

3、长度len

技术分享图片
msg=‘qwerteryerhrt‘
print(len(msg))=====>>>13
View Code

4、成员运算in和not in:判断一个小字符串是否存在于大字符串中

技术分享图片
msg=‘qwerteryerhrt‘
print(‘qwe‘ in(msg))=====>>>True
print(‘cvb‘ in(msg) )=====>>>False
View Code

5、移除空白strip:用来去除字符串左右两边的字符,不指定去除字符,默认去除空格

技术分享图片
实例一:mag=‘    qwe    ‘
print(mag.strip())=====>>>qwe

实例二:name=input(‘username:‘).strip()
pwd=input(‘password:‘).strip()
if name==‘qwe‘ and pwd==‘123‘:
    print(‘厉害‘)
else:
    print(‘错了‘)

 username:       qwe
password:  123
厉害
View Code

6、切分split:针对有规律的字符串,按照某种分隔符列成列表

技术分享图片
实例一:info=‘egon:18:male‘
res=info.split(‘:‘)
print(res,type(res))
print(res[0],res[1])

[‘egon‘, ‘18‘, ‘male‘] <class ‘list‘>
egon 18
实例二:qwe=‘qwe.qd.qwd|faf‘
print(qwe.split(‘.‘))

[‘qwe‘, ‘qd‘, ‘qwd|faf‘]

    join的使用
    q=[‘qwe‘,‘123‘,‘qwwe‘]
    qwe=‘:‘.join(q)
    print(qwe)

    qwe:123:qwwe
View Code

7、循环


技术分享图片
for item in ‘hello‘:
    print(item)

h
e
l
l
o
View Code

需要掌握

1、strip去两边,lstrip去左边,rstrip去右边

技术分享图片
print(‘*************eron*******‘.strip(‘*‘))去两边
print(‘******egon*******‘.lstrip(‘*‘))去左边
print(‘******egon*******‘.rstrip(‘*‘))去右边

eron
egon*******
******egon
View Code

2、lower字母小写,upper字母大写

技术分享图片
print(‘Abc123‘.lower())字母小写
print(‘Abc123‘.upper())字母大写

abc123
ABC123
View Code

3、startswith以什么开头,endswith以什么结尾

技术分享图片
msg=‘qwe is asd‘
print(msg.startswith(‘q‘))判断是否以什么开头
print(msg.endswith(‘d‘))判断以什么结尾

True
True
View Code

4、format的三种玩法

技术分享图片
res=‘my name is {name} ma age is {age}‘.format(name=‘egon‘, age=18)
print(res)
res=‘my name is {} ma age is {}‘.format(18,‘egon‘)
print(res)
res=‘my name is {1} ma age is {0}‘.format(18,‘egon‘)
print(res)

my name is egon ma age is 18
my name is 18 ma age is egon
my name is egon ma age is 18
View Code

5、split切分,rsplit右切分

技术分享图片
msg = ‘qwe: is: asd‘
print(msg.split(‘:‘,1))切分
print(msg. rsplit(‘:‘,1))右切分

[‘qwe‘, ‘ is: asd‘]
[‘qwe: is‘, ‘ asd‘]
View Code

6、replace替换

技术分享图片
msg = ‘qwe id qwe acsv‘
print(msg.replace(‘qwe‘,‘asd‘))
print(msg.replace(‘qwe‘,‘asd‘,1))

asd id asd acsv
asd id qwe acsv
View Code

7、isdigit判断是否为纯数字字符串

技术分享图片
print(‘123344‘.isdigit())
print(‘123qqwe123‘.isdigit())

True
False
View Code
了解
1、find,rfind,index,rindex,count
find查找不到会返回一个-1
indxe查找不带会报错
count计数
2、center,ljust,rjust,zfill
填充 .center(50,*)
print(‘egon‘).center居中填充
4、captalize首字母大写
swapcase大小写转换
title每个单词字母
5、is数字系列
num1=b‘4‘ #bytes
num2=‘4‘ #unicode,python3中无需加u就是unicode
num3=‘四‘ #中文数字
num4=‘Ⅳ‘ #罗马数字

bytes与阿拉伯数字组成的字符串
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())

阿拉伯数字组成的字符串
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal())

阿拉伯数字\中文\罗马组成的字符串
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())

总结:
存一个值
有序
不可变

列表list:

作用:多个装备,多个爱好,多门课程,多个女朋友等

定义:[]内可以有多个任意类型的值,逗号分隔
my_girl_friends=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,4,5] #本质my_girl_friends=list([...])

数据类型转换:但凡能被for循环遍历的数据类型都可以传给list
res=list(‘hello‘)=====>>>[‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]
res=list({‘a‘:1,‘b‘:2,‘c‘:3}) =====>>>[‘a‘, ‘b‘, ‘c‘]
print(res)

优先掌握的操作:

1、按索引存取值(正向存取+反向存取):即可存也可以取

技术分享图片
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
print(l[0])=====>>>>a
print(l[-1])=====>>>e
print(id(l))=====>>>1498890049672
l[0]=‘A‘
print(l)====>>>[‘A‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]
print(id(l))=====>>>1498890049672
强调强调强调!!!:对于不存在的索引会报错
l[5]=‘AAAA‘=====>>>报错

dic={"k1":111}
dic[‘k2‘]=2222
print(dic)====>>>{‘k1‘: 111, ‘k2‘: 2222}
View Code

2、切片(顾头不顾尾,步长)

技术分享图片
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
print(l[1:4])====>>>[‘b‘, ‘c‘, ‘d‘]
print(l[::-1])=====>>>[‘e‘, ‘d‘, ‘c‘, ‘b‘, ‘a‘]
View Code

3、长度

技术分享图片
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
print(len(l))=====>>>5
View Code

4、成员运算in和not in

技术分享图片
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
print(‘a‘ in l)====>>>Ture
View Code

5、追加

技术分享图片
.append()在最后加值
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
l.append(‘xxx‘)
l.append(‘yyy‘)
print(l)====>>>[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘xxx‘, ‘yyy‘]
.insert()在指定索引前面加值
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
l.insert(3,‘xxxx‘)
l.insert(0,‘yyy‘)
print(l)====>>>[‘yyy‘, ‘a‘, ‘b‘, ‘c‘, ‘xxxx‘, ‘d‘, ‘e‘]
.extend
l=[‘aaa‘,‘bb‘,345]
l.extend((‘1‘,‘2‘,‘3‘))
print(l)=====>>>[‘aaa‘, ‘bb‘, 345, ‘1‘, ‘2‘, ‘3‘]
View Code

6、删除

技术分享图片
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]

del是一种通用的删除操作,没有返回值
del l[0]
print(l)====>>>[‘b‘, ‘c‘, ‘d‘, ‘e‘]

dic={‘k1‘:1}
del dic[‘k1‘]
print(dic)====>>>{}
clear是全部清除
l=[‘aaa‘,‘bb‘,345]
l.clear()
print(l)=====>>>[]

l.remove(指定要删除的那个元素),没有返回值
res=l.remove(‘b‘)
print(l)====>>>[‘a‘,‘c‘, ‘d‘, ‘e‘]
print(res)====>>>None

l.pop(指定要删除的那个元素的索引),返回刚刚删掉的那个元素
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
l.pop(-1)
res=l.pop(1)
print(l)====>>>[‘a‘, ‘c‘, ‘d‘]
print(res)====>>>b
View Code

7、循环

技术分享图片
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]
for item in l:
    print(item)
View Code

.reverse()反转
l=[‘aaa‘,‘bb‘,345]
l.reverse()
print(l)=====>>>[345, ‘bb‘, ‘aaa‘]

.sort()只有在类中中所有元素都是同种类型的情况下才能用sort排序
l=[‘z‘,‘d‘,‘a‘]
l.sort()
print(l)====>>>>[‘a‘, ‘d‘, ‘z‘]

 

数据类型

原文:https://www.cnblogs.com/wangtenghui/p/10580733.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!