字符串本质是:字符序列
不可变

1、字符串编码,Unicode
ord('A')
ord('王')
2、创建字符串,引号
a = 'Hello python!'
b = "I'm a teacher!"
c = """
name
age
job
"""
d = '' # 空字符串
3、转义字符   “\+特殊字符”
  \(在行尾时) 续行符
  \\ 反斜杠符号
  \' 单引号
  \" 双引号
  \b 退格
  \n 换行
  \t 制表符
  \r 回车
4、字符串拼接
  1)+号连接
  字符串+字符串——拼接
  数字+数字——计算
  类型不同——报错
  2)可以将多个字符串直接放在一起实现拼接
print('abc' + 'cde')
print('abc' 'cde')
  结果:abccde
     abccde

5、字符串复制
print('abc'* 10)

  结果:abcabcabcabcabcabcabcabcabcabc

6、不换行打印
print('doc', end='\t')     # 制表符结尾
print('wang', end=' ') # 空格结尾
print('王', end='*') # *号结尾

7、从控制台读取字符串
name = input("请输入姓名:")    # 返回字符串
print(name)
8、str()函数,将其他类型转为字符串
print(str(3.33))
print(str(True))
9、提取字符串——索引
a = 'abcdefghijklmnopqrstuvwxyz'    # 左侧从0开始,右侧从-1开始
print(a[0]) 
print(a[3])
print(a[-1])

  返回结果:

        a

        d

        z

10、replace()实现字符串替换,本质是创建了新的字符串对象
b = a.replace('c', '王')
print(a)
print(b)
11、切片
print(a[:])    # 提取整个字符串
print(a[1:4])
print(a[3:8:2]) # 步长为2 print(a[-3:])
print(a[::-1]) # 将字符串倒序排列 print(a[12:300]) # 不报错,至末尾
12、split()分割
a = "to be or not to be"
print(a.split()) # 以空格分割
print(a.split('be')) # 以be分割
13、join(),字符串拼接
a = ['wang', 'and', 'zhang']
print('*'.join(a))
print(''.join(a))
print(' '.join(a))

14、字符串驻留机制
对于符合标识符规则的字符串(仅包含下划线、字母和数字),会启用
a = 'abc_33'
b = 'abc_33'
print(a is b) # True c = 'abc#'
d = 'abc#'
print(c is d) # 交互界面为False,pycharm为True
print(id(c))
print(id(d))

15、字符串比较和同一性
print(a == b)    # 比较值是否相等
print(a is b) # 比较是否为同一对象

16、成员操作符 in / not in
print('a' in a)
print('d' in a)

17、查找方法
a = '岸柳可藏鸦。路转溪斜。忘机鸥鹭立汀沙。咫尺钟山迷望眼,一半云遮。\
临水整乌纱。两鬓苍华。故乡心事在天涯。几日不来春便老,开尽桃花。' print(len(a)) # 字符串长度
print(a.startswith('岸柳可藏鸦')) # 是否以指定字符串开头
print(a.endswith('开尽桃花。')) # 是否以指定字符串结尾
print(a.find('路')) # 第一次出现位置
print(a.rfind('路')) # 最后一次出现位置
print(a.count('华')) # 出现次数
print(a.isalnum()) # 受否为字母数字

18、去除首尾信息
b = '           开尽桃花       '
print(b.strip()) # 去除首尾空格,可传参数,去除指定字符
print(b.lstrip()) # 去除左侧空格,可传参数,去除指定字符
print(b.strip()) # 去除右侧空格,可传参数,去除指定字符

19、大小写转换,均产生新的字符串
c = 'I love you,Baby!'
print(c.capitalize()) # 首字母大写
print(c.title()) # 标题
print(c.upper()) # 全部大写
print(c.lower()) # 全部小写
print(c.swapcase()) # 大小写转换

20、格式排版
print(c.center(40, '*'))    # 指定字符串,c居中,不足以*补齐,缺省为空格补齐
print(c.ljust(40)) # 左对齐
print(c.rjust(40)) # 右对齐

21、其他方法
c = '枯藤老树昏鸦'
print(c.isalnum()) # 是否为字母数字
print(c.isalpha()) # 是否为字母(包括汉字)
print(c.isdigit()) # 是否为数字
print('\t\n'.isspace()) # 是否为空白符
print(c.isupper()) # 是否为大写字母
print(c.islower()) # 是否为小写字母

22、字符串格式化
msg = "名字是:{0},年龄是:{1}"
m = msg.format('doc wang', 22)
print(m) msg = "名字是:{name},年龄是:{age}"
m = msg.format(name='doctor', age=18)
print(m)

23、填充和对齐
^、<、>分别是居中、左对齐、右对齐,后面带宽度

r = "{:*>8}".format("234")
"""
说明:*号表示用填充字符(缺省为空格填充),>右对齐,8表示填充为8个字符
"""
print(r)

24、数字格式化
a = "我是{},我的工资为{:1.2f}"
print(a.format('doc wang', 3500.23723)) b = "{:0>2d}".format(5)
c = "{:+.2f}".format(3.141592)
print(b)
print(c)

{:.2f} 保留2位小数
{:+.2f} 带符号,保留2位小数
{:.0f} 不带小数
{:0>2d} 数字补零(填充左边,宽度为2)
{:0<4d} 数字补零(填充右边,宽度为4)
{:x<4d} 数字补x(填充右边,宽度为4)
{:,} 以逗号分隔的数字格式
{:.2%} 百分比格式
{:.2e} 指数记法
{:10d} 右对齐(默认,宽度为10)
{:<10d} 左对齐(宽度为10)
{:^10d} 居中对齐(宽度为10)

