数字类型

整型int

  作用:年纪,等级,身份证号,qq号等与整型数字有关

  定义: 

 age=10 #本质age=int(10)

浮点型float

  作用:薪资,身高,体重等与浮点数相关

salary=3.1#本质salary=float(3.1)

该类型总结

只能存一个值

不可变类型

x=10.3
print(id(x))
x=10.4
print(id(x))

字符串类型

1.用途:记录描述性的状态,比如人的名字、地址、性别

2.定义方式:在“”,‘’,“”“”“”内包含一系列的字符

msg='hello'#msg=str(hello)

3.常用操作+内置的方法

优先掌握的操作:

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

msg='hello world'
print(msg[4])
print(msg[-1])

2)切片(顾头不顾尾,即前闭后开区间)

msg='hello world'
print(msg[0:2])
print(msg)#没有改变原值
print(msg[0:5:2])
print(msg[0:-1:2])

3)长度len

msg='hello world'
print(len(msg))

4)成员运算in和not in:判断一个子字符串是否存在一个大的字符串中

msg='hello world'
print('he' in msg)
print('alex' in msg)

5)去掉字符串左右两边的字符strip,不管中间的

user='    egon     '
print(user.strip())
user="*******egon********"
print(user.strip('/*'))

user=input('>>:').strip()

6)切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值

msg="root:123456:0:0::/root:/bin/bash"
res=msg.split(':')
print(res[0])

7)循环

msg='hello'
for i in msg:
    print(i)

需要掌握的

1)strip,lstrip,rstrip

print('*****egon*****'.lstrip('*'))
print('*****egon*****'.rstrip('*'))
print('*****egon*****'.strip('*'))

2)lower,upper

msg='aABBBBb'
res=msg.lower()
print(res)
print(msg)

3)startwith,endwith

msg='alex is dsb'
print(msg.startswith('alex'))
print(msg.startswith('xuxu'))
print(msg.endswith('sb'))
print(msg.endswith('gua'))

4)format的三种玩法

print('my name is {name} my age is {age}'.format(name='alex',age=18))
print('my name is {} my age is {}'.format('alex',18))
print('my name is {0}{0} my age is {1}'.format('alex',18))

5)split,rsplit

msg='get|a.txt|333331231'
# print(msg.split('|',1))
print(msg.split('|',1))
print(msg.rsplit('|',1))

6)join

msg='get|a.txt|333331231'
l=msg.split('|')
print(l)
src='|'.join(l)
print(src)
l=['a','b','c']
l2=('d','e','f')
print('|'.join(l))
print('>'.join(l2))

7)replace替换

msg='alex say i have one tesla,alex is alex hahaha'
print(msg.replace('alex','sb'))

8)isdigit判断是否为纯数字

print('10.1'.isdigit())
'.isdigit())

需要了解的内置方法

1)find,rfind,index,rindex,count

msg='hello alex is sb'
print(msg.find('alex'))
print(msg.find('alex',0,3))
print(msg.index('alex'))
print(msg.index('alex',0,3))
res='alex love alex'
print(res.count('alex'))

2)center,ljust,rjust,zfill

print('egon'.center(50,"*"))
print('egon'.ljust(50,"*"))
print('egon'.rjust(50,"*"))
print('egon'.zfill(50))

3)capatalize,swapcase,title

print('hello'.capitalize())#首字母大写
print('hElLo'.swapcase())#大小写互换
print('egon is nb'.title())#每个单词首字母大写

4)is系列

'.isdigit())#字符串是否为纯数字
print('10.1'.isdigit())
print('abc你'.isalpha())# 字符串中包含的是字母或者中文字符
print('abc12'.isalnum())# 字符串中包含的是字母(中文字符)或数字

强调:

1)字符串之间可以相加,但是必须是字符串与字符串相加,其他类型数据则报错

msg1='hello'
msg2='world'
print(msg1+msg2)

2)字符串还可以做乘法

msg1='hello'
print(msg1*10)

3)字符串相加是新申请内存空间然后拷贝相加的字符串到新的内存中,效率不高,尽量避免这么使用

