zoukankan      html  css  js  c++  java
  • int, bool, string的操作

    基本数据类型

    1.int型

      可以求整数的二进制长度.输入一个数字a,"a.bit_length()"语法求a的二进制长度.

    a = 3   #二进制为11
    print(a.bit_length())#结果为2

    2.bool型

      bool型的取值只有True和False两种结果.可以语str型,int型转换.用括号把要转换的给括起来,例如,int型转bool型: bool(int). 记住带空(None也是空)的都是False,不带空的都是True.

    a = 0
    b = bool(a)#0是False,非0是True
    print(b)#False

    3.str型

      字符串有很多操作,例如索引,切片,格式化输出,查找,条件判断等

    (1) 索引

      索引就是字符串的下标,下标是从0开始,例如"qwertyu"长度为7,但是它的索引范围是从0到6.索引操作如图:

    s = "qwertyuiop"
    print(s[0])#结果为q
    print(s[1])#结果为w
    print(s[2])#结果为e
    print(s[3])#结果为r
    print(s[4])#结果为t
    ......

    (2) 切片

      用字符串的下标来截取部分字符串内容.语法:str[start:end],str是字符串,start是下标开始的位置,end是下标结束的位置.start为空表示从头开始切,end为空表示切到尾.注意切片是顾头不顾尾,只能截取到end的前一个位置.

     

    s = "这是一个很长的字符串"
    s1 = s[2:6]#下标从2到6截取,但不包括下标为6的字符
    print(s1)#一个很长

      也可以反方向截取(从右往左),下标开始值为-1.

    s = "这是一个很长的字符串"
    s1 = s[-6:]#从下标-6截取到尾
    print(s1)#很长的字符串

      也能执行跳着截取操作语法:str[start:end:步数],步数就是每隔几个取一个

    s = "这是一个很长的字符串"
    s1 = s[ ::2]#从头到尾,每隔两个截取一个
    print(s1)#这一很的符

       总结一下切片不同的截取方式

    a = "qwertyuiop"
    print(a[2:6]) #erty
    print(a[2:6:-1])#从2到6(从左到右)什么都没有,因为是从右到左获取的
    print(a[-2:-6:1])#从-2到-6(从右到左)什么都没有,因为是从左到右获取的
    print(a[-2:-6:-1])#oiuy
    print(a[-6:-2:1])#tyui
    print(a[-6:-2:-1])#无结果
    print(a[-1:1])#从-1到1(从右往左)什么都没有,因为默认是从左到右获取 print(a[-1:1:-1])#poiuytre print(a[1:-1:-1])#无结果 print(a[1:-1:1])#wertyuio print(a[:-1:-1])#无结果 print(a[:-1:1])#qwertyuio print(a[-1::1])#p print(a[-1::-1])#poiuytrewq#从-1到结尾,这里的结尾就是从左到右的开始端"q" print(a[::-1])#poiuytrewq

    4.字符串的相关操作方法.

    切记,字符串是不可改变的对象,任何操作对字符串不会有任何影响.

    (1) 大小写转换

      1)  首字母大写

      语法: s2 = s1.Capitalize() ,注意转换时要把值赋给另一个变量,print(s2)才是我们转换的值,print(s1)的结果还是原来的字符串

    s = "qweRTyuiop"
    s1 = s.capitalize()  # 首字母大写
    print(s)    # 原字符串不变还是 qweRTyuiop
    print(s1) #Qwertyuiop 原字符串中大写的字母变成小写,只有首字母变成大写

      2)   全部转换成大(小)写

      语法:大写:s1 = s.upper(). 小写:s2 = s.lower()

    s = "qweRTyuiop"
    print(s.upper()) #QWERTYUIOP
    print(s.lower()) #qwertyuiop

      3) 大小写互换

      语法:s1 = s.swapcase()

    s = "qweRTyuiop"
    print(s.swapcaser()) #QWErtYUIOP

    (2) 切来切去

      1) 居中

      语法: s.center().让输出的内容居中.

    s = "周杰伦"
    print(s.center(5, "*")) # *周杰伦*

      2)去空格

      语法:s.strip().

    s = "  qweR Tyu iop  "
    print
    (s.strip()) #qweRTyuiop

      3) 字符串替换

      语法:s.replace()

    s = "qweRTyuiop"
    print(s.replace("q","a"))#aweRTyuiop

      4)字符串切割

      语法: s.split(),切割后的字符串成了列表.

    s = "qwe,RTy,uio,p"
    print(s.split(",")) #['qwe', 'RTy', 'uio', 'p']

    (3). 格式化输出

      之前是用%s和%d来代替变量的值,{} .format() 也有同样的作用,而且{}里可以指定变量.

    sername = input("请输入名字:")
    place = input("请输入地点:")
    hobby = input("请输入爱好:")
    print("敬爱可亲的{},最喜欢在{}地方干{}".format(username,place,hobby))

    (4) 查找

      1) s.startswith(), s.endswith()

      startswith()是判断以什么开始,endswith是判断以什么结束.

      2) s.count(),查找某字符串出现的次数.

      3) s.find(),查找字符串出现的位置,没有会返回-1

      4)s.index(),功能和find一样,没有会报错

    s = "今天吃饭了吗?没吃"
    print(s.startswith(""))   # True,判断字符串是否以今开头
    print(s.endswith(""))     # False,判断字符串是否以吃结尾
    print(s.count(""))   # 2次,计算吃在字符串中出现的次数
    print(s.find("" ))    #1,计算天在原字符串中出现的位置, 如果没出现返回 -1
    print(s.index("")) #7,计算没在字符串的位置

    (5) 条件判断

      1)是否由字母数字组成: s.isalnum()

      2)是否由字母组成:s. isalpha()

      3)是否由数字组成: s.isdigit()

      4)是否是大写字母: s.isupper()

      5)是否是小写字母: s.islower()

    s = "abc123"
    print(s.isdigit()) # False 判断字符串是否由数字组成
    print(s.isalpha()) # False 是否由字母组成
    print(s.isalnum()) # True是否由字母和数字组成
    print(s.isupper()) # False 是否由大写字母组成
    print(s.islower()) # True 是否由小写字母组成

    (6) 计算字符串的长度

      len()用来计算字符串的长度,len()是内置函数,不用在前面加点.len()函数执行的时候实际就是__len__()

    s = "hello,world!"
    print(len(s)) #12
    
    print(s.__len__()) #12

    (7) 迭代

      语法: for 变量 in 可迭代对象            将对象里的每个字符都赋给变量

          循环体

          else

    s = "123"
    for c in s:  # 把s中的每一个字符交给前面的c 循环
        print(c) 
    #1
    #2
    #3
    无限的我,现在才开始绽放,从东边的第一缕阳光到西边的尽头
  • 相关阅读:
    《山里的日子(记录片)》观后感——回不去的农村
    Android事件分发传递
    《活着》观后感——时代
    Android6.0动态获取权限
    Androidannotations框架
    Android屏幕适配笔记
    Android 网络状态检测
    氢氘交换
    springboot datajpa 简明说明
    算法学习
  • 原文地址:https://www.cnblogs.com/huangqihui/p/9265585.html
Copyright © 2011-2022 走看看