python所有数据类型及操作(python3入门)

一、数据类型:

1.数字类型—(1)整形 , (2) 浮点型

2.字符串 

3.列表

4.元组

5.字典

6.集合

7.bytes

二、数据类型的操作

1.数字(整形和浮点型)

#整形:表示年龄,身份证好吗,qq号等数字
age = 18    # 本质age = int(10)
#浮点型:表示薪酬,身高,体重,等小数 weight = 120.2 # 本质weight = float(120.0)

2.字符串

#字符串:表示名字,变量名,性别,等描述状态的信息
#字符串是不可变类型

#!!python3中字符串有两种类型:
    #1 str是unicode编码标准
    #2 bytes是GBK编码标准

#!!python2中字符串有两种类型:
    #1 str是GBK编码标准
    #2 u''是unicode编码标准


username = 'peter'
age = '18'
weight = '60kg'
say = 'hello world hello world'
example1 = ' x x x x '
example2 = '@#!ddd#$¥¥¥!!@#@#!'
example3 = 'aaabbbccc'
example4 = 'my name is {},i am {} years old,i am a {}!'
li1 = ['a','c','dd','bbb']

#基本操作

#1.''.count()是统计指定字符在该字符串中的合计数量
print(username.count('e'))  #统计字符e 在字符串uesername中的数量   #返回值2
print(username.count('e',3,-1)) #统计字符串username里的索引3~最后1位中的字符e的数量    #返回值1

#2.''.center()是将指定字符串居中并在他左右以某个自定义的字符进行填充
print(username.center(40,'='))  #将字符串username以居中的形式,并且这一行中其他空位以字符'='填充,合计40个字符

#3.''.isdigit()是判断指定字符串是否位纯数字
print(username.isdigit())   #返回值False
print(age.isdigit())    #返回True
print(weight.isdigit()) #返回值False

#4.''.split()是将该指定字符串以某个自定义字符进行分离,并先去除那个自定义字符后重新组成一个新列表《.split()默认是包含空格》
print(username.split('t'))
print(say.split(' '))
print(say.split(' ',maxsplit=1))    #maxsplit为分离几次,不指定的话默认=-1,全部分离
print(say.split(' ',maxsplit=2))
print(say.split(' ',maxsplit=-1))

#5.''.strip()是移除指定字符串左右两边的你自定义的字符,先从左往右开始移除自定义字符,直至遇到第一个不是自定义的字符后,
# 再从右往左重复之前操作
print(example1.strip()) #默认移除空格
print(example1.strip(' '))  #移除自定义的字符为空格
print(example2.strip('@#!'))    #移除自定义的字符为'@#!'

#6.''.replace()是将指定的字符串中你自定义的字符替换成另一个字符(可以指定替换几次)并生成一个新的字符串(原来的字符串是不可以改变的)
print(example3.replace('a','q',2))  #将example3中的字符a 从左往右替换成q,重复两次
print(example3.replace('a','q'))    #将example3中的字符a 从左往右替换成q,默认全部替换

#7.''.format是在指定字符串中,{}格式化输出为后面的字符串
print(example4.format('a','b','c'))
print('my name is {c},i am {b} years old,{c} i am {a}!'.format(b=age,c='exec',a=weight))

#8.''.index()是在指定字符串中找到自定义的字符在该字符串中的索引位置,索引以0开始记数,如0,1,2,3,4,5。。。
print('peter'.index('t'))

#9.''.lower()是将指定字符串全部输出为小写
print('PETeR'.lower())

#10.''.upper()是将指定字符串所有字符全部输入为大写
print('pETeR'.upper())

#11.''.endswith()是判断指定字符串是以自定义的字符结尾(区分大小写),有True和False的输出
print('peter'.endswith('r'))
print('peteR'.endswith('r'))
print('peter'.endswith('d'))

#12.''.startswith是判断指定字符串是否以该自定义字符开头的,同时可以指定开始和结束的索引位置
print('peter'.startswith('p',2,4))
print('peter'.startswith('p'))

#13.''.title()是将指定字符串中的单词的首字母变成大写
print('peter is a boy'.title())

#14.''.join()是将指定字符以分隔符的形式进行区分列表中的元素
a1 = '|'.join(li1)
a2 = ','.join(li1)
a3 = ''.join(li1)
print(a1)
print(a2)
print(a3)

#15.''.capitalize()是将指定字符串的第一个英文大写
print('peta is'.capitalize())

#16.去除左边的字符,默认去除空格
print(' pet er '.rstrip())
print(' pet er '.lstrip())

#17.将	替换成空格,可以指定几个字符,指定的字符包括空格+空格后的字符个数
print('uuu	aaa'.expandtabs(9))

#18. 同lower(),lower() 方法只对ASCII编码,对于其他语言(非汉语或英文)中把大写转换为小写的情况只能用 casefold() 方法
print(''.casefold())

#19.''.isalnum()是指判断指定字符串中是否有空格,如果有返回false,如果有至少一个字符或者数字则返回true
print(''.isalnum())
print('a b c'.isalnum())
print('a'.isalnum())
print('1'.isalnum())
print('1a3'.isalnum())

#20.''.isalpha()判断指定字符串中是否只有字母组成,如果是返回True,如果包含数字/空格则返回false
print('ddd'.isalpha())
print('ddd d'.isalpha())
print('1a'.isalpha())
print('a 1'.isalpha())
print(' '.isalpha())

#21.''.isdecimal() 方法检查字符串是否只包含十进制字符,如是返回true,如果不是则返回false。这种方法只存在于unicode对象。
b1 = u'aaa111'
b2 = u'1111'
print(b1.isdecimal())
print(b2.isdecimal())

