zoukankan      html  css  js  c++  java
  • 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

    待补充

  • 相关阅读:
    泛微云桥e-Bridge 目录遍历,任意文件读取
    (CVE-2020-8209)XenMobile-控制台存在任意文件读取漏洞
    selenium 使用初
    将HTML文件转换为MD文件
    Python对word文档进行操作
    使用java安装jar包出错,提示不是有效的JDK java主目录
    Windows server 2012安装VM tools异常解决办法
    ifconfig 命令,改变主机名,改DNS hosts、关闭selinux firewalld netfilter 、防火墙iptables规则
    iostat iotop 查看硬盘的读写、 free 查看内存的命令 、netstat 命令查看网络、tcpdump 命令
    使用w uptime vmstat top sar nload 等命令查看系统负载
  • 原文地址:https://www.cnblogs.com/lich1x/p/9911591.html
Copyright © 2011-2022 走看看