当前位置: 移动技术网 > IT编程>脚本编程>Python > 第三章 数据类型之整型、布尔、字符串

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

2019年07月12日  | 移动技术网IT编程  | 我要评论

中国年画,休闲垂钓视频,担保公司管理办法

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)

     

  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)

     

  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('你输入的不是数字')

     

  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'))

     

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

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

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

     

  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)

     

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

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

    # 示例一
    a = "abc23abab"
    b = a.startswith("a")
    print(b)    # true
    ​
    # 示例二
    a = "abc23abab"
    b = a.endswith("b")
    print(b)    # true

     

  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'

     

  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)

     

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

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

     

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

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

     

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

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

     

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

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

     

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

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

     

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网