#22.''.isdentifier()判断是否是合法标识符
print('bb'.isidentifier())
print(''.isidentifier())

#23。
print('bb'.islower())
print('Ac'.islower())

#24.''.isnumeric()检测字符串是否只由数字组成。这种方法是只针对unicode对象(主要还是用isdigit)
print('bb'.isnumeric())
print('11'.isnumeric())
print('1a '.isnumeric())
print('a1 '.isnumeric())

#25。''。isprintable()如果存在不可见的(如	,
)则返回false,反之则为true
print('b1'.isprintable())
print(' d d'.isprintable())
print('a
'.isprintable())
print('dd	'.isprintable())

#26.判断是否全部为空格
print(' '.isspace())

#27.检查单词的首字母是否为大写且其他字母都为小写,返回true, 否则返回false
print('Eaa Ddd AA'.istitle())
print('Eaa Ddd Aa1'.istitle())

#28.判断字符串是否全部为大写,真返回true,否则返回false
print('bb'.isupper())
print('Fa'.isupper())
print('AA'.isupper())

#29.
# print('bb'.find())
# print('bb'.maketrans())

#30.左对齐和有对齐,同center()的用法
print('bb'.rjust(10,'='))
print('bb'.ljust(10,'='))

#31.编码暂缺
# print('bb'.encode())

#32.以某一个字符进行依次分割
print('bb aaa'.partition(' '))
print('acdcgcx'.partition('c'))

#33.互换大小写字母
print('bbA Asd'.swapcase())

#34暂缺
# print('bb'.translate())

#35.用0 来填充,并且右对齐
print('bb'.zfill(10))
字符串及编码类型

3.列表

#列表:表示可以存放多个数据

li1 = ['a','b','c',10,'a','d','e']

#1.指定列表的某一个元素的索引位置查找
print(li1.index('c'))
print(li1.index('a',1,5))   #指定某一段中查找字符的索引位置

#2.在指定列表中查找字符的数量合计
print(li1.count('a'))

#3.在指定列表中去除某一个索引位置的元素,并返回这个取出的值
print(li1.pop(1))

#4.在指定列表的尾部插入一个新元素
print(li1.append('test'))

#5.将指定列表中所有元素从最后一位至第一位 重新排列替换掉指定列表
li1.reverse()

#6.移除指定列表中的某一个元素
li1.remove('e')

#7.复制指定列表并生成一个新列表
li1_copy = li1.copy()
print(id(li1))
print(id(li1_copy))

#8.在指定列表某一个指定的索引前面插入新的元素
print(li1.insert(0,'ttt'))

#9.用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
li1_ext = [1,3,4,5,'a']
print(li1.extend(li1_ext))

#10.对指定列表进行按序排列
alist = [10,5,2,6,3,23]
alist.sort()    #升序排列

#11.清除指定列表中所有元素
print(alist.clear())
print(alist)
View Code

4.元组

#元组:存多个值,对比列表来说,元组不可变,不能对元组中的元素进行修改,主要是用来读
a = ('a','c','d','123','a')
print(type(a))

#1.count()同列表,同字符串的用法
print(a.count('a'))

#2.index()查找指定字符在该元组中的索引
print(a.index('a'))

5.字典

dic1 = {
    'k1':1,
    'k2':2,
    'k3':'acc'
}

#1.copy()复制当前字典,到新的变量中
new_dic = dic1.copy()
print(new_dic)

#2.pop()在指定字典中提取指定key:value,并返回value
print(dic1.pop('k1'))

#3.get()是获取指定字典中自定义的key,返回对应的value
print(dic1.get('k2'))

#4.keys()获取指定字典中的所有key
print(dic1.keys())

#5.values()返回指定字典中的所有value
print(dic1.values())

#6.setdefault()是在指定字典中,新增该字典没有的key:value,如果新增的key已经在字典中存在,则指定字典没有发生变化,
#若指定字典中没有新增的key,则以新的key:value形式加入指定字典(如没有指定value,则填入None)
dic1.setdefault('k2',4)
dic1.setdefault('k4',1111)
dic1.setdefault('k5')
print(dic1)

#7.fromkeys()将指定列表中的所有元素作为key,然后与关键字进行配对后放入空字典
li1 = ['a',1,'b',2,'c',3]
li1_dic  = {}.fromkeys(li1,'hello')
li1_dic  = {}.fromkeys(li1,None)

#8.update()在指定字典中将更新的key:value更新到字典中,如指定字典中已有该key值,则会被替换成新的value,若没有,则新增key:value
dic8 = {'k1':12,'k2':31}
dic8.update({'k3':111})
dic8.update({'k1':2222})
dic8.update({'k4':414141})
print(dic8)

#9.clear()清空该字典
dic1.clear()
View Code

6.集合

# 集合的主要作用就是去重
#定义:集合可以包含多个元素,用逗号分割
    #集合中的元素遵循三个原则:
    #1 每个元素是不可变类型(可hash,可作为字典的key)
    #2 没有重复的元素
    #3 无序

#例:
x1 = ['a','b']
# x2 = {['a','b'],'c'}
# print(x2)   #语法报错,无法使用可变类型作为集合中的元素
# print(set(x1))

a = {'a','b','c'}
b = {'b',1,'d'}
c = {'a','b'}

# | 合集
print(a|b)

# & 交集
print(a&b)

# - 差集
print(a-b)
print(b-a)

# ^ 对称差集
print(a^b)

# ==
print(a==b) #输出false

# >,>= 父集
print(a>c)  #返回True

# <,<= 子集
print(c<a)  #返回True
View Code

 7.bytes

待补充

原文地址:https://www.cnblogs.com/lich1x/p/9911591.html