zoukankan      html  css  js  c++  java
  • python--002--数据类型(int、str)

    1. 整型 int

       int()、bit_length()

    v = int("a", base=16)  # 表示以16进制转换a
    print(v)
    
    age = 5
    r = age.bit_length()  # 输出二进制表示age要用几位
    print(r)

     

    2. 字符传 str

     1) capitalize()      将字符串首字母大写  

    swapcase()  将大写转换为小写,将小写转换为大写;大小写转换

     

    test = "wendy"
    v = test.capitalize()   # 将字符串首字母大写
    print(v)

    输出为: Wendy

     

     

    test = "SHFJSHFKDjdjdjjdgg"
    v = test.swapcase()#大小写转换
    print(v)
    
    output:
    shfjshfkdJDJDJJDGG

     

     

     

     

     2) casefold()  、lower()  都是将所有字符变为小写,casefold比lower更厉害,对很多其他未知的都可以变小写

    test = "wEnDy"
    v = test.casefold()   # 将所有字符变小写
    print(v)
    
    输出为:wendy
    
    test = "wEnDy"
    v = test.lower()   # 将所有字符变小写
    print(v)
    
    输出为:wendy

    3)count()   去字符串中寻找,子序列出现的次数

    test = "wEnDy"
    v = test.count("D")   # 去字符串test中寻找,子序列D出现的次数
    print(v)
    
    输出为:1

    4) endswith()、startswith()  以什么结束和开始,返回true或false

     

    test = "wEnDy"
    v = test.startswith("w")   # 以什么开始
    v1 = test.endswith("d")   # 以什么结束
    print(v,v1)
    
    输出:True False

    5)find()  从开始往后找,找到第一个后,返回其位置。与index功能一样,不过如果找不到fin返回 -1 ,而index会直接报错,所以find更常用

         index() 与find功能一样

    test = "wEnDy"
    v = test.find("D")   # 从开始往后找,找到第一个后,获取其位置
    print(v)

    输出:3

    test = "wEnDy"
    v = test.index("D")   # 从开始往后找,找到第一个后,获取其位置
    print(v)
    
    输出为3

     

    6)format()   格式化,将第一个字符串中的占位符替换为指定的值,第二种方式必须从0开始,依次赋值   

         format_map()   与format的区别是传入字典形式的参数

    test ='I am {name},age is {age}'
    v=test.format(name="wendy",age=19)     #第一种方式
    print(v)
    
    test1 ='I am {0},age is {1}'
    v1=test1.format('wendy',19)   # 第二种方式
    print(v1)
    
    输出均为:I am wendy,age is 19
    test = 'I am {name},age is {age}'
    v = test.format_map({"name": 'wendy', "age": 19})  # 传入字典形式的参数
    print(v)
    
    输出也为:I am wendy,age is 19

    7)expandtabs(x)   x个为一段,遇到 后补充空格至x位,最后一段不管,打印出来像表格

    test="name	email	pwd
    lishining	lishining@.com	123
     "
    v=test.expandtabs(15)    # 15个为一段,遇到	后补充空格至15位,最后一段不管
    print(v)
    
    输出为:
    name           email          pwd
    lishining      lishining@.com 123

    8) isalnum()   判断是否只包含数字和字母

           isalpha()  表示是否是字母或汉字    

      isdecimal()      # 表示是否是数字,最常用
      isdigit()    # 表示是否是数字,比isdecimal更厉害,能识别特殊字符
      isnumeric()     # 表示是否是数字,最厉害,能识别中文的一二,但是最常用的是第一个isdecimal

     

          isprintable()# 表示是否存在不可显示的字符,类似于有转义字符就会为false

          isspace()#表示是否全部是空格

          istitle()#判断是否是标题(每个词首字母大写)

          title()#将字符串变为标题(每个词首字母大写)

    9)  islower()、isupper() #判断是否是大小写

        lower()、upper()   #将字符变为大写或小写

     

    10)  join()   将每个字之间加上指定的空格或_等指定的字符

    test (= "你是风儿"
    v = "_".join(test)  # 将每个字之间加上指定的空格、_
    v2 = " ".join(test)
    print(v,v2)
    
    output 你_是_风_儿 你 是 风 儿

     

    11)ljust()、rjust()、center()、zfill()

     

    test = "addd"
    v = test.ljust(20, "*")  # 字符在最左边,其余用*填充
    print(v)
    v = test.rjust(20, "*")  # 字符在最右边,其余用*填充
    print(v)
    v = test.center(20, "*")  # 字符在中间,其余用指定的*填充
    print(v)
    v = test.zfill(20)  # 左边用0填充,字符在最右边
    print(v)
    
    output:
    addd****************
    ****************addd
    ********addd********
    0000000000000000addd

     

    12) lstrip()、rstrip()、strip() 去除字符串左边或右边的空格,其中strip()同时去除左右的空格

         还可以指定要移除的字符:v=test.lstrip(“x”)# 从左边开始移出指定字符,优先最多匹配

     

    test = "    addd dhdj	   "
    v=test.lstrip()# l代表left左边
    print(v)
    v=test.rstrip()# r代表右边
    print(v)
    v=test.strip()  #去除字符串左边或右边空格,也可以去除	
    
    print(v)
    
    output:
    addd dhdj       #注:此处是有空格的
        addd dhdj
    addd dhdj

     

    13) m=str.maketrans(“seiou”,“12345”) #建立对应关系

        newv=test.translate(m) # 按照m对应关系进行替换test中的字符

             test.replace("aa", "bb", 2) # 表示替换将aa替换为bb,替换2次

    test = "sgjawouaagggbd"
    m = str.maketrans("seiou", "12345")  # 建立对应关系
    newv = test.translate(m)  # 按照m对应关系进行替换test中的字符
    print(newv)
    
    V = test.replace("aa", "bb", 2)  # 表示替换将aa替换为bb,替换2次
    print(V)
    
    output:
    1gjaw45aagggbd
    sgjawoubbgggbd

     

    14)分割

    partition("s")# 找到第一个s进行分割成3份,包含s
    rpartition("s")#从右边找到第一个s进行分割成3份,其中s为1份
    split("s")# 以s进行分割,但拿不到s
    splitlines()#按行进行分割,可以设置true或false是否保留换行符
    test = "ghhsgjawouaagsggbd	jfhjdkdsfifjfjf"
    v=test.partition("s")# 找到第一个s进行分割成3份,包含s
    print(v)
    v=test.rpartition("s")#从右边找到第一个s进行分割成3份,其中s为1份
    print(v)
    v=test.split("s")# 以s进行分割,但拿不到s
    print(v)
    v=test.split("s",2)#2代表分割2次
    print(v)
    v=test.splitlines()#按行进行分割,可以设置true或false是否保留换行符
    print(v)
    
    output:
    ('ghh', 's', 'gjawouaagsggbd	jfhjdkdsfifjfjf')
    ('ghhsgjawouaagsggbd	jfhjdkd', 's', 'fifjfjf')
    ['ghh', 'gjawouaag', 'ggbd	jfhjdkd', 'fifjfjf']
    ['ghh', 'gjawouaag', 'ggbd	jfhjdkdsfifjfjf']
    ['ghhsgjawouaagsggbd	jfhjdkdsfifjfjf']

     

       最重要的:join、split、find、strip、upper、lower、replace

     

    3. 字符串的其他用法:

      len、for模块、索引、切片

      注意:字符串一旦创建不可修改,一旦修改或拼接,就会在内存中重新生成字符串

      len---可以取长度

    v = len(test)

      for i in test:

         pass

      test[2]   --取值

      test[0:2]  --取一段值

     

    4. range()在python2 和3的区别

      V=range(100)
      Python3中循环的时候才一个一个生成数字,python2中,使用range创建后马上就创建了0到99

      Python2 中xrange---循环的时候才一个一个的生成

           

      for i in range(0,100,1) # 取值从小到大
      for i in range(100,0,-1) # 取值从大到小

     

  • 相关阅读:
    Python 2 中的编码
    奇异值分解及其应用
    c#基础系列3---深入理解ref 和out
    c#基础系列2---深入理解 String
    c#基础系列1---深入理解值类型和引用类型
    广州.NET微软技术俱乐部微信群有用信息集锦(10)
    程序员英语二三事(3)
    BDD实战篇
    BDD实战篇
    广州.NET微软技术俱乐部
  • 原文地址:https://www.cnblogs.com/jinf/p/10427208.html
Copyright © 2011-2022 走看看