字符串概念

字符串:由单个字符组成的一个序列,

字符串是一个不可变的类型

形式:

  • 非原始字符串:

    • 单引号:单引号包起来的一段字符就是字符串
    • 双引号:和单引号一样
    • 三引号:三引号包括的字符串可以换行,保留所有空白字符(三个单引号或者三个双引号)
      • 可以用于文档字符串,注释在函数或者类等结构下,可以用help函数进行打印
  • 原始字符串:在非原始字符串前面加一个r前缀
    • 不进行字符串的转义

转义字符

常用的转义字符

  • \n:换行符
  • \t:制表符
  • \"\':单引号,双引号
  • \\:打印出 \ 本身

续行符

\ 用在行尾,表示这一行还没写完,把下一行接上来,

注意,如果要作为续行使用,则 \ 后面不能再接任何东西

如果是两个字符串要换行,可以分成两个字符串书写,并使用小括号进行包裹

字符串的拼接

  1. 使用 + 连接符:s1 + s2

  2. 也可以直接把两个字符串放在一起:"xxx" "yyy",可以有多个空格,但是不能换行

  3. 使用字符串模板,然后用其他字符串进行填充

字符串的重复

S * n:字符串S重复n次

索引与切片操作

索引

  • 从左到右:0, 1, 2, 3, 4, .....
  • 从右到左:-1, -2, .......

可以通过 字符串[索引] 访问字符串中的单个字符

注意:字符串是非可变类型,不能修改字符串中的字符

总结:

  • 如果n为非负数:s[n] 相当于 第 n+1 个值
  • 如果n为负数:s[n] 相当于:s[len(s) + n]

切片操作

s[ 起始索引 : 结束索引 : 步长 ]

说明:

  • 范围:[起始, 结束)
  • 默认值:起始0, 结束-1, 步长1
  • 顺序:步长大于0则从左到右,步长小于0则从右到左
    • 注意,不能从头部跳到尾部,或者从尾部跳到头部

例子:

  • 反转字符串:s[::-1]

包含关系

  • in:一个字符串,是否被另一个字符串包含
  • not in:一个字符串,是否不被另一个字符串包含

字符串的长度

len(x) :内建函数len可以求序列类型的长度

常用的字符串函数

查找计算类

find

用于查找子串索引位置,从左到右查找,找到后立即停止

语法:find(sub, start=0, end=len(s))
参数:

  • 1.要检索的字符串
  • 2.检索的起始位置,默认为0
  • 3.检索的结束位置,默认为最后

返回值:

  • 如果找到了,返回第一个子串的索引
  • 如果没找到,返回 -1

rfind

和find一样,区别是从右到左进行查找

index

代表获取的意思

和find几乎一样,不过找不到会报错

rindex

和index一样,区别是从右到左进行查找

count

计算字符串中某个子字符串出现的次数

语法:count(sub, start=0, end=len(s))

返回值是子字符串出现的次数

转换类

replace

功能:字符串替换

语法:replace(old, new[, count])

参数:

  • 需要替换的内容
  • 用来替换的内容
  • 替换的次数,省略则表示全部替换

返回值:返回替换后的结果字符串

注意:不会改变原始字符串本身的内容

capitalize

将字符串首字母变为大写,返回改变后的结果

title

将字符串中每个单词的首字母变成大写

返回改变后的字符串

lower

将字符串全部变为小写

返回改变后的字符串

upper

将字符串全部变为大写

返回改变后的字符串

填压缩类

ljust

功能:根据指定字符(一个)在字符串左边进行填充,填充到指定长度

语法:ljust(width, fillchar)

参数:

  • width:指定结果字符串的长度
  • fillchar:用来填充的字符

注意:

  • 填充字符长度为1
  • 只有原字符串长度 小于 指定长度时 才会进行填充

rjust

同 ljust,不过是在字符串右边进行填充

center

在字符串两边进行填充

lstrip

功能:移除原字符串指定字符,左边(默认移除 空白 字符)

语法:lstrip(chars)

参数:chars,表示需要移除的字符串

表现形式为:"abc", 表示移除a或b或c,注意:不是移除 abc

rstrip

同 lstrip,不过是移除右边的字符串

分隔拼接类

split

将一个字符串分割成几个子字符串

语法:split(sep, maxsplit)

参数:

  • sep:分隔符
  • maxsplit:最大分割 次数,省略表示有多少分割多少

返回值:分割后的子字符串组成的列表

partition

从左边开始查找分割符
根据指定的分割符,返回分割符左边的内容,分割符,分割符右边的内容

语法:partition(sep)

返回值:

  • 如果查找到分割符:(分割符左侧, 分割符, 分割符右侧)
  • 如果没有查找到分割符:(原字符串, "", "")

rpartition

同lpartition,不过是从右边开始查找分割符

splitlines

按照换行符进行分割,把字符串拆分成多个字符串,放到列表中

join

根据指定字符串,将给定的可迭代对象,进行拼接,得到拼接后的字符串

