zoukankan      html  css  js  c++  java
  • python之基本语法【字符 串方法】

    字符串的下标,从0开始的(从前往后),从-1开始(从后往前数)

    1.切片

    str = "pyton hello"
    print("str[2]=", str[2])
    print("str[-2]=", str[-2])
    # 字符串的切片操作,【起始位置:终止位置】:去头不取尾,虫开始位置开始,到终止位置的前一个
    str2 = str[0:10]
    print("str2=", str2)
    # [起始位置:终止位置:步长”]:步长为多少,就是多少个去第一个
    st2="1234567890"
    print("str2[::2]==",st2[::2])

    打印结果
    str[2]= t str[-2]= l str2= pyton hell str2[::2]== 13579

     2.字符串拼接

    1)第一种是使用:+

    2)第二种是使用jion

    字符串X:jion(字符串1,字符串2,字符串3.......):字符串1 字符串x字符串2字符串x字符串3字符串x.....

    str = "pyton hello"
    str2="1234567890"
    print("str.join(st2)===",str.join(str2))
    print("','.join(str1,str2)===",','.join((str,str2)))
    str3="asdfghjkl"
    print("str3.join((str,str2))===",str3.join((str,str2)))
    str4="zxcvbnm"
    print("str3.join((str,str2,str4))===",str3.join((str,str2,str4)))

    打印结果:
    str.join(st2)=== 1pyton hello2pyton hello3pyton hello4pyton hello5pyton hello6pyton hello7pyton hello8pyton hello9pyton hello0 ','.join(str1,str2)=== pyton hello,1234567890 str3.join((str,str2))=== pyton helloasdfghjkl1234567890 str3.join((str,str2,str4))=== pyton helloasdfghjkl1234567890asdfghjklzxcvbnm

    3.字符串转移

    1)\n:换行符

    2)\t:制表符,不足4位自动补齐四位

    print("7777\n8888\n99999")
    print("7777\t8888\t99999")
    
    
    
    打印结果
    7777
    8888
    99999
    7777	8888	99999
    

     注意:不想转义,在字符串前加小写r

    4.字符串的方法

    方法的调用格式:字符串.方法名()

    1)find:查找字符串片在字符串中的下标位置(起始位置)

    不存在字符串片段返回-1

    str='qwertwyuiop'
    print(str.find("ert"))
    print(str.find("erm"))
    print(str.find("w")) #从前往后找,返回的是一个被找到字符串片段的起始位置
    print(str.find("w",2))
    print(str.find("w",3))
    
    
    打印结果
    2
    -1
    1
    5
    5

    2)count:统计字符串片段在字符串中出现的次数

     注意:字符串片段不存在返回0

    str='qwertwyuiop'
    
    print(str.count("w")) 
    print(str.count("a"))
    
    打印结果
    2
    0

    3)replace:替换指定字符串片段

    参数1:要替换的字符串片段

    参数2:被替换之后的字符串片段

    参数3:指定替换的次数(默认替换所有的)

    str='qwertwyuiop'
    
    print(str.replace("w","W"))
    print(str.replace("w","W",1))
    
    打印结果
    qWertWyuiop
    qWertwyuiop

    # [起始位置:终止位置:步长”]:步长为多少,就是多少个去第一个

    st2="1234567890"
    print("str2[::2]==",st2[::2])

    4)split分隔

     

    1.指定分隔点对字符串进行分隔
    参数1:分隔点
    参数2:分隔的次数(默认找到所有的分隔点进行分隔) 
    str = 'qwertwyuiop'
    print(str.split("w", 2))  # ['q', 'ert', 'yuiop']
    print(str.split("w", 1))  # ['q', 'ertwyuiop']
    print(str.split("w"))  # ['q', 'ert', 'yuiop']
    

      

    5)upper将小写字母转为大写字母,lower将大写字母转为小写字母

    str = 'qwerTwyuiop'
    print(str.upper())  # QWERTWYUIOP
    print(str.lower())  # qwertwyuiop
    

     

    6)format使用

    相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’

    使用方法由两种:b.format(a)和format(a,b)。

    1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型

    2.单个参数可以多次输出,参数顺序可以不相同

    3.填充方式十分灵活,对齐方式十分强大

    4.官方推荐用的方式,%方式将会在后面的版本被淘汰

     

    1、基本用法

      (1)不带编号,即“{}”,按照默认顺序替换变量

      (2)带数字编号,可调换顺序,即“{1}”、“{2}” ,按照数字顺序替换变量

      (3)带关键字,即“{a}”、“{tom}”

    注意:

    foramt会把参数按位置顺序来填充到字符串中,第一个参数是0,然后1 ……

    也可以不输入数字,这样也会按顺序来填充

    同一个参数可以填充多次,这个是format比%先进的地方

    print('我们欢迎{}来到中国的 {}'.format('小米','beijing'))  # 不带字段
    print('我们欢迎{0}来到中国的 {1}'.format('小米','beijing'))   # 带数字编号
    print('我们欢迎{0}来到中国的 {1},参观{0}'.format('小米','beijing'))  # 打乱顺序
    print('我们欢迎{1}来到中国的 {1},参观{0}'.format('小米','beijing'))  # 打乱顺序

    #(2)通过Key来填充 print('{a} {tom} {a}'.format(tom='hello',a='world')) # 带关键字【world hello world
    打印结果:
    我们欢迎小米来到中国的 beijing
    我们欢迎小米来到中国的 beijing
    我们欢迎小米来到中国的 beijing,参观小米
    我们欢迎beijing来到中国的 beijing,参观小米

      (4)通过下标来填充

    names = ['beijing', 'xiaoming']
    print('hello {names[0]} i am {names[1]}'.format(names=names))
    print('hello {0[0]} i am {0[1]}'.format(names))
    
    打印结果:
    hello beijing i am xiaoming
    hello beijing i am xiaoming
    

      (5)通过字典的Key

    names = {'name': 'beijing', 'name2': 'shanghai'}
    print('hello {names[name]} i am {names[name2]}'.format(names=names))  # hello beijing i am shanghai
    

      (6)通过对象的属性

    class Names:
        name1 = 'beijing'
        name2 = 'shanghai'
    
    
    print('hello {names.name1} i am {names.name2}'.format(names=Names))  # hello beijing i am shanghai
    

      (7)format作为函数

    f = 'hello {0} i am {1}'.format
    print(f('Kevin' ,'Tom'))
     
    #输出
    hello Kevin i am Tom
    

      (8)填充与对齐

    填充常跟对齐一起使用
    ^、<、>分别是居中、左对齐、右对齐,后面带宽度
    :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
    
    
    print('{:>8}'.format('6369'))
    print('{:0>8}'.format('6369'))
    print('{:F>8}'.format('6369'))
    
    
    打印结果:
        6369
    00006369
    FFFF6369
    

      

  • 相关阅读:
    Solr 删除数据的几种方式
    velocity 随笔
    LOG4J.PROPERTIES配置详解(转载)
    转 如何使用velocity模板引擎开发网站
    通过pinyin4j将汉字转换为全拼 和 拼音首字母
    去除数组中的重复数据
    java 转义字符
    多重背包(学习笔记)
    Team Queue
    [HAOI2008]糖果传递
  • 原文地址:https://www.cnblogs.com/mumianhuasayyes/p/15865665.html
Copyright © 2011-2022 走看看