数据类型的内置方法
一、整型
用途:
用来表示qq号,手机号等类型
定义方式:
age = 18 # age =(int) 18
int(abc) # 报错
int(1.1) # 报错
int(11) # int只能转纯数字的字符串,小数点也不行
进制转换
其他进制转换成10进制
# 二进制转十进制 0,1
# 10 # 1*(2**1) + 0*(2**0) 2
# 八进制转十进制 0-7
# 235 # 2*(8**2) + 3*(8**1) + 5*(8**0)
10进制转换成其它进制
10进制转换成2进制
print(bin(12))
10进制转换成8进制
print(oct(12)) #12 =>1*(8**1) + 2*(8**0)
10进制转换成16进制
print(hex(16))
二、浮点型
作用:薪资 身高 体重
salary = 1.1 # float(1.1)
res = float('1.11')
print(type(res))
整型与浮点型都是不可变类型
可变类型:值改变的情况下,id不变
不可变类型:值改变的情况下,id也跟着改变
三、字符串
用途:
存储描述性的值
定义方式:
name = 'egon' # str('egon')
需要掌握的内置方法
1.按索引取值(正向取+反向取,只能取) #正向取 n = 'hello word' print(n[2]) l #反向取 print(n[-1]) d 2.切片(顾头不顾尾,步长) n = 'hello word' print(n[0:4]) hell #按照步长来取值 print(n[0:6:2]) hlo #了解负数取值 print(n[5:0:-1])# 切片取值默认是从左往右的 olle 3.长度len:统计的是字符串中字符的个数 n = 'hello word' s = len(n) print(s) 4.成员运算in和not in: 判断一个子字符串是否存在于一个大的字符串中 print('do' in 'what do you want to do') 5.去掉字符串左右两边的字符strip,不管中间的,strip()默认去除字符串首尾的空格 name = ' alex' print(name.strip(' ')) 其中还有lstrip(去除左边的)和rstrip(去除右边的) 6.切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值 name = 'alex' print(name.split('l'))#切割顺序是从左往右切 ['a', 'ex'] 其中rsplit是从右往左切,可以指定其切割的个数,如果没有指定个数,那么就会切割分成列表 7.循环 name = 'egon' for i in name: print(i)
8.lower(将变量值改为小写),upper(将变量值改为大写)
name = 'EgoN'
print(name.lower()) # egon
print(name.upper()) # EGON
#调用字符串的方法并没有改变字符串本身
9.startswith(以...开头),endswith(以...结尾)
name = 'EgoN'
print(name.startswith('E')) # True
print(name.endswith('o')) # False
10.format的三种玩法(python推荐使用format做格式化输出)
第一种 按位置占位 跟%s原理一致,此处用{}来占位
str1 = 'my name is {} my age is {}'.format('jason',18)
str1 = 'my name is {} my age is {}'.format(18,'jason',)
print(str1)
第二种 按索引占位
str1 = 'my {1} name is {0} my {0} age is {0}'.format('egon',18)
print(str1)
第三种 指名道姓占位
str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='jason',age=18)
print(str1)
11.jion(拼接)
l = ['1','a','b'] # 必须输入同一类型
res = '|'.join(l)
print(res) # 1|a|b
12.replace(替换)
name = 'egon'
name1 = name.replace('egon','jason')
print(name1)
13.isdigit # 判断字符串中包含的是否为纯数字
n = 's123'
print(n.isdigit()) # False
需要了解的内置方法
# 1.find # x = 'my name is egon' # print(x.find('is')) # 返回的是‘i'所在的索引值 # print(x.find('j')) # 找不到的时候返回的值是-1 # 2.index # x = 'my name is egon' # print(x.index('e')) # 返回所传字符所在的索引值 # 3.count # x = 'my name is egon' # print(x.count('m')) # 统计字符出现的次数
四、列表
用途:
可以存入多个值,在[]内,用逗号分开多个值
定义方式:
student={'name':'egon','age':18,'hobbies':['read','music']}
print(student['hobbies'][1])
music
需要掌握的内置方法
#1.按索引存取值(正向存取+反向存取):即可存也可以取 # l = [1,2,3,4] # print(l[0:4:1]) # print(l[0::]) # print(l[5::-1]) # print(id(l)) # l[0] = 69 # print(id(l)) # print(l) #2.切片(顾头不顾尾,步长) l = [11,22,33,44,55] l1 = [99,88,77,66] # [11,22,33,44,55,99,88,77,66] #3.append(尾部增加) name = ['egon','jason'] name.append('l') print(name) # ['egon', 'jason', 'l'] #4.insert(任意元素添加) name = ['egon','jason'] name.insert(3,'l') # 通过索引在任意位置添加元素 print(name) # ['egon', 'jason', 'l'] #5.extend(添加容器类型数据) n = [1,2,3] n1 = [4,5,6,7,8,9] n.extend(n1) print(n) # [1, 2, 3, 4, 5, 6, 7, 8, 9] #6.len(长度) n = [1,2,3] print(len(n)) #3 #7.删除 第一种:del适用于所有的删除操作 n = [1,2,3] del n[0] print(n) # [2, 3] 第二种:pop尾部弹出 n = [1,2,3] n.pop() print(n) # [1, 2] 第三种:remove只要删除元素的值 n.remove(2) print(n) # [1, 3]
需要了解的内置方法
# 1.count(计数) n = [1,2,3,4,5,6,6,6,6,6,] # x = n.count(6) # print(x) # 5 #2.clear(清空) n = [1,2,3,4,56,7] n.clear() print(n) #3.reverse(反转) n = [1,2,3,4,56,7] n.reverse() print(n) # [7, 56, 4, 3, 2, 1] 4.sort(排序,默认从小到大排序) n = [1,2,3,4,56,7] n.sort() print(n) # [1, 2, 3, 4, 7, 56] 5. 队列(先进先出) # n1 = [] # 先进 # n1.append('first') # n1.append('second') # n1.append('third') # 先出 # print(n1.pop(0)) # print(n1.pop(0)) # print(n1.pop(0)) # 堆栈(先进后出) # 先进 # n1.append('first') # n1.append('second') # n1.append('third') # 后出 # print(n1.pop()) # print(n1.pop()) # print(n1.pop())
五、元组
作用:
能够存储多个元素,元素与元素之间逗号隔开 ,元素可以是任意类型,元组不能被修改
定义方式:
age=(11,22,33,44,55) # age=tuple((11,22,33,44,55))
需要掌握的内置方法
# 1.按索引取值(正向取+反向取) # t = (1,2,3,4,'a','b','c') # print(t[4]) # a # print(t[-2]) # b # t[1] = 'jaja' # print(t) # 如果改就会报错 #2.切片(顾头不顾尾,步长) # t = (1,2,3,4,'a','b','c') # print(t[0:5]) # (1, 2, 3, 4, 'a') # print(t[1:6:2]) # (2, 4, 'b') # print(t[5:3:-1]) # ('b', 'a') # 3.len(长度) # t = (1,2,3,4,'a','b','c') # print(len(t)) # 7 #4.成员运算 not 和not in # t = (1,2,3,4,'a','b','c') # print(1 in t) # True #5.循环 # t = (1,2,3,4,'a','b','c') # for i in t: # print(i) # 1 2 3 4 a b c
六、字典
作用:
能存存储多组 key:value键值对 key是对value的描述 key通常情况下都是字符串,
这个key只能是不可变类型,value可以是任意数据类型
定义方式:
第一种:
d1= {'name':'jason','password':123} # d = dict( {'name':'jason','password':123})
第二种:
d2 = dict(name='jason',password=123,age=18)
第三种:(了解即可)
l = [
['name','jason'],
['age',18],
['hobby','read']
]
d = {}
for i in l: # ['name','jason'],['age',18]...
for k,v in l: # ['name','jason'],['age',18]...
d[i[0]] = i[1]
d[k] = v
print(d)
d3 = dict(l)
print(d3)
强调: 字典的key是不能重复的 要唯一标识一条数据
如果重复了 只会按照最后一组重复的键值对存储
需要掌握的内置方法
#1.按key存取值:可存可取 # d1 = {'name':'jason','password':'123'} # d1['name'] = 'egon' # d1['name'] = 'jack' # d1['name'] = 'alex' # print(d1) # {'name': 'alex', 'password': '123'} #由此可知:如果重复了,只会按照最后一组重复的键值对存储 # d1['age'] = 18 # print(d1) # {'name': 'jason', 'password': '123', 'age': 18} # 由此可知:赋值语句当key不存在的情况下,会自动新增一个键值对 #2.len(长度) # d1 = {'name':'jason','password':'123'} # print(len(d1)) # 2 # 由此可知:统计的是键值对的个数 #3.成员运算in和not in # 对于字典来说只能判断key值 # d1 = {'name':'jason','password':'123'} # print('name' in d1) # True # print('jason' in d1) # False #4.删除 #第一种 # d1 = {'name':'jason','password':'123'} # del d1['name'] # print(d1) # {'password': '123'} #第二种 # d1.pop('name') # 仅仅是弹出value # print(d1) # {'password': '123'} # res = d1.pop('age') # 当键不存在的时候直接报错 # print(res) #第三种 # d1.clear() # print(d1) # {} #5.键keys(),值values(),键值对items() # d1 = {'name':'jason','password':'123'} #第一个:键keys() # print(d1.keys()) # dict_keys(['name', 'password']) # for i in d1.keys(): # print(i) # name password #第二个:值values() # print(d1.values()) # dict_values(['jason', '123']) # for i in d1.values(): # print(i) # jason 123 #第三个:键值对items() # print(d1.items()) # dict_items([('name', 'jason'), ('password', '123')]) # for i in d1.items(): # print(i) # ('name', 'jason') ('password', '123') #6.get() 根据key获取value # d1 = {'name':'jason','password':'123'} # print(d1['name']) # 普通方法:jason # print(d1.get('name')) # 使用get()的方法:jason # print(d1.get('age')) # None #当字典的key不存在的情况 不报错 返回None # print(d1.get('age','egon')) #egon # get可以传第二个参数。当key不存在的情况下,返回第二个写好的参数信息 #7.dict.fromkeys() 快速的创建一个字典 # l1 = ['name','password','age','hobby'] # print(dict.fromkeys(l1,123)) # {'name': 123, 'password': 123, 'age': 123, 'hobby': 123} #dict.popitem() # 尾部以元组的形式弹出键值对 # d1 = {'name':'jason','password':'123'} # print(d1.popitem()) # ('password', '123') #dict.setdefault() # d1 = {'name':'jason','pwd':123} # res1 = d1.setdefault('name','xxoo') # 当键存在的情况下 不修改值 并且将原先key对应值返回给你 # print(d1,res1) # {'name': 'jason', 'pwd': 123} jason # res2 = d1.setdefault('age',18) # 当键不存在的情况下 新增一个键值对 并且将新增的键值对的值返回给你 # print(d1,res2) # {'name': 'jason', 'pwd': 123, 'age': 18} 18 ## dict.update() # d1 = {'name':'jason','pwd':123} # d2 = {"age":18} # d1.update(d2) # d1['age'] = 18 # d1.update(age=666) # print(d1) # {'name': 'jason', 'pwd': 123, 'age': 666} #8.循环 # d1 = {'name':'jason','password':123} # for i in d1: # print(i) # name password # 取出的为key
七、集合
定义:
可以包含多个元素,用逗号分割
作用:
1.去重 2.关系运算
定义方式:
s = {1,2,3,4,5,6} # s = set{1,2,3,4,5,6}
注意:在定义空集合的只能用关键字set
x = {},如果仅仅只写了一个大括号 那么python默认将它当做字典类型
集合的元素遵循三个原则:
1.每个元素必须是不可变类型
2.没有重复的元素
3.无序
需要掌握的内置方法
#1.len(长度) # s = {1,2,3,4,5} # print(len(s)) # 5 #2.成员运算in和not in # s = {1,2,3,4,5} # print(1 in s) # True #3.|合集(并集) # python = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'} # linux = {'frank', 'jerry', 'tank', 'egon', 'alex'} # 取出所有报了名的学生姓名 # print(python | linux) # {'egon', 'owen', 'jason', 'tank', 'nick', 'kevin', 'jerry', 'alex', 'frank'} #4.&交集 # python = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'} # linux = {'frank', 'jerry', 'tank', 'egon', 'alex'} # 既报名python也报名linux的学生姓名 # print(python&linux) # {'egon', 'alex', 'tank'} #5.-差集 # python = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'} # linux = {'frank', 'jerry', 'tank', 'egon', 'alex'} # 只报名python的学生姓名 # print(python - linux) # {'kevin', 'nick', 'jason', 'owen'} # 只报名linux的学生姓名 # print(linux - python) # {'jerry', 'frank'} #6.^对称差集 # python = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'} # linux = {'frank', 'jerry', 'tank', 'egon', 'alex'} # 两门课程都没报名的学生姓名 # print(python ^ linux) # {'frank', 'owen', 'kevin', 'jason', 'jerry', 'nick'} #7.父集与子集 # 关系:包含关系,父集包含子集 # s = {1,2,3,4,5} # s2 = {1,2,3} # print(s > s2) # True #8.add(增加) # s = {1,2,3,4} # print(s.add(5)) # 打印添加时候返回None #9.remove(移除) # s = {1,2,3,4} # print(s.remove(4)) # 打印添加时候回返回None,找不到移除的内容会报错 # #10.discard(移除) # s = {1,2,3,4} # print(s.discard(9)) # 打印添加时候回返回None,找不到移除的内容也会返回None