语法:s.join(iterable)

s作为分割符,将iterable中的每个元素通过s进行拼接组合

判定类

isalpha

判断是否是字母

isdigit

判断是否是数字

isalnum

判断是否是字母或者数字

isspace

判断是否是空白字符

startswith

判断是否以某字符串开始

endswith

判断是否以某字符串结尾

python:字符串类型的更多相关文章

  1. python字符串类型

    python中的字符串 python中的字符串类型为str,也是平时操作的类型.但除了str类型,还有一个专门的名为"string"的模块(导入即可知),是很早以前没有str类型的 ...

  2. Python字符串类型判断错误

    Python里面常用的字符串类型有str和unicode,如果要判断一个对象的类型,最好用basestring,否则可能会判断错误: str1 = "hello" str2 = u ...

  3. Python字符串类型格式化之format方法

    python字符串格式化一般使用 format() 方法,用法如下: <模板字符串>.format(<逗号分割的参数>) 其中模板字符串中可以由一个或多个 {} 组成的 槽 , ...

  4. 第3章 02 python字符串类型及操作

    字符串切片 取字符串从结尾到开头,相当于字符串逆序 转义符 转义符表达特定字符的本意 转义符    \“      ---->    ” 字符串操作符 例子: 获取星期字符串 定义星期 获取用户 ...

  5. Python学习笔记(三)字符串类型及其操作(2)

    1.字符串的表示 字符串是字符的序列表示,可以由一对单引号(‘).双引号(“)或三引号(’‘’)构成.其中,单引号.双引号和三引号都可以表示单行字符串,但是只有三引号可以表示多行字符串 在使用双引号时 ...

  6. python基础之字符串类型

    一.python字符串类型概述 定义:在单引号\双引号\三引号内,由一串字符组成 name='Test' name = 'test' print(type(name)) --------------- ...

  7. Python03 字符串类型、强制类型转化、列表、元组、字典、集合

    1 字符串类型 在python中字符串类型用str表示,字符串的连接用 + 1.1 创建字符串对象 ·创建一个字符串对象有两种方式,一种方式是直接用字符串进行赋值,另外一种是利用str类实例化对象:具 ...

  8. python基础(5):数字和字符串类型

    今天总结一下数据类型中的数字和字符串型. 预习: 小练习 一.数字(int,float) 在python3中数字类型只有整形,浮点型,复数.而复数在平时的编程中几乎用不到所以我们只要掌握整形和浮点型即 ...

  9. python学习笔记(5-1)-基本数据类型-字符串类型及操作

    五.字符串处理函数  len(x):字符串x的长度.如len("12345")结果为5  str(x):任意类型x所对应的字符串形式. >>> str(123) ...

  10. python的str()字符串类型的方法详解

    字符串一旦创建,不可修改,一旦修改或者拼接,都会造成重新生成字符串,因为内存存数据是一个挨着一个存的,如果增加一个字符串的话,之前的老位置只有一个地方,不够,这是原理性的东西,在其他语言里面也一样 7 ...

随机推荐

  1. c# DPI SCale

    public class Screen { /// Primary Screen #region Win32 API [DllImport("user32.dll")] stati ...

  2. codeforce F - Three Paths on a Tree

    F. Three Paths on a Tree time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  3. 使用Id访问table对象,使用Id访问Input对象

    先看例子(好吧     无意中发现   可以通过Id访问DOM元素,如div) <!DOCTYPE html> <html> <head> <meta cha ...

  4. c#中的栈(stack)与队列(queue)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. cannot be resolved to a type解决方法!!!

    小楼今天在做一个Java项目的时候遇到一个大家经常遇到的问题:XXX cannot be resolved to a type 看到一百多个errors时的时候,小楼也是被吓得赶紧去找度娘. 归纳一下 ...

  6. IntelliJ IDEA 2017.3尚硅谷-----忽略大小写提示

  7. JavaWeb02-JSP数据交互

    01.页面编码格式 001.jsp页面本身的编码 page指令中的 pageEncoding属性! 002.浏览器渲染页面采用的编码 contentType属性 003.服务器保存数据采用的编码(re ...

  8. 深入理解JDK、JRE(两套)、JVM、以及不同目录下的java.exe

    内容来自:http://blog.sina.com.cn/s/blog_7ffb8dd501011sgc.html 1.jdk下bin目录里的java.exe与外部jre中的java.exe的秘密   ...

  9. 2.6 XML配置:XML文件节点说明

    来源:http://blog.csdn.net/five3/article/details/25907693 TestNG的DTD检查文件:http://testng.org/testng-1.0.d ...

  10. 微信小程序--缓存,支持过期时间的二次开发封装

    简介 微信小程序提供了缓存的api,包括同步和异步两种,具体api不多说明,可自行查看官方文档 现在微信小程序缓存api存在一个问题就是没有设定过期时间,下面给大家介绍一下对小程序缓存的二次封装,使其 ...