字符串概念

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

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

形式:

  • 非原始字符串:

    • 单引号:单引号包起来的一段字符就是字符串
    • 双引号:和单引号一样
    • 三引号:三引号包括的字符串可以换行,保留所有空白字符(三个单引号或者三个双引号)
      • 可以用于文档字符串,注释在函数或者类等结构下,可以用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. java i++与++i的区别

    i++是先赋值,然后再自+1:++i是先自+1,后赋值. 用代码表示就是: 若 a = i++; 则等价于 a=i;i=i+1; 而 a = ++i; 则等价于 i=i+1;a=i; 例子: int ...

  2. 4.用springboot写的第一个程序--helloworld

    这是我自己在controller层建的hello类 运行,选画方框的那个.我查了一晚上,可算知道为啥运行不了了. 然后再浏览器输入网址就ok了 为了大力!好好学习!

  3. zabbix_agentd无法启动,cannot open log 错误

    最近有一台服务器的zabbix启动异常,看日志有如下报错 zabbix_agentd []: cannot open log: cannot create semaphore ] No space l ...

  4. linux系统下如何打开端口

    1)vi /etc/sysconfig/iptables 2)-A INPUT -m state --state NEW -m tcp -p tcp --dport xxxxxxxxxx -j ACC ...

  5. 大白话Web三大组件之一Servlet

    很多学习到Servlet这里的童鞋,听到那么多专业名词解释这个Servlet,相信都是很蒙圈的,在这里我先不跟大家扯Servlet的大概念,先跟大家探讨一下关于Servlet的作用 相信MVC这个概念 ...

  6. python自动化用例框架搭建--目录结构规划

    目录结构搭建 Test_framework |--config(配置文件) |--data(数据文件) |--drivers(驱动) |--log(日志) |--report(测试报告) |--tes ...

  7. stm32f103中freertos的tasks基本使用案例及备忘

    基本实例   freetos的在stm32中使用踩了一些坑,事情做完了,就 做个备忘,希望能给后面的人一些借鉴. 先给出一个实际的例子吧. 启动代码 void task_create(void) { ...

  8. php对字符串的操作3之 字符类型转换详解

    所有的数据输出到屏幕上,实际上被隐式的转换成了字符型,首先了解下各种数据类型的字符串表示 <?php echo 300,'<hr>'; echo true,'<hr>'; ...

  9. RNGCryptoServiceProvider 生成订单号

    先生成1~1000的随机数 class Program { // Create a new instance of the RNGCryptoServiceProvider. private stat ...

  10. Jquery获取html参数, jquery.params.js 获取参数

    ================================ ©Copyright 蕃薯耀 2019年12月31日 http://fanshuyao.iteye.com/ /** * 使用:$.q ...