您当前的位置: 首页 >  大数据
  • 0浏览

    0关注

    214博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

python(2):Python中的六大数据类型——【int类型】

不愿透露姓名の网友 发布时间:2019-07-16 10:31:28 ,浏览量:0

在这里插入图片描述

文章目录
  • 一、Python的六大数据类型
  • 二、数据类型 :Number-数字
    • 1.数字类型的分类及其类型转化
    • 2.数字类型之间的数学运算
    • 3.数字间的进制转换
  • 三、数据类型 :String-字符串
    • 1.字符串的运算及其切片
    • 2.字符串的常见函数
    • 3.字符串的format格式化函数
  • 四、数据类型 :List-列表
    • 1.列表的常见函数
    • 2.列表的一些函数使用
    • 3.列表函数操作的时间复杂度
    • 4.深拷贝和浅拷贝

一、Python的六大数据类型
  1. 数字(Number)
  2. 字符串(String)
  3. 元组(Tuple)
  4. 列表(List)
  5. 集合(Set)
  6. 字典(Dictionary)

Python的数据类型分为可变和不可变数据类型:

  • 可变的:列表、集合、字典(可以进行更改,并且更改后物理地址不会发生改变)
  • 不可变的:数字、字符串、元组(不可以进行更改,更改后就是一个新的对象了,物理地址发生了变化)
二、数据类型 :Number-数字 1.数字类型的分类及其类型转化

在数学中,有多种数据类型,在Python中数字类型也有多种,大概分为以下4类:

名称英文标识解释举例整型int通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。5,6浮点型float浮点型由整数部分与小数部分组成。5.22222布尔型bool含义True和False,True转换为1,False转换为0,但是反之除 0为False类型,其他数字为True类型True、False复数型complex形如a+bi(a为复数实部,b为复数虚部)1+2i

这四种类型的复杂度:bool表示字体居右&表示,填充字符,不够长度的用*号表示

举例:

a='我叫{:&^5}'.format('蔡徐坤')#^居中
b='我叫{:&居右

print(a)#---------------------------------------我叫&蔡徐坤&
print(b)#---------------------------------------我叫蔡徐坤&&
print(c)#---------------------------------------我叫&&蔡徐坤

3.输出二进制,八进制,十六进制

# ----------------------------------------------输出二进制
a = '5的二进制为{:b}'.format(5)  # 二进制用b
print(a)  # ---------------5的二进制为101

# --------------------------------------------------输出八进制
b = '20的八进制为{:o}'.format(20)  # 八进制用o
print(b)  # 20的八进制为24

# -------------------------------------------------输出十六进制
c = '34的十六进制为{:x}'.format(34)  # 十六进制用x
print(c)  # 34的十六进制为22

4.字符串格式化和百分号

name,age,height='张三',18,1.75

print('我叫%s,年龄%d,身高%.2f'%(name,age,height))  # %.2f代表保留小数点后两位
# 我叫张三,年龄18,身高1.75


print('%.2f%%'%(0.23)) # %%为数学中的一个%-----------------0.23%

符号大全: 在这里插入图片描述

四、数据类型 :List-列表

关于列表就是一个有序的序列,在python中创建的几种方式

[1, 2 ,3 , 4 ] 

# 创建空列表
[]
list()
1.列表的常见函数 序号方法说明1list.append(obj)在列表末尾添加新的对象2list.count(obj)统计某个元素在列表中出现的次数3list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)4list.index(obj)从列表中找出某个值第一个匹配项的索引位置5list.insert(index, obj)将对象插入列表6list.pop(index)值为索引,移除列表中的一个元素(默认最后一个元素),并且返回该元素的值7list.remove(obj)值为删除值,移除列表中某个值的第一个匹配项8list.reverse()反向列表中元素9list.sort(cmp=None, key=None, reverse=False)对原列表进行排序,无返回值(sorted函数是Python的函数,有返回值),reverse默认为False升序 2.列表的一些函数使用

