第三章 数据类型之整型、布尔、字符串

2019-07-24 09:21:22来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

3.1 整型(int)

  1. 整型的长度

    py2中有:int/long

    • 在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647

    • 在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

    • 超出长度之后就会变为long类型。

    py3中有:int (int/long)

  2. 整除

    py2和py3中整除是不一样。

    注意:在python2中使用除法时,只能保留整数位,如果想要保留小数位,可以先导入一个模块。

    from __future__ import division 
    value = 3/2
    print(value)

3.2 布尔(bool)

  1. 布尔值就是用于表示真假。True和False。

  2. 其他类型转换成布尔值为False:

    • 0

    • ""

    • []

    • ()

    • {}

    • set()

    • None

  3. 其他类型转换成布尔值为False:

    • 除了以上其他转换都是True

3.3 字符串(str)

  字符串是写代码中最常见的,python内存中的字符串是按照:unicode 编码存储。对于字符串是不可变。

  字符串自己有很多方法,如:

  1. upper() #全部大写  isupper() #

    v = 'ALEX'
    v1 = v.upper()
    print(v1)
    v2 = v.isupper() # 判断是否全部是大写
    print(v2)
    View Code

     

  2. 小写:lower

    v = 'alex'
    v1 = v.lower()
    print(v1)
    v2 = v.islower() # 判断是否全部是小写
    print(v2)
    ?
    ?
    ############ 了解即可
    v = 'ß'
    # 将字符串变小写(更牛逼)
    v1 = v.casefold()
    print(v1) # ss
    v2 = v.lower()
    print(v2)
    View Code

     

  3. 判断是否是数字: isdecimal

    v = '1'
    # v = '二'
    # v = '②'
    v1 = v.isdigit()  # '1'-> True; '二'-> False; '②' --> True
    v2 = v.isdecimal() # '1'-> True; '二'-> False; '②' --> False
    v3 = v.isnumeric() # '1'-> True; '二'-> True; '②' --> True
    print(v1,v2,v3)
    # 以后推荐用 isdecimal 判断是否是 10进制的数。
    ?
    # ############## 应用 ##############
    ?
    v = ['alex','eric','tony']
    ?
    for i in v:
        print(i)
    ?
    num = input('请输入序号:')
    if num.isdecimal():
        num = int(num)
        print(v[num])
    else:
        print('你输入的不是数字')
    View Code

     

  4. strip() #去除两边空格 +\t+\n + 指定字符串

    .lstrip() #去除左边空格

    .rstrip()#去除右边空格

    v1 = "alex "
    print(v1.strip())
    ?
    v2 = "alex\t"
    print(v2.strip())
    ?
    v3 = "alex\n"
    print(v3.strip())
    ?
    v1 = "alexa"
    print(v1.strip('al'))
    View Code

     

  5. replace("被替换的字符/子序列","要替换为的内容") .

    replace("被替换的字符/子序列","要替换为的内容",几次).

    # 示例一
    a = "abc23"
    b = a.replace("ab","12")
    print(b)    # 12c23
    ?
    # 示例二
    a = "abc23abab"
    b = a.replace("ab","12",2)
    print(b)    # 12c2312ab
    View Code

     

  6. split('根据什么东西进行分割') #从左往右分割

    split('根据什么东西进行分割', 几次) #从左往右分割

    rsplit('根据什么东西进行分割') #从右往左分割

    rsplit('根据什么东西进行分割', 几次) #从右往左分割

    partition('3') # 将指定字符串分为三分:前面,自己,后面

    # 示例一
    a = "abc23abab"
    b = a.split("b")
    print(b)    #['a', 'c23a', 'a', ''] 
    ?
    # 示例二
    a = "abc23abab"
    b = a.split("b",2)
    print(b)    # ['a', 'c23a', 'ab']
    ?
    # 示例三
    a = "abc23abab"
    b = a.rsplit("b")
    print(b)    # ['a', 'c23a', 'a', '']
    ?
    # 示例三
    a = "abc23abab"
    b = a.rsplit("b",2)
    print(b)    # ['abc23a', 'a', '']
    ?
    v1 = v.partition('3') # 将指定字符串分为三分:前面,自己,后面
    print(v1)
    View Code

     

  7. startswith() # 判断是否以什么开头

    endswith() #判断是否以什么结尾

    # 示例一
    a = "abc23abab"
    b = a.startswith("a")
    print(b)    # True
    ?
    # 示例二
    a = "abc23abab"
    b = a.endswith("b")
    print(b)    # True
    View Code

     

  8. encode() # 指定的编码格式编码字符串

    name = '李杰' # 解释器读取到内存后,按照unicode编码存储:8个字节。
    v1 = name.encode('utf-8')
    print(v1)
    v2 = name.encode('gbk') # b'\xe6\x9d\x8e\xe6\x9d\xb0'   b为字节
    print(v2)              # b'\xc0\xee\xbd\xdc'
    View Code

     

  9. format format_map # 字符串格式化的功能。

    基本语法是通过 {}: 来代替以前的 %

    format 函数可以接受不限个参数,位置可以不按顺序。

    a = "{} {}".format("hello", "world")   # 不设置指定位置,按默认顺序
    print(a)    # 'hello world'
     
    a = "{0} {1}".format("hello", "world")  # 设置指定位置
    print(a)    # 'hello world'
     
    a = "{1} {0} {1}".format("hello", "world")  # 设置指定位置
    print(a)    # 'world hello world'
    ?
    v= '我是{0},谢谢谢 {1}'.format('alex',19)
    print(v)
    v= '我是{x1},谢谢谢 {xx}'.format_map({'x1':'alex','xx':19})
    print(v)
    ?
    # v1 = "我是{0},年龄{1}".format('alex',19)
    v1 = "我是{0},年龄{1}".format(*('alex',19,))
    print(v1)
    ?
    # v2 = "我是{name},年龄{age}".format(name='alex',age=18)
    v2 = "我是{name},年龄{age}".format(**{'name':'alex','age':18})
    print(v2)
    View Code

     

  10. join() # 将序列中的元素以指定的字符连接生成一个新的字符串。

    name = 'abcd' # a_b_c_d
    result = "+".join(name) # 循环每个元素,并在元素和元素之间加入连接符。
    print(result)   # a+b+c+d
    View Code

     

  11. center() 该方法返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。

    str = 'runoob'
    str.center(20, '*')
    '*******runoob*******'
    str.center(20)
    '       runoob       '
    View Code

     

  12. rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。

    str = "this is string example....wow!!!"
    print (str.rjust(50, '*'))
    # ******************this is string example....wow!!!
    View Code

     

  13. count 计算子序列出现的次数

    v = 'aealeax'
    v1 = v.count('ea')
    print(v1)
    View Code

     

  14. find,找索引位置(从左到右找到第一个),存在则返回索引位置,不存在则返回 -1 index, 找索引位置(从左到右找到第一个),存在则返回索引位置,不存报错

    v = 'alexex'
    index = v.find('u')
    print(index
    View Code

     


原文链接:https://www.cnblogs.com/dpsy921/p/11172697.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:python小游戏贪吃蛇源码下载

下一篇:微信推送功能实现