zoukankan      html  css  js  c++  java
  • 基础数据类型(数字、布尔值、字符串)

    一、数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示

     数据类型

      数字

      字符串

      列表

      元组

      字典

      集合

    二基础数据类型

    2.1数字int

    数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:

    #bit_length() 当十进制用二进制表示时,最少使用的位数
    i = 3
    print(i.bit_length())
    b = 11
    print(b.bit_length())

    输出:

    2
    4

    三、布尔值bool。

    布尔值就两种:True,False。就是反应条件的正确与否。

    真   1   True。

    假   0   False。    

    字符串--->bool值 bool(str)

    #非空字符串转换成bool True
    #'' 空字符串转换成bool False

    s = 'sdfa'
    s1 = 'a'
    s2 = '1'
    s3 = ''
    print(bool(s))
    print(bool(s1))
    print(bool(s2))
    print(bool(s3))

    输出:

    True
    True
    True
    False

    #bool--->str值

    a = str(True)
    a1 = str(2 > 1)
    b = str(False)

    print(a,type(a))
    print(a1,type(a1))
    print(b,type(b))

    输出:

    True <class 'str'>
    True <class 'str'>
    False <class 'str'>

    应用:

    #name = ''
    # if name:
    #     print('输入正确')
    # else:
    #     print('请输入内容')

    四、字符串str:

    字符串的索引与切片

    索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。

    s1 = 'python全栈8期'
    # 索引从0开始 [索引(下标,index)]
    print(s1[0])
    print(s1[3])
    print(s1[5])
    print(s1[6])
    print(s1[-1])

    输出:

    p
    h
    n
    全
    期

    切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。

    s1 = 'python全栈8期'
    print(s1[0:6])
    print(s1[6:10])
    print(s1[6:11])
    print(s1[6:])
    print(s1[1:5])
    print(s1[0:5:2])
    print(s1[0:7:3])

    输出:

    python
    全栈8期
    全栈8期
    全栈8期
    ytho
    pto
    ph全

    #倒取值:加步长

    s1 = 'python全栈8期'
    print(s1[3::-1])
    print(s1[5:0:-2])
    print(s1) #不变
    s2 = s1[0:6]
    print(s2)

    输出:

    htyp
    nhy
    python全栈8期
    python

     4.1字符串的常用方法:

    ret = 'alexS'
    #字符串的使用方法。
    # * capitalize 首字母大写,其他的全小写
    ret.capitalize()
    print(ret)
    ret1 = ret.capitalize()
    print(ret1)

    输出:

    alexS
    Alexs

    大小写反转:

    ret = "alexS"
    # * upper,lower  字母全部大写或者小写
    ret2 = ret.upper()
    ret3 = ret.lower()
    # print(ret2,ret3)

    输出:

    ALEXS alexs

    应用:

    code = 'A'
    your_code = input('请输入验证码,不区分大小写')
    if your_code == 'A' or your_code == 'a':
        print('您输入的正确')
    else:print('请重新输入')
    
    code = 'adeE'.upper()
    your_code = input('请输入验证码,不区分大小写').upper()
    if your_code == code:
        print('您输入的正确')
    else:print('请重新输入')

    大小写翻转:

    ret = "alexS"
    ret4 = ret.swapcase()
    print(ret4)

    输出:

    ALEXs

    以特殊符号或者空格隔开,每一个字符串首字母大写 title()

    msg='egon say hi'
    print(msg.title()) #每个单词的首字母大写

    输出:

    Egon Say Hi

    # * 居中,总长度,空白处填充.center()

    a1 = "老男孩"
    ret2 = a1.center(20,"*")
    print(ret2)
    ret = 'alexS'
    print(ret.center(20))
    print(ret.center(20,'*'))  # *******alexS********

    输出:

    ********老男孩*********
           alexS        
    *******alexS********

    #startswith 判断是否以...开头

    #endswith 判断是否以...结尾

    # * 返回bool值  startswith endswith

    ret5 = ret.startswith('a')
    ret5 = ret.startswith('ale')
    ret5 = ret.startswith('alexS')
    ret5 = ret.startswith('l',1,3)  # 切片
    print(ret5)
    #数字符串中的元素出现的个数。
    # ** count
    ret22 = 'alexS,aeaeQ'
    ret7 = ret22.count('a')
    ret7 = ret22.count('ale')  # 整体与个体
    ret7 = ret22.count('W')  # 0
    ret7 = ret22.count('a',0,7)  # 切片的count
    print(ret7)

    # 前面的补全

    # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,
    #如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。

    a2 = "qwaaaaaaaa	aa"
    ret8 = a2.expandtabs()
    print(ret8,len(ret8))

    输出:

    qwaaaaaaaa      aa 18

    * find 通过元素找到索引(找到第一个元素),找不到返回-1

    ret = 'aleaxS'
    ret9 = ret.find('a')
    # ret9 = ret.find('W',0,5) #可以切片
    print(ret9)


    #寻找字符串中的元素是否存在
    # ret6 = a4.find("fjdk",1,6)
    # print(ret6)  # 返回的找到的元素的索引,如果找不到返回-1
    
    # ret61 = a4.index("fjdk",4,6)
    # print(ret61) # 返回的找到的元素的索引,找不到报错。
    

    #index 和find用法一模一样,找不到元素,就会报错

    ret = 'aleaxS'
    ret10 = ret.index('w')
    print(ret10)

    # * strip 去除字符串前后的空格及你想去除的元素

    ret11 = '   alex   '.strip()
    print(ret11)

    应用:

    name = 'alex'
    username = input('请输入你的用户名:').strip()
    if username == name :
        print('登录成功')
    # ret11 = '  alex   '.lstrip()
    # print(ret11)
    # ret11 = '  alex   '.rstrip()
    # print(ret11)
    #一:
    # ret12 = 'asldfkjafa'.strip('a')
    # print(ret12)
    #二:
    # ret13 = 'asldfkjafa'.strip('sa')
    # print(ret13)
    # ret13 = 'asldfkjafa'.strip('salf')
    # print(ret13)
    # ret14 = 'asldfkajafa'.strip('saWlf')
    # print(ret14)

    #split * 将字符串分割成列表

    ret15 = 'jinxin alex wusir'
    ret16 = ret15.split()
    print(ret16)

    输出:

    ['jinxin', 'alex', 'wusir']
    ret15 = 'jinxin,alex,wusir'
    ret16 = ret15.split(',')
    print(ret16)

    输出:

    ['jinxin', 'alex', 'wusir']
    ret15 = 'title tle tlie'
    ret16 = ret15.split('t')
    print(ret16)

    输出:

    ['', 'i', 'le ', 'le ', 'lie']

    #  * 替换 replace

    ret18 = '粉红色打开了粉红色级第三粉红色'
    ret19 = ret18.replace('粉红色','嫩绿色',1)
    print(ret19)

    输出:

    嫩绿色打开了粉红色级第三粉红色

    五、其他用法

    5.1格式化输出

    #第一种:
    # ret20 = 'name:{},sex:{},身高:{}'.format('alex','ladyboy',178)
    # print(ret20)
    #第二种:
    # ret20 = 'name:{0},sex:{1},身高:{2},name:{0}'.format('alex','ladyboy',178)
    # print(ret20)
    #第三种:键值对
    # ret20 = 'name:{name},sex:{sex},身高:{high},name:{name}'
    #     .format(sex = 'ladyboy',high = 178,name='alex')
    # print(ret20)

    #res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
    
    
     

    5.2判断条件

    # 判断条件
    # name='123'
    # print(name.isalnum()) #字符串由字母或数字组成
    # print(name.isalpha()) #字符串只由字母组成
    # print(name.isdigit()) #字符串只由数字组成

    应用:(查字符串中有几个数字)

    s = 'fs4dkjla123fkj2dsa'
    count = 0
    for i in s:
        if i.isdigit():
            count += 1
        else:print(666)
    print(count)

    5.3字符串不能被改变,只能重新赋值

    s = 'aelsdskjl'
    s = s[1:]
    print(s)

    5.4测量长度

    print(len(s)) #测量长度

    应用:(字符串从头到尾依次输出)

    
    
    s = 'aelsdskjl'
    index = 0
    while True:
    print(s[index])
    index += 1
    if index == len(s):break
     
    #for 变量 in 可迭代对象
    s = 'fs4dkjla123fkj2dsa'
    for i in s:
        print(i)

     join:

    字符串使用join,还是字符串

    s = 'alex'
    s1 = "_".join(s)
    print(s1)
    
    输出:
    a_l_e_x

    列表使用join,变成字符串

    li = ['alex','wusir','rain']
    s1 = "*".join(li)
    print(s1)
    
    输出:
    alex*wusir*rain

    字符串变列表:

    s = 'alexwusir'
    li = [s[0:4],s[4:]]
    print(li)
    
    输出:
    ['alex', 'wusir']
  • 相关阅读:
    OpenGL第十节:彩色键控与混合
    OpenGL第九节:操作像素点去更新纹理
    OpenGL第八节:非二次幂的纹理渲染处理
    OpenGL第七节:纹理绘制裁剪图片的指定部分
    OpenGL第六节:加载png图片
    OpenGL第五节:纹理贴图和像素操作
    OpenGL第四节:滚动和矩阵栈
    OpenGL第三节:Viewport视口
    OpenGL第二节:绘制多个颜色四边形
    TextView关键字高亮
  • 原文地址:https://www.cnblogs.com/biluo/p/7746043.html
Copyright © 2011-2022 走看看