zoukankan      html  css  js  c++  java
  • day06-数字类型、字符串类型内置方法

    数字类型内置方法

    1. int()强制类型转化成整型

    age_str = '18'    # 定义字符串
    age = int(age_str)    # 将强制转化成数字类型
    print(type(age))
    
    <class 'int'>
    

    2. float()强制类型转化成浮点型

    age_str = '18.5'    # 定义字符串
    age = float(age_str)    # 将强制转化成数字类型
    print(type(age))
    
    <class 'float'>
    

    注意:不是所有的字符都能转化成数字类型,只有字符串中全为数字字符时才能转化成int型或浮点型

    字符串类型内置方法

    1. 按索引取值

    name = 'Hello world, I am coming'    # 定义一个字符串name
    print(name[0])    # 取第一个字符
    print(name[-2])    # 取倒数第二个字符
    
    H
    n
    

    2. 切片:步长为正数,从左到右切片;如果步长为负数,从右到左切片
    格式:[start:end:step] step默认为1

    name = 'Hello world, I am coming'    
    print(name[0:5])    # 取出 Hello
    print(name[-6:])    # 取出 coming
    print(name[-1:-12:-1])    # 取出gnimoc ma I
    
    Hello
    coming
    gnimoc ma I
    

    3. 长度:len()返回字符串的长度

    name = 'Hello world, I am coming'    
    print(len(name))
    
    24
    

    4. 成员运算符 in|not in:判断是否在字符串里面,返回布尔值True或者False

    name = 'Hello world, I am coming'    
    print('Hello world' in name)
    print('hello' in name)
    print('world' not in name)
    
    True
    False
    False
    

    5. 移除空白strip(self, chars=None):移除两端的空白或字符,原字符串不变。从左开始去除lstrip(self, chars=None)和从右开始去除rstrip(self, chars=None),用法同strip(self, chars=None)

    name = '    Hello world, I am coming1234   '
    print(name.strip())     # 默认移除两端的空格
    print(name.strip('1234 oldeH'))    # 在name中移除括号内的字符
    print(name)
    print(name.lstrip())    # 从左端移除
    print(name.rstrip())    # 从右端移除
    
    Hello world, I am coming1234
    world, I am coming
        Hello world, I am coming1234   
    Hello world, I am coming1234   
        Hello world, I am coming1234
    

    6. 切分/割split(self, sep=None, maxsplit=-1):使用sep作为字符串的分隔符,若sep未指定或为None,默认以一个或多个空格作为分割符;maxsplit为分割的次数;返回一个列表。rsplit(self, sep=None, maxsplit=-1)用法同split(),从右开始切分

    name = '    Hello world, I am coming,1234   '
    print(name.split())        # 默认以空格分割
    print(name.split(','))        # 以','分割
    print(name.split(',',1))        # 以','分割,分割一次
    print(name.rsplit(',',1))        # 从右开始以','分割,分割一次
    
    ['Hello', 'world,', 'I', 'am', 'coming,1234']
    ['    Hello world', ' I am coming', '1234   ']
    ['    Hello world', ' I am coming,1234   ']
    ['    Hello world, I am coming', '1234   ']
    

    7. 循环遍历字符串

    name = 'Hello world, I am coming,1234'
    for i in name:
        print(i,end=',')
    
    H,e,l,l,o, ,w,o,r,l,d,,, ,I, ,a,m, ,c,o,m,i,n,g,,,1,2,3,4,
    

    8. 变小写字母lower(self) & 变大写字母upper(self)

    name = 'Hello world, I am coming,1234'
    print(name.lower())    # 将字符串中的大写字母变成小写
    print(name.upper())    # 将字符串中的小写字母变成大写
    
    hello world, i am coming,1234
    HELLO WORLD, I AM COMING,1234
    

    9. 判断字符串是否以...开始 startswith(self, prefix, start=None, end=None) & 判断字符串是否以...结尾endswith(self, prefix, start=None, end=None):prefix为指定的字符;从start开始,到end结束,默认从0开始,到最后结束。返回布尔值True或者False

    name = 'Hello world, I am coming,1234'
    print(name.startswith('H'))
    print(name.endswith('4'))
    print(name.startswith('H',1))
    
    True
    True
    False
    

    10. 连接join(self, iterable)

    name = 'Hello'
    print(','.join(name))    # 用','作为连接符,将括号内每个字符连接。连接符可自定义
    
    H,e,l,l,o
    

    11. 替换replace(self, old, new, count=None):用new来替换old;count表示替换的个数,不写或为None时全部替换

    name = 'Hello'
    print(name.replace('l', 'w'))
    print(name.replace('l', 'w', 1))
    
    Hewwo
    Hewlo
    

    12. 判断数字isdigit(self): 判断是否全为数字字符,返回布尔值True或者False

    name = 'Hello123'
    age = '123'
    print(name.isdigit())
    print(age.isdigit())
    
    False
    True
    

    13.查找find(self, sub, start=None, end=None) & rfind(self, sub, start=None, end=None) & index(self, sub, start=None, end=None) & rindex(self, sub, start=None, end=None):sub表示要查找的字符,start查找的开始位置,end查找的结束位置,不写或为None时表示查找整个字符串

    name = 'Hello123'
    print(name.find('l'))    # 返回查找到的第一个字符下标
    print(name.find('w'))    # 没有找到时返回-1
    print(name.rfind('l'))    # 返回查找到最右端第一个字符下标
    print(name.rfind('w'))    # 没有找到时返回-1
    print(name.index('l'))    # 返回查找到的第一个字符下标
    print(name.rindex('l'))    # 返回查找最右端的第一个字符下标
    print(name.index('s'))    # 没找到时报错
    print(name.rindex('s'))    # 没找到时报错
    
    2
    -1
    3
    -1
    2
    3
    
    ---------------------------------------------------------------------------
    
    ValueError                                Traceback (most recent call last)
    
    <ipython-input-55-f4490f4012ef> in <module>
          6 print(name.index('l'))    # 返回查找到的第一个字符下标
          7 print(name.rindex('l'))    # 返回查找最右端的第一个字符下标
    ----> 8 print(name.index('s'))    # 没找到时报错
          9 print(name.rindex('s'))    # 没找到时报错
    
    ValueError: substring not found
    

    14. 计数count(self, sub, start=None, end=None):sub表示要查找的字符,start查找的开始位置,end查找的结束位置,不写或为None时表示查找整个字符串,返回sub在字符串中出现的次数

    name = 'Hello123'
    print(name.count('l'))
    
    2
    

    15. 对齐方式center(self, width, fillchar=None) & ljust(self, width, fillchar=None) & rjust(self, width, fillchar=None) & zfill(self, width):width表示字符串的长度,filchar表示要填充的字符,不写或为None时表示用空格填充

    name = 'Hello123'
    print(name.center(20))          # 字符串居中,用空格填充
    print(name.ljust(20, '*'))      # 字符串居左,用‘*’填充
    print(name.rjust(20, '-'))      # 字符串居右,用‘-’填充
    print(name.zfill(20))           # 字符串前面用0填充
    
          Hello123      
    Hello123************
    ------------Hello123
    000000000000Hello123
    

    16. 定义制表符占的字符expandtabs(self, tabsize=8):tabsize为设置的所占字符,不写默认为8个字符

    name = 'a	b'
    print(name.expandtabs(4))
    
    a   b
    

    17. 首字母大写capitalize(self) & 转换大小写swapcase(self) & 每个单词首字母大写title(self)

    name = 'HelLo123 WORLD , i am coming'
    print(name.capitalize())    # 将字符串的第一个字符大写,其他为小写
    print(name.swapcase())      # 将字符串中的大小写相互转换
    print(name.title())         # 将字符串中的单词首字母大写
    
    Hello123 world , i am coming
    hELlO123 world , I AM COMING
    Hello123 World , I Am Coming
    

    18. is系列,返回布尔值True 或者 False(了解即可)

    • isalnum(self) 是否只有数字字母
    • isalpha(self) 是否都是字母
    • isdecimal(self) 是否只有十进制字符
    • isidentifier(self) 是否是个有效的标识符
    • islower(self) 字符中的字母是否全为小写
    • isnumeric(self) 是否全为数字
    • isprintable(self) 是否可以打印
    • isspace(self) 是否全为空格
    • istitle(self) 是否是标题
    • isupper(self) 字符中的字母是否全为大写

    有序 or 无序

    有索引的数据有序,无索引的数据为无序。所以,数字类型没有有序无序的所说,字符串为有序的

    可变 or 不可变

    值变化时id不变的为可变数据,值变id也变的为不可变数据。所以数字类型是不可变数据,字符串也是不可变数据

  • 相关阅读:
    11.1作业
    10.25作业
    10.18作业
    zancun
    10.11作业
    SQL日期格式,转自will哥
    转自pnljs 委托(Func<int,bool>)
    ORM即 对象-关系映射(转自:微冷的雨)
    跨域上传文件(还是没有明白)
    webSocket详解
  • 原文地址:https://www.cnblogs.com/863652104kai/p/10913709.html
Copyright © 2011-2022 走看看