• Python基础之数据类型


    基本数据类型分类

    分类一:
     
    1、扁平序列
        这些序列只能容纳一种类型,存放的是值而不是引用
        例如:str、bytes、bytearray、memoryview和array.array
     
    2、容器序列:
        这些序列能存放不同的类型的数据,存放的是他们所包含的任意类型对象的引用
        例如:list、tuple、collections.deque
     
    3、区别:
    扁平序列是一段连续的内存空间,由此可见扁平序列其实更加紧凑,但是里面只能存放诸如字符、字节和数值这种基础数据类型。
     
     
    分类二:
     
    可变序列:list bytearray array.array collections.deque和memoryview
     
    不可变序列:tuple、str和bytes

    1、int 整数

    bit_length() 二进制长度

    a = 5 # 二进制为101
    print(a.bit_length())#3

    2、str字符串

    字符串是不可变的对象,所以任何操作对原字符串不会产生影响。

    (1)索引,就是下标,从0开始,最大值是字符串长度-1

    s = "abcdddd"
    print(s[5]) #格式:字符串[索引下标]

    (2)切片,使用下标来截取部分字符串

        语法:str[start:end:step]

        原则:顾头不顾尾

        step:步长,如果是整数,则从左到右取,如果是负数,从右向左取 

    s = "ABCDEFGHIJKL"
    #切片
    print("从头到尾:%s"%(s[0:]))  #从头到尾
    print("取中间的一部分:%s"%(s[0:3])) #顾头不顾尾
    print("跳着取:%s"%(s[0:6:2])) #间隔一个取
    print("反向从头到尾:%s"%s[::-1])  #-1代表从后向前取
    print("反向截取一部分:%s"%(s[-1:-5:-1]))
    print("反向跳着截取:%s"%(s[-1:-5:-2]))
    View Code

    (3)字符串转换大小写

    s = "LiangYing"
    print(s.capitalize()) #整句首字母大写
    print(s.lower())   #全部小写
    print(s.upper())  #全部大写
    print(s.swapcase()) #大小写翻转
    print(s.title())#除了以字母之外的字符隔开 ,每个单词首字母大写

    应用:验证码

    #验证码不区分大小写
    text = input("请输入验证码:")
    if text.upper() == "aqPt".upper():
       print("验证码输入正确")

    (4)切片

    #居中 拉长到16字符,并以*填充
    s = "liangying"
    print(s.center(16,"*")) # ***liangying****
    
    #更改tab的长度,默认更改为8
    s_1 = "al	ex wusir"
    print(s_1.expandtabs()) #al      ex wusir
    
    #去空格
    s_2 = "  liang ying  "
    print(s_2.strip()) #去掉头尾的空格
    print(s_2.lstrip()) #去掉左边的空格
    print(s_2.rstrip()) #去掉右
    居中 拉长到16字符,并以*填充
    s = "liangying"
    print(s.center(16,"*")) # ***liangying****
    
    #更改tab的长度,默认更改为8
    s_1 = "al	ex wusir"
    print(s_1.expandtabs()) #al      ex wusir
    
    #去空格
    s_2 = "  liang ying  "
    print(s_2.strip()) #去掉头尾的空格
    print(s_2.lstrip()) #去掉左边的空格
    print(s_2.rstrip()) #去掉右边的空格
    
    #strip()也可以去掉指定的字符串
    s_3 = "liang123ying123"
    print(s_3.strip("123")) #liangying
    
    #字符串替换
    print(s_3.replace("123","huang"))
    print(s_3.replace("123","**",1)) #把123换成**,换1次
    #字符串切割
    print(s_3.split('i'))  #切割的结果是个list
    print(s_3.split('i',1)) #1指的是切割一次
    
    #如果切割依据在头或者尾,可能会出现空字符串
    应用:模拟用户登录,忽略用户输入的空格
    username = input("username:").strip()
    password = input("password:").strip()
    if username == "liang" and password == "123":
        print("succeed")

    (5)查找

    s = "liangying"
    print(s.find("yi")) #查找yi出现的位置,没有的话返回-1
    print(s.find("yi",0,5)) #从下标0到5,查找yi
    print(s.startswith("li")) #判断字符串是否以li开头
    print(s.endswith("ng")) #判断字符串是否以ng结尾
    print(s.index("i")) #找索引,找不到报错
    s.count("要查找的目标字符串") 返回查找到的个数

    (6)条件判断

    s = "123liangying&&"
    print(s.isalnum()) #判断字符串是否由字母或数字组成
    print(s.isnumeric()) #是否由数字组成,识别壹贰中文
    print(s.isdigit())#也是数字,不如上面的强大
    print(s.isalpha())#是否以字母组成

    应用:用算法判断某一个字符串是否是小数

    #判断一个字符串是否是小数
    
    while True:
        text = input("请输入字符串:")
        text = text.replace("-","") #以防出现负数,先替换掉
        if text.count('.') == 1 and not text.startswith('.') and not text.endswith('.'):
        #小数一定有小数点  不以小数点开头 不以小数点结尾
            lis = text.split('.') #用小数点进行分割 因为只有一个小数点,所以肯定分割成两部分
            if len(lis) == 2 and lis[0].isdigit() and lis[1].isdigit(): #分割成的两部分都是数字
                print("小数")
                break
        else:
            print("肯定不是小数")

    (7)计算字符串的长度

    len(str) 内置函数

    (8)迭代

    #遍历字符串 - 1
    s = "liangying"
    for i in s:
        print(i)
    
    # - 2
    index = 0
    while index <= len(s)-1:
        print(s[index])
        index += 1

    3、bool 布尔值

    判断真假,True False

    转换问题:

    0是False 非0是True int(bool) True是1, False是0

    str => bool bool(str) 空字符串是False, 不空是True
    bool => str str(bool) 把bool值转换成相应的"值"
  • 相关阅读:
    连续型随机变量
    离散型随机变量
    vue1.0生命周期
    vue2.0生命周期函数
    vue2.0 vue.set()
    vue2.0 vue.extend()的拓展
    vue2.0 自定义指令详解
    vue2.0 v-model指令
    vue2.0排序应该注意的问题
    vue2.0版本指令v-if与v-show的区别
  • 原文地址:https://www.cnblogs.com/liangying666/p/9122568.html
Copyright © 2020-2023  润新知