该类型总结

1.存一个值

2.有序

3.不可变

列表类型

1.作用:记录/存多个值,可以方便的取出指定位置的值

2.定义:在[]内用逗号分隔开多个任意类型的值

l=[10,3.1,'egon',['a','b'],{'name':'lxx','age':18},None]# l=list([10,3.1,'egon',['a','b']])
print(l[0])
print(l[3][1])

3.常用操作+内置方法

优先掌握的操作

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

l=['egon','lxx','yxx']
print(l[0])
print(l[-2])

2)切片(顾头不顾尾)

l=['egon','lxx','yxx',444,555,66666]
print(l[0:2])
print(l[::2])

3)长度

l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
print(len(l))

4)成员运算in和not in

l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
print('egon' in l)
print(88 in l)

5)追加

l=['egon','lxx','yxx']#只能追加一项
l.append('alex')
print(l)

6)往指定索引前插入值

l=['egon','lxx','yxx']
l.insert(1,'dsb')
print(l)

7)删除

方式1:

l=['egon','lxx','yxx']#单纯的删除值,没有返回值
del l[0]
print(l)

方式2:

l=['egon','lxx','yxx']
res=l.remove('lxx')#指定要删除的值,返回的值是None
print(res)

方式3:

l=['egon','lxx','yxx',11,22]
res1=l.pop(0)#从列表中拿走一个值,返回值是被删除的值
res2=l.pop()#默认是从末尾开始删
print(res1,res2,l)

8)循环

l=['egon','lxx','yxx']
for item in l:
    print(item)

需要掌握的操作

1)extend添加多项

items=['a','b','c']
s=['alex','lxx']
items.extend(s)
print(items)

2)reverse倒序

l=['egon','egon','lxx','yxx',444,555,66666]
l.reverse()
print(l)
print()

3)sort排序,不能用于不同类型的数据,否则报错

items=[1,5,2]
items.sort()
print(items)

4)

l=['egon','egon','lxx','yxx',444,555,66666]
print(l.count('egon'))
print(l.index('egon'))#查找不到则会报错
l.clear()#清空列表内容
print(l)

该类型总结

1.存多个值

2.有序

3.可变

l=['a','b','c']
print(id(l))
l.append('d')
print(id(l))

元组类型

1.用途:记录多个值,当多个值没有改的需求,此时用元组更合适(元组中的元素的内存,即id值不能改变)

2.定义方式:在()内用逗号分隔开多个任意类型的值

t=(1,1.3,'xx',('a','b'),[1,2]) 

3.常用操作+内置方法

优先掌握的操作:

基本和列表类似

该类型总结:

1.存多个值

2有序

3不可变

补充:不可变类型==》可hash类型

可变类型===》不可hash类型

字典类型

1.用途:记录多个值,每一个值都对应的key用来描述value的作用

2.定义方式:在{}内用逗号分隔开多个key:value,其中value可以是任意类型,但是key必须是不可变类型,通常情况下应该是str类型

dic={0:'aaa',1:'bbb',2:'cccc'} #dic=dict({0:'aaa',1:'bbb',2:'cccc'})
print(dic,type(dic))
print(dic[0])

用法

#用法一:
dic=dict(x=1,y=2,z=3)
print(dic)

#用法二:
userinfo=[
    ['name','egon'],
    ['age',18],
    ['sex','male']
]

3.常用操作+内置方法

优先掌握的操作

1)按key存取值

dic={'name':'egon'}
print(dic['name'])

2)长度len

dic={'name':'egon','age':18,'name':'EGON','name':'XXXX'}
print(dic)
print(len(dic))

3)成员运算in和not in:字典的成员运算判断的是key

dic={'name':'egon','age':18,}
print(18 in dic)
print('age' in dic)

4)删除

dic={'name':'egon','age':18,}
# 通用
del dic['name']#没有返回值
print(dic)
del dic['xxx'] ##key不存在则报错

使用pop删除

dic={'name':'egon','age':18,}
# res=dic.pop('aa')#不存在的key则报错
res=dic.pop('name')#返回值为对应的value
print(res,dic)

