数据类型的内置方法

一、整型

用途:

用来表示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


               

              

猜你喜欢

转载自www.cnblogs.com/xiongying4/p/11128409.html