zoukankan      html  css  js  c++  java
  • python数据类型内置方法以及深浅拷贝

    数字类型内置方法

    整型 int

    1.作用:年龄/id

    2.定义方式:

    x=10
    

    3.使用方法:+ - * / % // ** < <= > >= == !=

    4.有序or无序(有索引的就有序,无索引的无序):压根就没有有序无序一说

    5.可变or不可变(值变id不变叫可变,值变Id变叫不可变):整型不可变

    浮点型 float

    1.作用:薪资

    2.定义方式:

    x=10.1
    

    3.使用方法:+ - * / % // ** < <= > >= == !=

    4..有序or无序:压根就没有有序无序一说

    5.可变or不可变:不可变

    字符串内置方法

    1.作用:姓名

    2.定义方式:单引号/双引号/三单引号/三双引号

    4.有序or无序:有序

    5.可变or不可变:不可变

    3.使用方法:

    优先掌握

    1.索引

    2.索引切片

    s='nick handsome'
    print(s[0:4])#顾头不顾尾
    print(s[0:4:2])#2表示步长,隔一个取一个
    print(s[4:0:-1])#+是从左到右,-是从右到左
    

    3.for循环

    for i in s:
        print(i)
    

    4.成员运算

    print('nick' in s)
    print('nick1' not in s)#true
    

    5.strip()#默认去除两端空格,可以指定去除的字符,可以指定多个字符同时去掉

    s1='a nick    *****'
    print(s1.strip())
    print(s1.strip(' *'))#可以乱序,但是不能没有
    

    6.split()#切割

    s2='nick|123456|180|140'
    print(s2.split('|'))#按照|切割字符串,得到的是一个列表
    

    7.len长度

    s='nick handsome'
    print(len(s))
    

    需要掌握

    lstrip&rstrip

    s='**nick**'
    print(s.lstrip('*'))
    print(s.rstrip('*'))
    

    lower&upper

    s='Nick'
    print(s.lower())#小写
    print(s.upper())#大写
    

    startswith&endswith

    s='nick handsome'
    print(s.stsrtswith('nick'))#以。。。开始
    print(s,endswith('some'))#以。。。结束
    

    rsplit

    s2='nick|123456|180|140'
    print(s2.split('|'))#从右开始 按照|切割字符串,得到的是一个列表
    

    join

    s='nick|123456|180|140'
    lt=s.split('|')
    print('*'.join(lt))#使用*拼接列表内的每一个元素
    

    replace

    s='hand handsome'
    s=s.replace('nick',nick chen)#替换
    

    isdigit/isalpha

    s='45613'
    print(s.isdigit())#判断字符串内字符是否都为数字
    

    了解

    find|rfind|index|rindex|count

    s='nick handsome'
    print(s,find('h'))#找索引,-1表示没找到
    print(s.rfind('h',6,10))
    
    print(s.index('fds'))#找不到就报错
    
    s='aaacc'
    print(s.count('a'))
    

    center|ljust|rjust|zfill

    s='nick'
    print(s.center(50,'*'))#居中
    print(s.ljust(50,'*'))#居左
    print(s.rjust(50,'*'))#居右
    s='111'
    print(s.zfill(8))
    

    expandtabs

    s='a			a'
    print(s)
    print(s.expandabs(18))
    

    captalize|swapcase|title

    s= 'nickNick handsome'
    print(s.captalize())#首字母大写
    print(s.swapcase())#大小写互转
    print(s.title())#每个单词的首字母大写
    

    is系列 :有兴趣看下

    列表内置方法

    1.作用:存储多个值

    2.定义方式:[]用逗号隔开多个元素

    4.有序or无序:有序

    5.可变or不可变:可变

    3.使用方法

    优先掌握

    1.索引取值/索引修改值

    lt=[1,2,3,4]
    print(lt[1])
    lt[1]=3
    print(lt)
    

    2.切片

    print(lt[:])
    print(lt[1:2])
    print(lt[1:4:2])
    

    3.for循环

    for i in lt:
        print(i)
    

    4.成员运算

    print(i in lt)
    

    5.len

    print(len(lt))
    

    6.append()

    lt.append(5)
    print(lt)
    

    7.del 删除

    del lt[0]
    print(lt)
    

    需要掌握

    insert

    lt=[1,2,3,4,5]
    lt.insert(0,0)#往前插入
    print(lt)
    

    pop:按照索引删除值

    lt.pop(0)
    print(lt)
    

    remove:按照值删除值

    lt.remove(1)
    print(lt)
    

    count:计数

    lt=[11,11,11,33]
    print(lt.count(11))
    

    index:寻找值的索引

    print(lt.index(11))
    

    clear:清空列表

    lt=[1,2,3,4]
    lt.clear()
    print(lt)
    

    copy:拷贝列表

    lt1=lt.copy()
    

    extend:扩展列表

    lt1=[1,2,3]
    lt2=[2,3,4]
    lt1.extend(lt2)
    

    reverse:反转列表

    lt.reverse()
    

    sort:排序

    lt.sort()
    
    

    元组的内置方法

    什么是元组(了解)

    只可取,不可更改的列表

    作用

    元组一创建就被写死了

    定义方式

    ()内用逗号隔开隔开多个元素(可以为任意数据类型)

    如果元组只有一个元素,必须得加逗号

    tup=(1,2,3)
    tup=(3,)
    

    使用方法

    1.索引取值

    print(tup[0])
    

    2.索引切片

    print(tup[0:3])
    

    3.for循环

    for i in tup:
        print(i)
    

    4.成员运算

    print(0 in tup)
    

    5.len长度

    print(len(tup))
    

    6.index获取元素索引

    print(tup,index(1))
    

    7.count计数

    print(tup,count(2))
    

    有序or无序

    有序

    可变or不可变

    压根不存在这一说法

    字典内置方法

    作用

    存储多个数据,对每个数据具有描述

    定义方式

    {}内用逗号隔开多个键key(具有描述意义,不能为可变数据类型):值value(任意数据类型)对

    dic={'name':1}
    dic={0:'功能1',1:'功能2'}
    

    使用方法

    优先掌握

    1.按key取值/按key修改值

    dic={'a':1,'b':2,'c':3}
    print(dic['a'])
    dic['b']=4
    

    2.添加值,没有就添加,有就修改

    dic['d']=4
    print(dic)
    

    3.for循环

    for i in dic:
        print(i)
    

    4.成员运算

    print('a' in dic)
    

    5.len长度

    print(len(dic))
    

    6.keys/values/items

    print(dic.key())#看成列表
    print(dic.values())#获取所有值
    print(dic.items())
    for i in dic.items():
        print(i)
    for k,v in dic.items():
        print(k,v)
    

    需要掌握

    get:获取

    dic={'a':1,'b':2,'c':3}
    print(dic[s])# 报错
    print(dic.get('b'))# 没有就返回None
    print(dic.get('b',1))# 没有就返回None,可以给定一个默认值
    

    update:更新,等同于list里的extend

    dic1={'a'=1,'c'=2}
    dic2={'b'=1,'d'=2}
    dic1.update(dic2)
    

    fromkeys

    print(dict.fromkeys([1,2,3,4]))#{1: None, 2: None, 3: None, 4: None}
    

    setdefault :字典有这个key,就不修改,没有则增加

    dic.setdefault('j',2)
    dic.setdefault('a',2)
    

    有序or无序

    无序

    可变or不可变

    可变

    散列表(哈希表)

    1.首先对key做了哈希处理(能对所有数据类型都可以哈希处理):梅森旋转算法(生成伪随机数)--》通过哈希处理对于每个key他都可以生成一个序列(永不重复,相同的东西进入哈希处理,结果相同)

    2.使用哈希函数对刚刚生成的序列(纯数字),对纯数字除9取余(0,1,2,3,4,5,6,7,8)

    集合内置方法

    什么是集合:交集/并集/补集/差集

    作用

    1.进行上述运算

    2.去重

    3.乱序--》基于散列表实现的

    定义方式

    {}内以逗号隔开多个元素(不可变元素)

    s={}#空字典
    s=()#空集合
    

    使用方法

    pythoners = {'jason', 'nick', 'tank', 'sean'}
    linuxers = {'nick', 'egon', 'kevin'}
    # 并集
    print(pythoners | linuxers)
    # 交集
    print(pythoners & linuxers)
    # 差集
    print(pythoners - linuxers)
    # 补集
    print(pythoners ^ linuxers)
    # add(*******)
    pythoners.add('oscar')
    print(pythoners)
    
    pythoners,remove('oscarl')#没有报错
    print(pythoners)
    pythoners.discard('oscarl')#没有不报错
    print(pythoners)
    pythoners.pop()  # 随机删除一个
    print(pythoners)
    

    有序or无序

    无序

    可变or不可变

    可变

    数据类型总结

    存值个数

    存一个值:整型/浮点型/字符串

    存多个值:列表/元组/字典/集合

    有序or无序

    有序:字符串/列表/元组

    无序:字典/集合

    可变or不可变

    可变:列表/字典/集合

    不可变:整型/浮点型/字符串/元组

    深浅拷贝

    拷贝

    当lt2为lt1的拷贝对象时,无论lt1内部为可变类型还是不可变类型,lt1内部元素变化,lt2也变化

    浅拷贝

    当lt2为lt1的拷贝对象时,lt1内部的不可变元素变化,lt2不变。lt1内部的可变元素变化时,lt2也随之变化

    深拷贝

    当lt2为lt1的拷贝对象时,无论lt1内部的可变元素或不可变元素怎么变化,lt2都不会变化。

  • 相关阅读:
    分离 附加 还原
    sql sever 数据表
    正则矩阵
    路由vue-router基础
    vue理解$nextTick
    vue组件
    vue事件处理
    vue列表渲染
    vue条件渲染
    vue class与style绑定
  • 原文地址:https://www.cnblogs.com/zqfzqf/p/12577871.html
Copyright © 2011-2022 走看看