zoukankan      html  css  js  c++  java
  • day4-字符串专区

    1.字符串 str (用''or“”表示)

    字符串中每个组成部分为字符,python中只要是用引号引起来的都叫字符串

    ---特征:

        加法

    n1 = "alex"
    n2 = "sb"
    n4 = "db"
    n3 = n1 + n2 + n4
    print(n3)
    alexsbdb

       乘法

    n1 = "alex"
    n2 = n1 * 4
    print(n2)
    alexalexalexalex

    ---capitalize() 首字母大写

    ---casefold() 将所有的字母变小写,但是其功能更全,可以将很多未知的相应变成小写

    ---lower() 将所有的字母变小写,功能没有casefold齐全

    ---center(self,width,fill = None)  self可以不用管,但是width必须赋予一个数

    test = 'mada'            # 表示设置宽度,并将内容居中
    v = test.center(20,'*')  # 20代指总长度
                             # *用来空白位置填充,只能为同一个字符,可有可无     
    print(v)
    ********mada********        

     ---count(self,sub,start=None,end=None) 去字符串中寻找,寻找子序列的出现次数

    ---encode(self,encode='utf-8',errors='strict')

    ---endwith(self,suffix,start=None,end=None)表示以什么结尾

    ---startwith(self,suffix,start=None,end=None)表示以什么开始

    ---find(self,sub,start=None,end=None) # 未指定开始结束时,从开始往后找,找到第一个后,获取其位置

    ---index(self,sub,start=None,end=None)# 作用同find,但是索引不到内容时会报错,因此可以忽略该用法

    ---format(*args,**kwargs)

    test = 'i am {name},age{a}'
    # format 作用为格式化,将一个字符串中的占位符替换为指定的值
    v= test .format(name='mada',a=18)
    print(v)
    i am mada,age 18

    ---format_map(self,mapping)

    test = 'i am {name},age{a}'
    # format_map 作用也为格式化,但是传入的值指定为{'name':'mada','a':19}
    v= test .format_map('name':'mada','a':19)
    print(v)
    i am mada,age 18

    ---isalnum() # 判断字符串中是否只包含字母和数字

    ---isalpha() # 判断字符串中是否是字母、汉字,是返回true,否返回false

    ---isdecimal() <isdigit()<isnumeric()# 都可用来判断当前输入是否是数字,但isdigit()可以判断@2之类的数字;isnumeric()可以判断@2、二之类的数字。

    ---isprintable()判断是否存在不可显示的字符

    如:# 制表符
           # 换行

    ---isspace()判断是否‘全部’是空格

    ---istitle()判断是否是标题

    ---title()将内容转换为标题形式

    --join()将字符串中的每一个元素按照指定分隔符进行拼接

     test = "你是风儿我是沙
    v = "_".join(test)
    print(v)
    你_是_风_儿_我_是_沙

    ---center(),ljust(),rjust(),zfill()

    v = test.center(20,'*')  # 将字符串放中间,两边填充20个*
    print(v)
    v = test.ljust(20,'*')     # 将字符串放左边,右边填充20个*
    print(v)
    v = test.rjust(20,'*')    # 将字符串放右边,左边填充20个*
    print(v)

    v = test.zfill(20) # 只能填充0
    print(v)
    ******马达真是棒棒哒******* 
    马达真是棒棒哒
    *************
    *************马达真是棒棒哒
    0000000000000马达真是棒棒哒

    ---islower()判断是否全部是小写

    ---lower() 转换为小写

    ---isupper()判断是否全部是大写

    ---upper()转换为大写

    # 以下三者作用都为移除指定字符串,,有限最多匹配,可去除

    ---lstrip()去除字符串左右空白

    ---rstrip()去除字符串右空白

    ---strip()去除字符串左空白

    ---translate()对应关系替换

    test =  "aeiou"
    test1 = "12345"
    v = "asiduf"
    m = str.maketrans("aeiou", "12345")
    new_v = v.translate(m)
    print(new_v)
    1s3d5f

    ---rpartition()将字符串按照分隔符分割为三部分

    test = "testasdsddfg"
    v = test.partition('s')
    print(v)
    v = test.rpartition('s')
    print(v)
    ('te', 's', 'tasdsddfg')
    ('testasd', 's', 'ddfg')

    ---split()、rsplit()分割为指定个数,不指定时默认全部分割,但是不显示分隔符

    v = test.split('s',2)
    print(v)
    ['te', 'ta', 'dsddfg']

    ---splitlines()分割,只能根据,true,false:决定是否保留换行符

    test = "asdfadfasdf
    asdfasdf
    adfasdf"
    v = test.splitlines(False)
    print(v)
    v = test.splitlines(True)
    print(v)
    ['asdfadfasdf', 'asdfasdf', 'adfasdf']
    ['asdfadfasdf
    ', 'asdfasdf
    ', 'adfasdf']

    ---startswith()endswith()以xxx开头,以xx结尾

    ---swapcase()大小写转换,大写变小写,小写变大写

    ---isidentifier()字母,数字,下划线 : 标识符 def  class

    a = "def"
    v = a.isidentifier()
    print(v)
    True

    ---replace()将指定字符串替换为指定字符串

    test = "alexalexalex"
    v = test.replace("ex",'bbb')
    print(v)
    v = test.replace("ex",'bbb',2)
    print(v)
    albbbalbbbalbbb
    albbbalbbbalex

     ......

    ###################### 掌握7个基本魔法 ######################
    # join # '_'.join("asdfasdf")
    # split
    # find
    # strip
    # upper
    # lower
    # replace

    ###################### 5个灰魔法 ###########################

    1.for循环

    # for 变量名 in 字符串:
    # 变量名
    # break
    # continue

    test = "马达真是棒棒哒"
    index = 0
    while index < len(test):
        v = test[index]
        print(v)
        index += 1
    print('=======')
    马
    达
    真
    是
    棒
    棒
    哒
    =======
    for item in test:
        print(item)
        break# 输出一个马之后,break终止所有循环,结束
    for item in test:
        continue
        print(item)
    # 什么也没有输出,因为continue会跳出当前循环,怎么也到不了print这一步

    2.索引,下标,获取字符串中的某一个字符

    test = "马达真是棒棒哒"
    v = test[3]
    print(v) 
    是

    3.切片

    test = "马达真是棒棒哒"
    v = test[0:-1]
    print(v)
    马达真是棒棒

    4.获取长度:len获取当前字符串中由几个字符组成

    v = len(test)
    print(v)
    7

    5.获取连续或不连续的数字

    python3中只有for循环时,才一个一个创建
    # r1 = range(10)
    # r2 = range(1,10)
    # r3 = range(1,10,2)
    # 帮助创建连续的数字,通过设置步长来指定不连续

    v = range(0, 100, 5)
    for item in v:
        print(item)
    0
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    70
    75
    80
    85
    90
    95

    ###################### 1个深灰魔法 ######################

    字符串一旦创建,不可修改
     一旦修改或者拼接,都会造成重新生成字符串

    name = "mada"
    age = "18"
    info = name + age
    print(info)



  • 相关阅读:
    LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    [转载]弹出一个不带地址栏、工具栏的IE非模态窗口
    winform datagridview 如何设置datagridview隔行变色
    C#调用C++的dll存在的问题
    Seafile开源私有云自定义首页Logo图片
    Alpine Linux 安装 lxml Pillow 失败
    Docker容器 MySQL中文乱码解决方案
    JS 查找数组的父节点及祖先节点
    五分钟读懂UML类图(转)
    Ant Design按需加载
  • 原文地址:https://www.cnblogs.com/mada1027/p/11648206.html
Copyright © 2011-2022 走看看