数字类型

整型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. 老树开新花:DLL劫持漏洞新玩法

    本文原创作者:丝绸之路 <img src="http://image.3001.net/images/20150921/14428044502635.jpg!small" t ...

  2. Android设计和开发系列第二篇:Action Bar(Design)

    Action Bar The action bar is a dedicated piece of real estate at the top of each screen that is gene ...

  3. purge recyclebin之后dba_segments仍然有BIN$段

    现象: purge recyclebin之后dba_segments仍然有BIN$段. 如下,执行了purge recyclebin之后: SQL> select segment_name,SE ...

  4. 列式存储hbase系统架构学习

    一.Hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...

  5. 原生js--insertAdjacentHTML

    insertAdjacentHTML是IE浏览器提供向DOM中插入html字符串的方法,字符串会自动生成在DOM树中. 其调用方式为elem.insertAdjacentHTML( position, ...

  6. LeetCode 81 Search in Rotated Sorted Array II(循环有序数组中的查找问题)

    题目链接:https://leetcode.com/problems/search-in-rotated-sorted-array-ii/#/description   姊妹篇:http://www. ...

  7. 2015.8.2js-19(完美运动框架)

    /*完美运动框架*/ //1.先清除定时期,2,获取样式,如果是opacity则单独解决,3,定义速度,4,定义当前值是否到达目的地,5,判断当前值是否到达目的地,6运动基本,如果是opacity f ...

  8. 【CF932F】Escape Through Leaf 启发式合并set维护凸包

    [CF932F]Escape Through Leaf 题意:给你一棵n个点的树,每个点有树形ai和bi,如果x是y的祖先,则你可以从x花费$a_x\times b_y$的费用走到y(费用可以为负). ...

  9. svn和git的优缺点

    git官网api: https://git-scm.com/docs 一. 集中式vs分布式 1. Subversion属于集中式的版本控制系统集中式的版本控制系统都有一个单一的集中管理的服务器,保存 ...

  10. jquery如何让checkbox如何取消勾选

    1.取消勾选 $("checkbox").attr("checked", false); 2.勾选 $("checkbox").attr(& ...