数据类型之字符串(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) 目录 这是& ...
随机推荐
- TS学习笔记
类型 类型 例子 描述 number 1,2,-2 任意数字 string 'hi',"hi" 任意字符串 boolean true,false 布尔值或者true false 字 ...
- 贪心算法Dijkstra
Dijkstra 最短路径问题 : 给定一个带权有向图 G = (V, E, W),同时给定一个源点 u (u ∈ V),我们要找出从源点 u 出发到其它各点的最短路径距离,并得出这些最短路径的具体路 ...
- 蚂蚁感冒【第五届蓝桥杯省赛C++A/B组】
蚂蚁感冒 长 \(100\) 厘米的细长直杆子上有 \(n\) 只蚂蚁. 它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方 ...
- Java基础篇——JVM初步
1.JVM的位置 2.JVM体系结构 3.类加载器 虚拟机加载器(java) 启动类(根)加载器(C++) 扩展类加载器(java)↑ 应用程序加载器(java)↑ 4.双亲委派机制 类加载器收到类加 ...
- 《Effective C++》关于const,define等总结
(将每一条item的总结和自己的理解给记录下来,以后有需要的话可以再回头参阅这些资料,不懂的再翻书温故.) Item 02:尽量以const ,enum,inline替换#define #define ...
- 《STL源码剖析》Sort排序分析
整体而言: sort算法在数据量大时采用Quick Sort(快速排序),一旦分段后的数据量小于某个门槛,为避免Quick Sort的递归调用带来过大的额外负担,就改用Insertion Sort(插 ...
- Winform DataGridViewTextBoxCell 编辑添加右键菜单,编辑选中文本
如上是我们使用DataGridView时,编辑单元格右键会出现系统菜单.现在我们添加自己的右键菜单,并可以操作选中文字. DataGridViewTextBoxCell: DataGridViewTe ...
- TCP与UDP、socket模块
1.传输层之TCP与UDP协议 1.TCP协议 1.传输控制协议(也称为TCP协议或可靠协议)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议,(数据不容易丢失);造成数据不容 ...
- *未解决 javaweb登录+验证码 bug存留
参考:https://www.cnblogs.com/ajing2018/p/15917166.html 感谢大佬指路 虽然还是没跑起来quq ## 案例:验证码 1. 案例需求: ...
- 【CodeSmith】The System.Data.SQLite library is not installed on this computer,不能使用SQLite解决办法
1.出现问题原因 1)System.Data.SQLite 尚未安装在您的计算机上 2)System.Data.SQLite 尚未正确配置 2.下载并安装System.Data.Sqlite [注意] ...