使用popitem删除

di={'name':'alex','age':18,'addr':'beijing'}
res=di.popitem()#随机删除一项,返回值为key:value字典
print(res,di)#工作时如果遇到需要逐一删除项的工作,用popitem方法效率很高

5)键keys(),值values(),键值对items()

dic={'name':'egon','age':18,}
print(dic.keys(),dic.values(),dic.items())

6)循环

dic={'name':'egon','age':18,'sex':'male'}
for k in dic.keys():
    print(k,dic[k])

7)get

dic={'name':'egon','age':18,'sex':'male'}
print(dic.get('name'))#返回name对应的value
print(dic.get('aa'))#没有对应的value,返回None

需要掌握的操作

1)fromkeys的用法

l=['name','age','sex']
dic = {}
dic=dic.fromkeys(l)
print(dic)

2)update

old_dic={'name':'egon','age':18,'sex':'male'}
new_dic={'name':'EGON','x':1,'y':2}
old_dic.update(new_dic)
print(old_dic)

4)setdefault:有则不动/返回原值,无则添加/返回新值

dic={'name':'egon','age':18}
res1=dic.setdefault('name','EGON') # 字典中已经存在key则不修改,返回已经存在的key对应的value
print(res1,dic)
res2=dic.setdefault('addr','shanghai')
print(res2,dic)

该类型总结

1.存多个值

2.无序

3.可变

集合类型

1.用途:关系运算,去重

2.定义方式:在{}内用逗号分开的多个值

集合的三大特性:

2.1每一个值都必须是不可变类型

2.2元素不能重复

2.3集合内元素无序

3.常用操作+内置方法

pythons={'李二丫','张金蛋','李银弹','赵铜蛋','张锡蛋','alex','oldboy'}
linuxs={'lxx','egon','张金蛋','张锡蛋','alex','陈独秀'}
# 取及报名python课程又报名linux课程的学员:交集
print(pythons & linuxs)
# print(pythons.intersection(linuxs))

# 取所有报名老男孩课程的学员:并集
print(pythons | linuxs)
# print(pythons.union(linuxs))

# 取只报名python课程的学员: 差集
print(pythons - linuxs)
# print(pythons.difference(linuxs))

# 取只报名linux课程的学员: 差集
print(linuxs - pythons)
# print(linuxs.difference(pythons))

# 取没有同时报名两门课程的学员:对称差集
print(pythons ^ linuxs)
# print(pythons.symmetric_difference(linuxs))

是否相等

s1={1,2,3}
s2={3,1,2}
print(s1 == s2)

父集:一个集合是包含另外一个集合

# 父集:一个集合是包含另外一个集合
s1={1,2,3}
s2={1,2}
print(s1 >= s2)
print(s1.issuperset(s2))

子集

# 子集
s1={1,2,3}
s2={1,2}
print(s2 <= s1)
print(s2.issubset(s1))

需要掌握的操作

1)update有则不变,无则添加

s1={1,2,3}
s1.update({3,4,5})
print(s1)

2)删除

pop

s1={1,2,3}
res=s1.pop()#无序删除,返回值为删除的值
print(res)

remove

s1={1,2,3}
res=s1.remove(3) #单纯的删除,返回值为None
print(res,s1)

discard

s1={1,2,3}
res=s1.discard(3) ##单纯的删除,返回值为None
print(s1)
print(res)

remove在移除一个不存在的元素时会报错,但是discard不会报错

3)添加add

s1={1,2,3}
s1.add(4)
print(s1)

4)diffrence

s1={1,2,3}
s2={1,2}
s1.difference_update(s2) #s1=s1.difference(s2)
print(s1)

5)isdisjoint判断是否有交集

s1={1,2,3}
s2={1,2,4}
s3={'a','b'}
print(s1.isdisjoint(s2)) #如果两个集合没有交集则返回True
print(s1.isdisjoint(s3))

该类型总结

1.存多个值

2.无序

3.可变

集合去重的局限性

1)无法保证数据类型的顺序

