首页 > 其他 > 详细

数据类型

时间:2019-03-22 20:26:22      阅读:168      评论: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 版权所有
打开技术之扣,分享程序人生!