①获取列表某几项:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 正索引获取一项
print(a[0])  # 1
print(a[3])  # 4

# 负索引获取一项
print(a[-1])  # 9
print(a[-3])  # 7

# 正索引获取多项
print(a[1:5])  # [2, 3, 4, 5]

# 负索引获取多项
print(a[-5:-1])  # [5, 6, 7, 8]

②列表的遍历与长度

a = [1, 3, 4]
print('a列表的长度为:', len(a))  # 3

# ---------普通循环使用range方法
for i in range(len(a)):
    print("当前索引为{},是列表的第{}个元素,值为{}".format(i, i + 1, a[i]))

"""
当前索引为0,是列表的第1个元素,值为1
当前索引为1,是列表的第2个元素,值为3
当前索引为2,是列表的第3个元素,值为4
"""

# -----------------直接循环列表
for i in a:
    print(i)
"""
1
3
4
"""

# ----------------带索引的循环用
for index, i in enumerate(a):
    print("当前索引为{},是列表的第{}个元素,值为{}".format(index, i + 1, i))

"""
当前索引为0,是列表的第2个元素,值为1
当前索引为1,是列表的第4个元素,值为3
当前索引为2,是列表的第5个元素,值为4
"""

③列表的拼接,重复

a = [1, ]
b = [2, 3]
print(a + b)  # [1,2,3]
print(a * 3)  # [1,1,1]
print(a[0] + b[0])  # 3

④列表的添加【append,extend,insert】

方法名使用方式append()在列表末尾添加一个元素, 格式: m.append(元素A)extend()对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;格式:m.extend([A,B,…])insert()在列表的特定位置插入想要添加的特定元素,这里的特定位置是指元素所在列表中的索引 格式: m.insert(A,元素B):表示在列表m的索引A位置变为元素B,其他元素顺序后移
a = [1, 2, 3, 4, 5,]
a.append(7)#在尾部追加一个
print(a)   # [1,2,3,4,5,7]

b=['a','b']
a.extend(b)#extend可以将另一个列表插入
print(a)  # [1,2,3,4,5,7,'a','b']

a.insert(1,'x')#在索引一的位置加个’x'
print(a)  [1,'x',2,3,4,5,7,'a','b']

⑤列表的删除【pop,del,remove】

  • pop()可以添加索引,不添加默认弹出最后一个数
  • remove必须传入要删的数,删除从左到右的第一个数
  • del 内置方法
a = [1, 2, 3, 4, 5,]
a.pop()#会删除最后一个数,并且输出删除的这个元素
a.pop(2)#会删除索引为2的数,并且输出删除的这个元素

a = [1, 2, 3, 4, 5,]
a.remove(3)#删除的是第一个遇到的3,并非索引位置
print(a)

a = [1, 2, 3, 4, 5,]
del a[2]#删除对应索引或者整个列表
print(a)

⑥列表的修改,直接复制

a = [1, 2, 3, 4, 5,]
a[2]='xx' # 直接将对应索引更改为自己修改的值即可
print(a)   # [1,2,'xx',4,5]
3.列表函数操作的时间复杂度

在这里插入图片描述

4.深拷贝和浅拷贝
  • 深拷贝:完全复制一份到新的地址,互相修改不受影响
  • 浅拷贝:粗略复制,对于内部的可变类型,互相修改还会变化,因为内部的可变类型还是同一块内存地址 在这里插入图片描述
import copy

a=[1,2,3,[4,5],6]
b=a
c=copy.copy(a)#浅拷贝,将列表粗略考走,列表内部的列表会随着a中内部的列表变化,即内部列表还指向【4,5】
d=copy.deepcopy(a)#深拷贝,完全复制一份a,创立了一块新的地址,互相修改不会变化
a.append('00000')
a[3].append('x')
print(a,id(a))
print(b,id(b))
print(c,id(c))
print(d,id(d))

结果: 在这里插入图片描述

关注
打赏
1657102503
查看更多评论
立即登录/注册

微信扫码登录

0.0378s