2)里面的值必须全部是不可变类型

python中各种数据类型的更多相关文章

  1. python学习第九讲,python中的数据类型,字符串的使用与介绍

    目录 python学习第九讲,python中的数据类型,字符串的使用与介绍 一丶字符串 1.字符串的定义 2.字符串的常见操作 3.字符串操作 len count index操作 4.判断空白字符,判 ...

  2. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  3. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  4. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  5. python中基本数据类型以及运算符

    python中基本数据类型以及运算符的知识 一.与用户的交互以及python2与python的区别 1.1什么是与用户交互 用户交互就是人往计算机中input(输入数据),计算机print(输出结果) ...

  6. Python中的数据类型

    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数 ...

  7. Python中可变数据类型和不可变数据类型

    首先,我们需要知道在python中哪些是可变数据类型,哪些是不可变数据类型.可变数据类型:列表list和字典dict:不可变数据类型:整型int.浮点型float.字符串型string和元组tuple ...

  8. python中的数据类型之元组和字典

    一.元组:俗称不可变的列表,又被称为只读列表.元组用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以,但就是不能修改. 注意:如果元组中只有一个元素,一定要加一个逗号,否则 ...

  9. python中的数据类型和常用运算符

    一. python中常见的数据类型 1. 整数:任何时候运算都是精确的 2. 浮点数:运算的时候,可能会有四舍五入 3. 字符串:字符串是以单引号'或双引号"括起来的任意文本 1) 同类型的 ...

  10. Python中的数据类型和数据结构

    一.数据类型 Python中有六个标准数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) 其中,除列表Lis ...

随机推荐

  1. Clojure 学习入门(14)—— 循环控制

    Clojure 基于函数的流程控制   repeatedly 字面意思为重复函数.一般的用法如下: #(rand-int 11)) 8 2 6 6) 重复产生5次随机数.rand-int 11表示0至 ...

  2. 【大数据系列】HDFS初识

    一.HDFS介绍 HDFS为了做到可靠性(reliability)创建了多分数据块(data blocks)的复制(replicas),并将它们放置在服务集群的计算节点中(compute nodes) ...

  3. 告知你不为人知的UDP-疑难杂症和使用

    版权声明:本文由黄日成原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/848077001486437077 来源:腾云阁 h ...

  4. Linux下socket最大连接数 ulimit -n 最大值修改

    请求多的Linux服务器,如不改最大打开文件数的话,那是一个悲剧~可以用命令 ulimit -n 看看当前最大可打开文件数 默认是1024如果加大呢?临时方法是ulimit -n 8192 这个方法是 ...

  5. VS2003安装Opencv1.0 windows系统 win7

    一.步骤 下载安装opencv1.0     安装文件我上传到百度网盘分享连接 http://pan.baidu.com/s/1o8na0aA 配置电脑windows环境变量 配置VS2003全局设置 ...

  6. javap(反汇编命令)详解

    javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码.通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作. 语法: javap [ 命令选项 ] class. . ...

  7. 【BZOJ5091】摘苹果 概率

    [BZOJ5091]摘苹果 Description 小Q的工作是采摘花园里的苹果.在花园中有n棵苹果树以及m条双向道路,苹果树编号依次为1到n,每条道路的两 端连接着两棵不同的苹果树.假设第i棵苹果树 ...

  8. react+babel+webpack初试

    在上一篇,我们简单学习了webpack学习,现在这里我们简单学习一下react+babel+webpack,进行编译react语法jsx以及结合es6写法. 这里我就简单的直接上demo: packa ...

  9. Linux shell一行流编程实践

    Linux下很多命令用起来真相当方便,尤其是进行批处理操作时.(话说感觉这种程序也不复杂,windows咋一直不搞一个好用的shell呢) 这里列出一些实际shell操作的应用场景,具体命令的用法与解 ...

  10. C#调用C++ DLL的方式

    动态链接库(DLL)是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件.可以说在windows操作系统中随处可见,打开主分区盘下的system32.在一些项目中,如果有大量运算或者涉 ...