python基础类型—字符串
字符串str
用引号引起开的就是字符串(单引号,双引号,多引号)
1、字符串的索引与切片。
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
a = 'ABCDEFGHIJK'
print(a[0])
print(a[3])
print(a[5])
print(a[7])
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。

a = 'ABCDEFGHIJK'
print(a[0:3])
print(a[2:5])
print(a[0:]) #默认到最后
print(a[0:-1]) #-1就是最后一个
print(a[0:5:2]) #加步长
print(a[5:0:-2]) #反向加步长

2、字符串常用方法。
首字母大写,其他小写
a = 'lkAAAjh'
print(a.capitalize())
大小写翻转
a = 'lkAAAjh'
print(a.swapcase())
每个单词的首字母大写,中间不论是空格,特殊符号都可以看成区分单词的标志
a = 'kajah lakaj ijhy'
print(a.title())
内同居中,总长度,空白处填充
a = 'akjh'
a1 = a.center(20,'#')
print(a1) 结果 ########akjh########
字符串中元素出现的次数
a = 'akjh2jh23kj2k3'
a1 = a.count('2')
print(a1) 结果 3 a2 = a.count(‘2’,0,7) 可切片,顾头不顾尾
print(a1) 结果是 1
name = 'abD'
print(name.upper())#所有值变大
print(name.lower())#所有值变小
a2 = "hqw\t"
#\t前面的补全
# 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
ret4 = a2.expandtabs()
print(ret4)
startswith检测字母开头,返回ibool值
a2 = "hq11111w"
a3 = a2.startswith('h')
print(a3) 结果 True
检测第几位是不是指定元素
a2 = "hq11111w"
a3 = a2.startswith('h',4)
print(a3)
结果 False endswith检测字母结尾,可切片
a2 = "hq11111w"
a4 = a2.endswith('w')# a4 = a2.endswith('w',3,6) 切片,顾头不顾尾
print(a4) 结果 True
find寻找字符串中的元素是否存在,找到返回索引,找不到返回-1
a = 'lkjuhygtiiuyt'
b = a.find('hyg',2,7)
print(b)
index 检测字符串中的元素是否存在,找到返回索引,找不到报错
a = 'lkjhgfdsaweyijhg'
b = a.index('dsa',0,8)
print(b)
split rsplit 两者开始方向相反,以什么分割,最终形成一个列表,词列表不包含此元素
a = 'title,Tital,itae,yu,'
print(a.split('t')) a = 'title,Tital,itae,yu,'.split('t')
print(a) 分割几次
a = 'title,Tital,itae,yu,'.split('t',2)
print(a)
如上便是只分割前两个t
rsplit开始方向相反
format的三种应用 格式化输出
res = '{} {} {}'.format('xiaoming',18,'male')
print(res)
res = '{1} {0} {2} {1} {2} {0} {0}'.format('xiaoming',18,'male')
print(res)
res = '{name} {age} {sex}'.format(sex='male',name='xiaoming',age=18)
print(res) 结果 xiaoming 18 male
18 xiaoming male 18 male xiaoming xiaoming
xiaoming 18 male
strip lstrip rstip
name='*egon**'
print(name.strip('*')) 去掉全部*
print(name.lstrip('*')) 去掉左边的* light
print(name.rstrip('*')) 去掉右边的* rest 结果 egon
egon**
*egon
replace替换
a = 'abc uyt aba abc tgd bgf'
b = a.replace('abc','sb',1) #去掉,用sb替换全部abc
print(b) #,1表示用sb替换掉第一个abc 结果 sb uyt aba abc tgd bgf
#####is系列
name='jinxin123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成
print(name.isspace()) #字符串是否是空
注意:
1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
2、字符串可以用+运算符连接在一起,用*运算符重复。
3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
4、Python中的字符串不能改变。
3,Python的转译字符
| \ 在行尾时 | 续行符 |
| \\ | 反斜杠符号 |
| \' | 单引号 |
| \" | 双引号 |
| \a | 响铃 |
| \b | 退格Backspace |
| \e | 转译 |
| \000 | 空 |
| \n | 换行 |
| \v | 纵向制表符 |
| \t | 横向制表符 |
| \r | 回车 |
| \f | 换页 |
| \oyy | 八进制,yy代表的字符。例如:\o12代表换行 |
| \xyy | 十六进制,yy代表的字符。例如:\x0a代表换行 |
| \other | 其他的字符以普通格式输出 |
4、Python字符串运算符
| 操作符 | 描述 | 实例 |
|---|---|---|
| + | 字符串连接 | a + b 输出结果: HelloPython |
| * | 重复输出字符串 | a*2 输出结果:HelloHello |
| [] | 通过索引获取字符串中字符 | a[1] 输出结果 e |
| [ : ] | 截取字符串中的一部分,遵循左闭右开原则,str[0,2] 是不包含第 3 个字符的。 | a[1:4] 输出结果 ell |
| in | 成员运算符 - 如果字符串中包含给定的字符返回 True | 'H' in a 输出结果 True |
| not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | 'M' not in a 输出结果 True |
| r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 |
print( r'\n' ) |
| % | 格式字符串 | 请看下一节内容。 |
5、Python字符串格式化符号
| 符 号 | 描述 |
|---|---|
| %c | 格式化字符及其ASCII码 |
| %s | 格式化字符串 |
| %d | 格式化整数 |
| %u | 格式化无符号整型 |
| %o | 格式化无符号八进制数 |
| %x | 格式化无符号十六进制数 |
| %X | 格式化无符号十六进制数(大写) |
| %f | 格式化浮点数字,可指定小数点后的精度 |
| %e | 用科学计数法格式化浮点数 |
| %E | 作用同%e,用科学计数法格式化浮点数 |
| %g | %f和%e的简写 |
| %G | %f 和 %E 的简写 |
| %p | 用十六进制数格式化变量的地址 |
格式化操作符辅助指令:
| 符号 | 功能 |
|---|---|
| * | 定义宽度或者小数点精度 |
| - | 用做左对齐 |
| + | 在正数前面显示加号( + ) |
| <sp> | 在正数前面显示空格 |
| # | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
| 0 | 显示的数字前面填充'0'而不是默认的空格 |
| % | '%%'输出一个单一的'%' |
| (var) | 映射变量(字典参数) |
| m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
6、Unicode 字符串
在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u。
在Python3中,所有的字符串都是Unicode字符串。
python基础类型—字符串的更多相关文章
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- python基础类型,字符串
python基本类型小结 # str,可以用索引取值,但是不能通过索引改变值, # a = "123" a[0]=10,直接TypeError因为字符串是不可变类型 # list, ...
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
- Python基础__字符串拼接、格式化输出与复制
上一节介绍了序列的一些基本操作类型,这一节针对字符串的拼接.格式化输出以及复制的等做做详细介绍.一. 字符串的拼接 a = 'I', b = 'love', c = 'Python'. 我们的目的是: ...
- python基础、字符串和if条件语句,while循环,跳出循环、结束循环
一:Python基础 1.文件后缀名: .py 2.Python2中读中文要在文件头写: -*-coding:utf8-*- 3.input用法 n为变量,代指某一变化的值 n = inpu ...
- 2015/8/31 Python基础(5):字符串
字符串是Python最常见的一种类型.通过在引号间包含字符的方式创建它.Python里单双引号的作用是一致的.Python的对象类型里不存在字符型,一般用单个字符的字符串来使用.Python的字符串是 ...
- Python基础之字符串和编码
字符串和编码 字符串也是一种数据类型,但是字符串比较特殊的是还有个编码问题. 因为计算机自能处理数字,如果徐娅处理文本,就必须先把文本转换为数字才能处理,最早的计算机子设计时候采用8个比特(bit)作 ...
- Python基础二字符串和变量
了解一下Python中的字符串和变量,和Java,c还是有点区别的,别的不多说,上今天学习的代码 Python中没有自增自减这一项,在转义字符那一块,\n,\r\n都是表示回车,但是对于不同的操作系统 ...
- python基础之字符串类型
一.python字符串类型概述 定义:在单引号\双引号\三引号内,由一串字符组成 name='Test' name = 'test' print(type(name)) --------------- ...
随机推荐
- Listener(2)—案例
ServletContext的事件监听器,创建:当前web应用被加载(或重新加载)到服务器中,销毁:当前web应用被卸载 import javax.servlet.ServletContextEven ...
- JDBC(9)—事务(Transaction)
数据库事务:在数据库中所谓事务是指一组逻辑操作单元,使数据从一种状态转换到另一种状态.为确保数据库中的数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这些 ...
- 2、html补充
今天补充几个html标签 <body>内常用标签 1.<div>和<span> <div></div> : <div>只是一个块 ...
- pygame-KidsCanCode系列jumpy-part9-使用spritesheet
做过前端的兄弟应该都知道css sprite(也称css精灵),这是一种常用的减少http请求次数的优化手段.把很多小图拼成一张大图,只加载1次,然后用css定位到不区的区域,从而展示不同的图片.游戏 ...
- Java高并发和多线程系列 - 1. 线程基本概念
1. 什么是线程? 线程和进程的区别 在了解线程的概念前,我们应该先知道什么是进程? 进程是操作系统的基本概念之一, 它是正在执行的程序实例. * 下面的一些进程的基本概念你可以了解下 ------- ...
- grid - 隐式地命名网格区域名称
通常可以将网格线命名成任何你想命名的名称,如果网格线名称添加-start和-end的后缀,其实也隐式的创建一个网格区域,可以用来设置网格项目的位置. 在这个示例中,行和列都具有inner-start和 ...
- phpStorm中如何不让其自动添加封闭大括号?
Settings > Editor > General->Smart Keys.
- Android Studio打包过程和应用安装过程
三个部分,检查项目和读取基本配置,Gradle Build,Apk Install和LaunchActivity. 应用安装到手机,会复制APK安装包到data/app目录下,解压并扫描安装包,把de ...
- Session 在分布式系统中实现方式
##server独立Session 例如以下图所看到的: server独立Session要求用户的每次请求都必须在同一台应用server上面操作,这就要求负载均衡server每次都能把用户的请求发送到 ...
- [转载] Conv Nets: A Modular Perspective
原文地址:http://colah.github.io/posts/2014-07-Conv-Nets-Modular/ Conv Nets: A Modular Perspective Posted ...