数据类型之字符串(string)(四)
字符串本质是:字符序列
不可变
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)(四)的更多相关文章
- python基本数据类型之字符串(四)
python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值 ...
- Javascript基础系列之(三)数据类型 (字符串 String)
javascript一共有9种数据类型 字符串 String 数值型 Number 布尔型 Boolean 未定义 Undefine 空值 Null 对象 Object 引用Refernce 列表型 ...
- python 数据类型: 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary
#python中标准数据类型 字符串String 列表List 元组Tuple 集合Set 字典Dictionary 铭记:变量无类型,对象有类型 #单个变量赋值 countn00 = '; #整数 ...
- Redis数据类型之字符串String
String类型是Redis中最基本也最简单的一种数据类型 首先演示一些常用的命令 一.SET key value 和GET key SET key value 和 GET key 设置键值和获取值 ...
- Python基础-python数据类型之字符串(四)
字符串 字符串是python中常用的数据类型,使用('或")来创建. 创建字符串: 下标索引 字符串实际上是字符的数组,所以也支持索引. str1 = 'abcdef' 切片 定义:切片是指 ...
- 4-Python3从入门到实战—基础之数据类型(字符串-String)
Python从入门到实战系列--目录 字符串表示 在 Python 3版本中,字符串是以 Unicode 编码的:Python 中使用 ' '或者" "表示字符串 msg = 'H ...
- JavaScript:七大基础数据类型:字符串string
在JS中,字符串类型的数据,有三种表达方式,但是无一例外都是需要引号扩起来的: 单引号'hello' 双引号"hello" 反引号`hello` 注意: 因为JS没有字符类型,这一 ...
- Java中字符串string的数据类型
Java中字符串string的数据类型 时间:2017-07-03 08:01:47 YuanMxy 原文:https://blog.csdn.net/YuanMxy/article/details/ ...
- java基础之 数据类型 & 值传递 引用传递 & String & 四种引用类型
一.Java数据类型 分为基本数据类型与引用数据类型 基本数据类型: byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个 ...
- 前端总结·基础篇·JS(一)五大数据类型之字符串(String)
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(二)补充 前端总结·基础篇·JS(一)五大数据类型之字符串(String) 目录 这是& ...
随机推荐
- [seaborn] seaborn学习笔记6-热图HEATMAPPLOT
6 热图Heatmapplot(代码下载) 热图是指通过将矩阵单个的值表示为颜色的图形表示.热力图显示数值数据的一般视图非常有用,制作热图很简单,且不需要提取特定数据点.在seaborn中使用heat ...
- Google分布式文件系统GFS论文学习
GFS作为最著名的分布式文件系统,首先具备了大规模.可扩展.适配大文件.自动运维等高级特性.虽然是比较早期的分布式文件系统,但是它里面的设计思想还是值得现代分布式系统设计参考的,并且还有很多后期著名的 ...
- 经典 backbone 总结
目录 目录 VGG ResNet Inceptionv3 Resnetv2 ResNeXt Darknet53 DenseNet CSPNet VoVNet 一些结论 参考资料 VGG VGG网络结构 ...
- Django推导流程,Django模块的下载和基本使用、Django的应用和目录结构讲解、Django三板斧
今日内容 纯手撸web框架 1.web框架的本质: 理解1:连接前端与数据库的中间介质 理解2:socket服务端 2.手写web框架: 1.编写socket服务端代码 import socket s ...
- python读取kafka,输出到Vertica数据库
# 主测试 # https://docs.python.org/2/library/json.html import sys import json import vertica_python imp ...
- vue打包---放到服务器下(一个服务器多个项目需要配置路径),以及哈希模式和历史模式的不同配置方法
哈希模式,好用,不需要服务器配合分配路径指向,自己单机就可以打开了 接下来上代码截图 接下来开始截图 历史模式 历史模式需要后端支持 打包后自己直接点击是打不开的 截图如下
- ORM哪家强?java,c#,php,python,go 逐一对比, 网友直呼:全面客观
前言 最近一段时间,我使用golang开发了一个新的ORM库. 为了让这个库更好用,我比较研究了各语言的主流ORM库,发现有一些语言的ORM库确实很好用,而有另外一些语言的库那不是一般的难用. 然后我 ...
- Grafana 系列文章(四):Grafana Explore
️URL: https://grafana.com/docs/grafana/latest/explore/ Description: Explore Grafana 的仪表盘 UI 是关于构建可视化 ...
- java通过idea启动查看类加载来源信息
本文为博主原创,转载请注明出处: jdk 8 环境时,可以在启动的环境中配置 :-XX:+TraceClassLoading 进行启动时查看 jdk 11 环境时,可以在启动的JVM 环境中配置 ...
- P27_wxss - 全局样式和局部样式
全局样式 定义在 app.wxss 中的样式为全局样式,作用于每一个页面. 局部样式 在页面的 .wxss 文件中定义的样式为局部样式,只作用于当前页面. 注意: 当局部样式和全局样式冲突时,根据就近 ...