zoukankan      html  css  js  c++  java
  • python基础数据类型一

    一、基础数据类型初始

         int 运算。+ - * / ** %...

        bool :判断,真假,作为条件。

        str.存储少量的数据。'太白','password'...操作简单,便于传输。

        list 列表 [1,2,'alex',{'name':'老男孩'}] 存放大量的数据,大量的数据放在列表中便于操作。

        tuple 元组 只读列表。(1,2,{'name':'老男孩'})

        dict 字典 {'name_list':[nana...]},储存关系型的数据。查询速度非常快,二分查找。

        set 集合。交集,并集,差集....

    二、INT型

      

    # bit_lenth
    i = 4
    print(i.bit_length())
    # # 转化成二进制的最小位数。
    # """
    # 1     0000 0001
    # 2     0000 0010
    # 3     0000 0011
    # 4     0000 0100
    # """

    三、bool型

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

      真 1 True

      假 0 False

      int-->str str(int)

      str-->int int(str)

      int--->bool 0 代表false 非零代表True

      str--->bool 非空 为True ,空字符串就是False

      bool-->str 无意义 ,很少用到

    s1 = ''
    if s1:
        print(666)
    else:
        print(111)
    s = str(True)
    print(s,type(s))
    # 结果
    # 111
    # True <class 'str'>

    四、str型

      一、索引与切片

          

    #索引与切片 s[起始索引:截止索引:步长]
    s = '老男孩是最好的培训机构'
    #索引
    s1 = s[0]
    print(s1)
    s2 = s[2]
    print(s2)
    s3 = s[-1]
    print(s3)
    #切片  顾头不顾腚
    s4 = s[0:3]
    print(s4)
    s41 = s[:3]
    print(s41)
    s5 = s[3:7]
    print(s5)
    s6 = s[:]
    print(s6)
    #步长
    s7 = s[:5:2]
    print(s7)
    s8 = s[:7:3]
    print(s8)
    # 反向步长
    s7 = s[-1:-5:-1]
    print(s7)

    答案:




    老男孩
    老男孩
    是最好的
    老男孩是最好的培训机构
    老孩最
    老是的
    构机训培

      二、字符串常用方法

     

    s = 'laonanHai'
    #*** 首字母大写,其他字母小写
    s1 = s.capitalize()
    print(s1)
    
    #***全部大写,全部小写
    s2 = s.upper()
    s3 = s.lower()
    print(s2,s3)
    code = 'aeQu'.upper()
    your_code = input('请输入验证码').upper()
    if your_code == code:
        print('验证码输入成功')
    s = 'laonanHai'
    # * 居中center
    s4 = s.center(30)
    print(s4)
    s4 = s.center(30,'*')
    print(s4)
    
    #**大小写翻转
    s5 = s.swapcase()
    print(s5)
    s = 'alex wusir*laonanhai2taibai'
    #每个单词的首字母大写(非字母隔开)
    s6 =s.title()
    print(s6)
    
    s = 'alexlaonanhai'
    #***判断以什么为开头,以什么为结尾。
    # startswith endswith()
    s7 = s.startswith('a')
    s71 = s.startswith('al')
    s72 = s.startswith('alex')
    s73 = s.startswith('alex')
    s74 = s.startswith('l', 4)
    print(s74)
    print(s7,s71,s72,s74)
    s = '  laonanhai '
    s = '
    laonanhai	'
    # ***去除首尾的空格,换行符,tab
    # 去除左边的空格,换行符,tab   lstrip()
    # 去除右边的空格,换行符,tab   rstrip()
    #strip()
    print(s)
    print(s.strip())
    print(s.lstrip())
    print(s.rstrip())
    name = input('请输入用户名:').strip()
    if name == 'alex':
        print(666)
    s = ',laoxnanhaialexl'
    print(s.strip(',lax'))
    s = 'alexex'
    # *** find  index 通过元素找索引
    print(s.find('e'))
    print(s.find('e',3))
    print(s.find('A'))
    # print(s.index('A')) #执行报错
    s = 'alexex'
    #*** count 寻找元素出现的个数 可切片
    print(s.count('e'))
    print(s.count('ex'))
    a1='ladsfaldfakd000lsd32320'
    ret3 = a1.count("a") # 可切片
    print(ret3)
    #***replace 替换
    s = '将发生多了范德萨发范德萨回复'
    s1 = s.replace('范德萨', '小粉嫩')
    print(s1)
    s2 = s.replace('范德萨', '小粉嫩',1)
    print(s2)
    s3 = s.replace('范德萨', 'sb')
    print(s3)
    
    # ***** split 分割  str ---> list
    s = 'alex wusir taibai'
    print(s.split())
    s1 = 'alex,wusir,taibai'
    print(s1.split(','))
    s2 = 'alexawusirataibai'
    print(s2.split('a'))
    s3 = 'alexawusirataibai'
    print(s3.split('a',1))  # 分割次数
    
    
    #***** format 格式化输出
    #三种用法
    #第一种用法:
    s = '我叫{},今年{},爱好{}'.format('MT',18,'母牛')
    print(s)
    #第二种用法
    s = '我叫{0},今年{1},爱好{2},我依然叫{0},今年还是{1}'
        .format('MT',18,'母牛')
    print(s)
    #第三种 键值对
    s = '我叫{name},今年{age},爱好{hobby}'.format(age=18, name='MT', hobby='闷儿')
    print(s)
    name='123a'
    print(name.isalnum()) #字符串由字母或数字组成
    print(name.isalpha()) #字符串只由字母组成
    print(name.isdigit()) #字符串只由数字组成
    if name.isdigit():
        name = int(name)
        print(name,type(name))
    else:
        print('您输入的由非数字元素')

    答案:

    Laonanhai
    LAONANHAI laonanhai
    请输入验证码abc
    laonanHai
    **********laonanHai***********
    LAONANhAI
    Alex Wusir*Laonanhai2Taibai
    True
    True True True True

    laonanhai
    laonanhai
    laonanhai

    laonanhai
    请输入用户名:asb
    oxnanhaiale
    2
    4
    -1
    2
    2
    3
    将发生多了小粉嫩发小粉嫩回复
    将发生多了小粉嫩发范德萨回复
    将发生多了sb发sb回复
    ['alex', 'wusir', 'taibai']
    ['alex', 'wusir', 'taibai']
    ['', 'lex', 'wusir', 't', 'ib', 'i']
    ['', 'lexawusirataibai']
    我叫MT,今年18,爱好母牛
    我叫MT,今年18,爱好母牛,我依然叫MT,今年还是18
    我叫MT,今年18,爱好闷儿
    True
    False
    False
    您输入的由非数字元素

    五、for用法

      for...else和while...else用法一样:

      都是正常执行完结执行else,非正常退出执行else

    s = 'fdsafdsaf'
    count = 0
    while count < len(s):
        print(s[count])
        count += 1
    
    s = 'fdsafdsaf'
    for i in s:
        print(i)

    答案:

    9
    f
    d
    s
    a
    f
    d
    s
    a
    g
    f
    d
    s
    a
    f
    d
    s
    a
    g

     六、练习题

    1,有变量name = "aleX leNb" 完成如下操作:

    1)       移除 name 变量对应的值两边的空格,并输出处理结果

    2)       移除name变量左边的’al’并输出处理结果

    3)       移除name变量右面的’Nb’,并输出处理结果

    4)       移除name变量开头的a’与最后的’b’,并输出处理结果

    5)       判断 name 变量是否以 "al" 开头,并输出结果

    6)       判断name变量是否以”Nb”结尾,并输出结果

    7)       将 name 变量对应的值中的 所有的“l” 替换为 “p”,并输出结果

    8)       将name变量对应的值中的第一个’l’替换成’p’,并输出结果

    9)       将 name 变量对应的值根据 所有的“l” 分割,并输出结果。

    10)  将name变量对应的值根据第一个’l’分割,并输出结果。

    11)  将 name 变量对应的值变大写,并输出结果

    12)  将 name 变量对应的值变小写,并输出结果

    13)  将name变量对应的值首字母’a’大写,并输出结果

    14)  判断name变量对应的值字母’l’出现几次,并输出结果

    15)  如果判断name变量对应的值前四位’l’出现几次,并输出结果

    16)  从name变量对应的值中找到’N’对应的索引(如果找不到则报错),并输出结果

    17)  从name变量对应的值中找到’N’对应的索引(如果找不到则返回-1)输出结果

    18)  从name变量对应的值中找到’X le’对应的索引,并输出结果

    19)  请输出 name 变量对应的值的第 2 个字符?

    20)  请输出 name 变量对应的值的前 3 个字符?

    21)  请输出 name 变量对应的值的后 2 个字符?

    22)  请输出 name 变量对应的值中 “e” 所在索引位置?

     1 name = "aleX leNb"
     2 print(name.strip())
     3 print(name.lstrip('al'))
     4 print(name.rstrip('Nb'))
     5 print(name.strip('ab'))
     6 print(name.startswith('al'))
     7 print(name.endswith('Nb'))
     8 print(name.replace('l','p'))
     9 print(name.replace('l','p',1))
    10 print(name.split('l'))
    11 print(name.split('l',1))
    12 print(name.upper())
    13 print(name.lower())
    14 print(name.capitalize())
    15 print(name.count('l'))
    16 print(name.count('l',0,4))
    17 print(name.index('N'))
    18 print(name.find('N'))
    19 print(name.find('X le'))
    20 print(name[1])
    21 print(name[:3])
    22 print(name[-2:])
    23 place = name.index('e')
    24 print(place,"and",name.find( 'e',place+1))

    结果:

    aleX leNb
    eX leNb
    aleX le
    leX leN
    True
    True
    apeX peNb
    apeX leNb
    ['a', 'eX ', 'eNb']
    ['a', 'eX leNb']
    ALEX LENB
    alex lenb
    Alex lenb
    2
    1
    7
    7
    3
    l
    ale
    Nb
    2 and 6

    获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。

    s = 'oldboy'
    print(s[:-1])

    2,有字符串s = ‘123a4b5c’

    1)通过对li列表的切片形成新的字符串s1,s1 = ‘123’

    2)通过对li列表的切片形成新的字符串s2,s2 = ‘a4b’

    3)通过对li列表的切片形成新的字符串s3,s3 = ‘1345’

    4)通过对li列表的切片形成字符串s4,s4 = ‘2ab’

    5)通过对li列表的切片形成字符串s5,s5 = ‘c’

    6)通过对li列表的切片形成字符串s6,s6 = ‘ba2’

    1 s = '123a4b5c'
    2 s1 = s[:3]
    3 s2 = s[3:-2]
    4 s3 = s[::2]
    5 s4 = s[1:-1:2]
    6 s5 = s[-1:]
    7 s6 = s[-3::-2]

    3,使用while和for循环分别打印字符串s=’asdfer’中每个元素。

     1 #while
     2 s = 'asdfer'
     3 counte = 0
     4 while counte < len(s):
     5     print(s[counte])
     6     counte += 1
     7 #for    
     8 s = 'asdfer'
     9 for i in s:
    10     print(i)

    4,实现一个整数加法计算器(两个数相加):

    如:content = input(‘请输入内容:’)  # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。

    1 content = input('请输入内容:')
    2 number = content.split('+')
    3 sum = 0
    4 for i in number:
    5     sum += int(i.strip())
    6 print(sum)

    5,计算用户输入的内容中有几个整数(以个位数为单位)。

    如:content = input(‘请输入内容:’)   # 如fhdal234slfh98769fjdla

    1 counte = 0
    2 content = input('请输入内容:')
    3 for i in content:
    4     if i.isdigit():
    5         counte += 1
    6 print(counte)

    明日默写内容:

    分别用while,for循环输出字符串s = input(‘你想输入的内容’)的每一个字符。

     1 #while
     2 s = input('你想输入的内容')
     3 counter = 0
     4 while counter < len(s):
     5     print(s[counter])
     6     counter += 1
     7 #for
     8 s = input('你想输入的内容')
     9 for i in s:
    10     print(i)
  • 相关阅读:
    开发工具 内存,性能检测工具
    数据结构 二分法查找
    C语言 goto语句
    C语言 结构体中的零长度数组
    C语言 结构体(联合体)对齐规则
    C++ STL堆操作
    C语言 sscanf用法详解
    Sword 内核队列二
    Sword 内核队列一
    Sword libcurl回调函数相关知识
  • 原文地址:https://www.cnblogs.com/qiujie/p/8609175.html
Copyright © 2011-2022 走看看