25、可变字符串
import io
s = "hello,python"
sio = io.StringIO(s)
print(sio)
sio.seek(7)
sio.write('王')
print(sio.getvalue())

数据类型之字符串(string)(四)的更多相关文章

  1. python基本数据类型之字符串(四)

    python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值 ...

  2. Javascript基础系列之(三)数据类型 (字符串 String)

    javascript一共有9种数据类型 字符串 String 数值型 Number 布尔型 Boolean 未定义 Undefine 空值 Null 对象 Object 引用Refernce 列表型 ...

  3. python 数据类型: 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary

    #python中标准数据类型 字符串String 列表List 元组Tuple 集合Set 字典Dictionary 铭记:变量无类型,对象有类型 #单个变量赋值 countn00 = '; #整数 ...

  4. Redis数据类型之字符串String

    String类型是Redis中最基本也最简单的一种数据类型 首先演示一些常用的命令 一.SET key value 和GET key SET key value 和 GET key  设置键值和获取值 ...

  5. Python基础-python数据类型之字符串(四)

    字符串 字符串是python中常用的数据类型,使用('或")来创建. 创建字符串: 下标索引 字符串实际上是字符的数组,所以也支持索引. str1 = 'abcdef' 切片 定义:切片是指 ...

  6. 4-Python3从入门到实战—基础之数据类型(字符串-String)

    Python从入门到实战系列--目录 字符串表示 在 Python 3版本中,字符串是以 Unicode 编码的:Python 中使用 ' '或者" "表示字符串 msg = 'H ...

  7. JavaScript:七大基础数据类型:字符串string

    在JS中,字符串类型的数据,有三种表达方式,但是无一例外都是需要引号扩起来的: 单引号'hello' 双引号"hello" 反引号`hello` 注意: 因为JS没有字符类型,这一 ...

  8. Java中字符串string的数据类型

    Java中字符串string的数据类型 时间:2017-07-03 08:01:47 YuanMxy 原文:https://blog.csdn.net/YuanMxy/article/details/ ...

  9. java基础之 数据类型 & 值传递 引用传递 & String & 四种引用类型

    一.Java数据类型 分为基本数据类型与引用数据类型 基本数据类型: byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个 ...

  10. 前端总结·基础篇·JS(一)五大数据类型之字符串(String)

    前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(二)补充 前端总结·基础篇·JS(一)五大数据类型之字符串(String) 目录 这是& ...

随机推荐

  1. [深度学习] CCPD车牌数据集介绍

    CCPD是一个大型的.多样化的.经过仔细标注的中国城市车牌开源数据集.CCPD数据集主要分为CCPD2019数据集和CCPD2020(CCPD-Green)数据集.CCPD2019数据集车牌类型仅有普 ...

  2. day08-AOP-01

    AOP 1.官方文档 AOP讲解:下载的spring文件-->spring-framework-5.3.8/docs/reference/html/core.html#aop AOP APIs: ...

  3. (19)go-micro微服务filebeat收集日志

    目录 一 Filebeat介绍 二 FileBeat基本组成 三 FileBeat工作原理 四 Filebeat如何记录文件状态: 五 Filebeat如何保证事件至少被输出一次 六 安装Filebe ...

  4. C# 线程查漏补缺

    进程和线程 不同程序执行需要进行调度和独立的内存空间 在单核计算机中,CPU 是独占的,内存是共享的,这时候运行一个程序的时候是没有问题.但是运行多个程序的时候,为了不发生一个程序霸占整个 CPU 不 ...

  5. 手把手教大家写书写一个Mqtt网关

    摘要:物联网是现在比较热门的软件领域,众多物联网厂商都有自己的物联网平台,而物联网平台其中一个核心的模块就是Mqtt网关. 本文分享自华为云社区<一文带你掌握物联网mqtt网关搭建背后的技术原理 ...

  6. SQLSERVER 的四个事务隔离级别到底怎么理解?

    一:背景 1. 讲故事 在有关SQLSERVER的各种参考资料中,经常会看到如下四种事务隔离级别. READ UNCOMMITTED READ COMMITTED SERIALIZABLE REPEA ...

  7. SQLSERVER 阻塞之 PFS 页到底是什么?

    一:背景 1. 讲故事 在 SQLSERVER 的众多阻塞场景中,有不小的一部分是由于 PFS 页上的 闩锁 等待造成的,毕竟写页操作一定是要串行化的,在面对 闩锁(PAGELATCH_X) 等待问题 ...

  8. vivo 自研Jenkins资源调度系统设计与实践

    作者:vivo 互联网服务器团队- Wu Qinghua 本文从目前业界实现Jenkins的高可用的实现方案,分析各方案的优缺点,引入vivo目前使用的Jenkins高可用方案,以及目前Jenkins ...

  9. FineUI通过js事件条用后台方法实现弹窗

    一.html标签的onclick事件 <button type="button" class="btnUpdate" onclick="< ...

  10. 微软出品自动化神器【Playwright+Java】系列(九)多线程、重定向、弹出新窗口、截图、新页面、录制、页面对象模式操作

    写在前面 关于Playwright系列的文章,真的很久没有写了,今天一个不小心官方API部分过完了,下面将为大家逐一演示,感兴趣的同学可以自行动手练习. API部分 多线程 直白点说就是多线程下Pla ...