zoukankan      html  css  js  c++  java
  • Python基础数据类型之int、bool、str

    数据类型:int  bool  str  list  元祖  dict  集合

    int:整数型,用于各种数学运算。

    bool:只有两种,True和False,用户判断。

    str:存储少量数据,进行操作(用单引号或双引号包起来的是字符串)

    list:列表,用 [] 括起来的是列表,用于存储大量的数据。

    元祖:用()括起来的内容是元祖。元祖是只读的。元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

    dict:字典。用{}大括号包起来。对应的是大量关系型信息。例如{'name':'小明','age':16}

    集合:用{}大括号包起来。例如:{1,2,2,3,5,6,7,9}

    一、int

    数字int :数字主要是用于计算,适用于各种数学运算,在这里需要学习的特殊一种是bit_length() ,是计算数字转换成二进制后的最少位数,相当于计算二进制数的长度。

    i = 11

    s1 = i.bit_length() 

    print(s1) 

    输出是 4

    二、bool

    布尔值就是两种:True 和 False 。

    PS:几种数据类型的相互转换

    int ---- str        所有的数字都可以转换成字符串类型的数字

    i = 2

    s2 = str(i)

    print(s2,type(s2))

    str ----- int      字符串中只有数字才能转换成整数类型 

    i = '2' 

    s3 = int (i) 

    print(s3,type(i))

    int ----- bool        非0输出的bool值都是True,只有 0 输出的是False

    i = 2

    s4 = bool(i)

    print(s4)

    输出是True

    i = 0

    s4 = bool(i)

    print(s4)

    输出是False

    bool ----- int            bool 值True转换成整数型的只有1, bool值False转换成整数型的只有0 #

    i = True

    s5= int(i)

    print(s5)

    i = False 

    s5= int(i)

    print(s5)

    PS:

    while True : 

    pass

    while 1 : 

    pass

    这两个循环比较,while 1 的运行效率更高。

    str ---- bool         只要输入的字符串非空,输出的bool就是True,空字符串输出的bool值是False,空格也算是有内容,不算空 

    i = '123456'

    s6 = bool(i) 

    print(s6) 

    输出的是True 

    i = ' 123456'

    s6 = bool(i)

    print(s6) 

    输出的是True

    i = ' ' 

    s6 = bool(i) 

    print(s6) 

    输出的是True 

    i = '' 

    s6 = bool(i) 

    print(s6)

    输出的是False

    例如:

    s       #这里的s是一个动态的字符串,可以检测输入的内容是不是空的
    if s:
        print('你输入的为空,请重新输入')
    else:
        pass

    三、字符串    str

    字符串的各种操作:

    1.字符串的索引和切片 

    索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。(用中括号【】来表示,负号代表倒着数,倒着数的时候从1开始)

    s = 'ABCDEFGHIJK'
    print(s7[0])
    # 输出是A
    print(s7[5])
    # 输出是F
    print(s7[8])
    # 输出是I
    print(s7[-1])
    # 输出是K
    print(s7[-3])
    # 输出是I

     切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。(用中括号【】来表示)

    s8 = s[0:4]
    print(s8)
    # 输出的是ABCD
    s8 = s[0:-1]
    print(s8)
    # 输出的是ABCDEFGHIJ
    s8 = s[0:]
    print(s8)
    # 输出的是ABCDEFGHIJK
    s8 = s[:]
    print(s8)
    # 输出的是ABCDEFGHIJK
    s8 = s [0:8:2]
    print(s8)
    #输出的是ACEG
    s8 = s [::3]
    print(s8)
    #输出的是ADGJ
    s8 =s [8:1:-2]
    print(s8)
    # 输出的是IGEC

     2.(1)字符串首字母大写

    字符串.capitalize()

    s = 'guobeibei   sir  is A Man '
    s9 = s.capitalize()
    print(s9)
    # 输出的是  Guobeibei   sir  is a man

     (2)字符串全大写(字符串.upper())全小写(字符串.lower())

    s10 = s.upper()
    s11 = s.lower()
    print(s10)
    print(s11)
    # 输出的是  GUOBEIBEI   SIR  IS A MAN
    #           guobeibei   sir  is a man

    例如:输入验证码

    s_str = 'aCq4'
    you_input = input('请输入验证码,不区分大小写')
    if s_str.upper() == you_input.upper() :
        print('输入成功')
    else:
        print('请重新输入')

    (3)大小写翻转

    s12 = s.swapcase()
    print(s12)
    # 输出的是   GUOBEIBEI   SIR  IS a mAN

    (4)每个隔开(空格,特殊字符或者数字)的单词首字母大写

    s13 = s.title()
    print(s13)
    # 输出的是  Guobeibei   Sir  Is A Man

    (5)内同居中,总长度,空白处填充

    s14 = s.center(30,'+')
    print(s14)
    # 输出的是  ++guobeibei   sir  is A Man ++

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

    s = 'ace	sir'
    s15 = s.expandtabs()
    print(s15)
    # 输出的是  ace     sir

    (7)公共方法 计算字符串长度

    l = len(s)
    print(l)
    # 输出的是 26

    (8)startswith 判断是否以...开头

    s16 = s.startswith('gu')
    print(s16)
    # 输出的是 True

    (9)endswith 判断是否以...结尾

    s17 = s.endswith('an ')
    print(s17)
    # 输出的是 True

    (10)寻找字符串中的元素是否存在 find 通过元素找索引,找到输出索引数,找不到返回-1 从左向右,找到第一个就停止了

    s18 = s.find('i')
    print(s18)

     (11)寻找字符串中的元素是否存在 index通过元素找索引,找到输出索引数,找不到报错 从左向右,找到第一个就停止了

    s19 = s.index('i')
    print(s19)

     (12)strip rstrip lstrip strip 默认删除前后空格 ()里有就可以删除什么 rstrip 只删除右边的 lstrip只删除左边的

    s = 'alexWUsir%'
    s9 = s.strip('%')
    print(s9)
    s = ' *a%lexWUsi* r%'
    s91 = s.strip(' %*')
    print(s91)

    例如:

    username = input('请输入名字:').strip()
    if username =='春哥':
        print('恭喜春哥发财')

    (13)计数器 .count('') 计算某元素在字符串出现的次数

    s = 'alexaa wusirl'
    s10 = s.count('a')
    print(s10)

    (14)split 以什么分割,最终形成一个列表此列表不含有这个分割的元素 str ---->list

    s = ';alex;wusir;taibai'
    l = s.split('a')
    print(l)
    # 输出的是    [';', 'lex;wusir;t', 'ib', 'i']

    (15)格式化输出 format的三种玩法

    s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白',36,'girl','太白') 
    print(s)
    name = input('请输入名字:') s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,36,'girl')
    print(s)
    name = input('请输入名字:') s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='girl')
    print(s)

    # 注:前两种方式考虑顺序对应关系,最后一种不考虑顺序对应关系。

    (16)替换 s.replace(老字符,新字符,替换几个老字符)    默认的是替换全部字符

    s = '来看待街坊邻居复合大师街坊法好的撒见客户'
    s11 = s.replace('街坊','老王',1)
    print(s11)
    #输出的是   来看待老王邻居复合大师街坊法好的撒见客户
    s = '来看待街坊邻居复合大师街坊法好的撒见客户'
    s11 = s.replace('街坊','老王',2)
    print(s11)
    #输出的是 来看待老王邻居复合大师老王法好的撒见客户

    #####is系列
    name='jinxin123'
    print(name.isalnum()) #字符串由字母或数字组成
    print(name.isalpha()) #字符串只由字母组成
    print(name.isdigit()) #字符串只由数字组成

    for in 循环

    s = 'fhdsklfds'
    for i in s:
        print(i)
    # 输出的是
    # f
    # h
    # d
    # s
    # k
    # l
    # f
    # d
    # s
    s = 'fdsa苍井空fdsalk'
    if '苍井空' in s:
        print('您的评论有敏感词...')
    # 输出的是 您的评论有敏感词...
  • 相关阅读:
    设计模式(三)原型模式
    PageHelper在Mybatis中的使用
    设计模式(二) 单例模式
    设计模式(一)简单工厂、工厂方法和抽象工厂
    Java网络编程
    循环控制语句if 、for、case、while
    处理海量数据的grep、cut、awk、sed 命令
    shell脚本的输入以及脚本拥有特效地输出
    shell的变量以及常见符号
    shell的使用技巧
  • 原文地址:https://www.cnblogs.com/DI-DIAO/p/8059091.html
Copyright © 2011-2022 走看看