字符串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' )
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基础类型—字符串的更多相关文章

  1. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  2. python基础类型,字符串

    python基本类型小结 # str,可以用索引取值,但是不能通过索引改变值, # a = "123" a[0]=10,直接TypeError因为字符串是不可变类型 # list, ...

  3. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

  4. Python基础__字符串拼接、格式化输出与复制

    上一节介绍了序列的一些基本操作类型,这一节针对字符串的拼接.格式化输出以及复制的等做做详细介绍.一. 字符串的拼接 a = 'I', b = 'love', c = 'Python'. 我们的目的是: ...

  5. python基础、字符串和if条件语句,while循环,跳出循环、结束循环

    一:Python基础 1.文件后缀名: .py 2.Python2中读中文要在文件头写: -*-coding:utf8-*- 3.input用法      n为变量,代指某一变化的值 n = inpu ...

  6. 2015/8/31 Python基础(5):字符串

    字符串是Python最常见的一种类型.通过在引号间包含字符的方式创建它.Python里单双引号的作用是一致的.Python的对象类型里不存在字符型,一般用单个字符的字符串来使用.Python的字符串是 ...

  7. Python基础之字符串和编码

    字符串和编码 字符串也是一种数据类型,但是字符串比较特殊的是还有个编码问题. 因为计算机自能处理数字,如果徐娅处理文本,就必须先把文本转换为数字才能处理,最早的计算机子设计时候采用8个比特(bit)作 ...

  8. Python基础二字符串和变量

    了解一下Python中的字符串和变量,和Java,c还是有点区别的,别的不多说,上今天学习的代码 Python中没有自增自减这一项,在转义字符那一块,\n,\r\n都是表示回车,但是对于不同的操作系统 ...

  9. python基础之字符串类型

    一.python字符串类型概述 定义:在单引号\双引号\三引号内,由一串字符组成 name='Test' name = 'test' print(type(name)) --------------- ...

随机推荐

  1. 开源流媒体服务器SRS学习笔记(2) - rtmp / http-flv / hls 协议配置 及跨域问题

    对rtmp/http-flv/hls这三种协议不熟悉的同学,强烈建议先看看网友写的这篇文章科普下:理解RTMP.HttpFlv和HLS的正确姿势 .   srs可以同时支持这3种协议,只要修改conf ...

  2. Win8.1/win10安装photoshop软件提示please uninstall and reinstall the product如何解决

    Photoshop CS6是一款编辑图片软件,在Win8系统中安装Photoshop CS6,提示:please uninstall and reinstall the product ,该如何解决? ...

  3. CoordinatorLayout使用详解: 打造折叠悬浮效果

    1.简介 CoordinatorLayout遵循Material 风格,包含在 support Library中,结合AppbarLayout, CollapsingToolbarLayout等 可 ...

  4. [Python设计模式] 第18章 游戏角色备份——备忘录模式

    github地址:https://github.com/cheesezh/python_design_patterns 题目 用代码模拟以下场景,一个游戏角色有生命力,攻击力,防御力等数据,在打Bos ...

  5. 小程序学习笔记二:页面文件详解之 .json文件

       页面配置文件—— pageName.json 每一个小程序页面可以使用.json文件来对本页面的窗口表现进行配置,页面中配置项会覆盖 app.json 的 window 中相同的配置项. 页面的 ...

  6. 每天一个linux命令(5):rmdir

    1.命令简介 rmdir (Remove Directory删除目录): 用来删除空目录,删除某目录时也必须具有对父目录的写权限. 2.用法 用法:rmdir [选项]... 目录... 3.选项 - ...

  7. kuda 了解片

    本来上个月想去了解一下kuda的,结果一直没有抽出时间去搞,现在大致先开个头,方便后面深入! Apache Kudu是开源Apache Hadoop生态系统的新成员,它完善了Hadoop的存储层,可以 ...

  8. 在Visual Studio 2013中安装Mysql for EntityFramework

    1. 安装Visual Studio 20132. 下载mysql,安装mysql.3. 下载 mysql-for-visualstudio-1.2.7.msi, 下载链接:https://cdn.m ...

  9. Windows下使用mklink命令参数介绍

    Windows下创建符号链接使用命令mklink常用参数有 /D /J,两者有比较明显的区别 区别1:创建/D 创建目录符号链接(即目录快捷方式)而不是文件符号链接(默认为文件符号链接),可以使用相对 ...

  10. Asp.Net WebApi上传图片

    webapi using System; using System.Collections; using System.Collections.Generic; using System.Diagno ...