Python字符串(一)
一、get char
1.获取单个字符
字符串中的每一个字符都会对应一个唯一的下标(索引)用来表示字符串中的位置。
下标从0开始依次增加;0对应的是第一个字符;也可以从从-1开始依次减小,-1代表最后一个字符。
例如:’hello‘ h --> (0,-5) ,e --> (1,-4),l --> (2,-3),l --> (3,-2) ,o -->(4,-1)
'\tpytho\u4e00n' --> p --> (1,-7)
a. 语法
字符串[下标] - -获取字符串中指定下标对应的字符
b.说明:
字符串--只要结果是字符串的表达式都可以,例如:字符串字面量,字符串变量
[ ] - -固定写法
下标 - 需要获取的字符对应的下标;注意,这儿的下标不能越界。

运行结果:

2.获取部分字符(字符串切片)
语法:
字符串[开始下标:结束下标:步长] - 从开始下表开始获取到结束下标前为止。
每次下标值加上步长去获取下一个
说明:
字符串 -- 只要结果是字符串的表达式都可以,例如:字符串字面量,字符串变量
方法一:
[ ] - 固定写法
开始下标、结束下标 - 下标值(这儿下标值可以越界)
步长:必须是整数(正和负都可以);如果步长是正数,是从开始下标从前往后;
如果是步长是负数,是从开始下标从后往前。
a、 注意:
当步长为正,要求开始下标对应的字符的位置必须在结束下标对应位置之前,否则结果为空串
当步长为负,要求开始下标对应的字符位置必须在结束下标对应的字符的位置后面,否则结果为空串
结束下标一定取不到

运行结果:

练习:获取一个字符串中所有下标是奇数的字符(顺序)

运行结果:

方法二:(省略步长)
字符串[开始下标:结束下标] - -步长是1;从开始下标开始到结束下标前为止,一个一个的取!

运行结果:

方法三:(省略开始下标和结束下标)
a.省略开始下标
字符串[:结束下标:步长] - -当步长是正数,从字符串的第一个字符开始取到结束下标前为止;
当步长是负数,从字符串的最后一个字符开始取到结束下标前为止.
b.省略结束下标
字符串[开始下标::步长] - -当步长是正数,从开始下标开始取到字符串最后一个字符为止;
当步长是负数,从开始下标开始取到字符串的第一个字符为止.
例如:

运行结果:

二、字符串支持的运算符:+ ,*,>,<,==,>=,<=
python中的字符串支持数学运算的+和,以及所有的比较运算符.*
1.字符串1 + 字符串2 :将字符串1和字符串2拼接在一起产生新的字符串.
注意:数字和字符串不能混合相加
2.字符串 * N :
N 是正整数;让字符串重复N次产生一个新的字符串.
print('abc' + 123) 数字和字符串不能混合想加.

结果:

3. 比较是否相等
==,!= 可以判断两个字符串是否相等或者不等

结果:

4.字符串比较大小:从第一个字符依次往后找,找到一个不相等的字符对,判断他们编码值的大小;
谁的编码值大,对应的字符串就大,不会再往后比了.

结果:

in 和 not in操作
字符串1 in 字符串 2 --> 判断字符串2中是否包含字符串1(判断字符串1是否是字符串2的子串)
字符串1 not in 字符串 2 --> 判断字符串2中是否不包含字符串1(判断字符串1是否不是字符串2的子串)

结果:

4.len()
len(序列) ---获取序列长度,获取序列中元素个数。
len(字符串) ---获取字符串长度(个数)
注意:
一个转义字符长度是1
一个编码字符长度是1
一个空格字符长度1
一般一个手动tab键长度是4个空格

结果:


结果:

三、格式字符串
什么是格式字符串
在字符串中通过格式占位符来替代字符串中变化的部分,然后在后面通过数据或者变量确定变化
语法:
包含占位符的字符串 % (值1,值2,值3....)
说明:
占位符---%s 字符串
%d 整数
%f 小数(%.Nf 保留小数点后N位小数)
%c 字符(可以将数字转换成字符)
% --固定写法
()--固定写法,字符串中只有一个占位符的时候,这个()可以省略。
括号里面的值--值和占位符要一一对应(个数、类型、位置都要对应)
例如:我叫XX,今年xx岁,性别:X

结果:
练习: 输入一个字符串, 用一个变量保存输入的字符串的相关信息:XXX的长度是XX,最后一个字符是X

结果:
Python字符串(一)的更多相关文章
- 关于python字符串连接的操作
python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式 ...
- StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing the strings?
StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing t ...
- Python 字符串
Python访问字符串中的值 Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. Python访问子字符串,可以使用方括号来截取字符串,如下实例: #!/usr/bin/py ...
- python字符串方法的简单使用
学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: >& ...
- python字符串基础知识
1.python字符串可以用"aaa",'aaa',"""aaa""这三种方式来表示 2.python中的转义字符串为" ...
- Python 字符串格式化
Python 字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存 一 ...
- Python 字符串操作
Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip() .lstrip() .rstrip(',') 复制字符 ...
- 【C++实现python字符串函数库】strip、lstrip、rstrip方法
[C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...
- 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith
[C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...
- 【C++实现python字符串函数库】一:分割函数:split、rsplit
[C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...
随机推荐
- abp方法权限
一.自定义一个权限实体,也可以直接用abp的PermissionNames类 二.重写PermissionChecker中的IsGrantedAsync方法 public override async ...
- powerbuilder连接oracle数据库
一.打开已经安装好的pb9.0,主界面菜单栏有个两个圆柱形就行数据库连接,点击database. 二.选择oracle版本,由于数据库版本是9i,可以使用084 oracle8/8i.右键--选择ne ...
- 「CF815C」Karen and Supermarket
传送门 Luogu 解题思路 树形背包. 设 \(f[i][j][0/1]\) 表示在以 \(i\) 为根的子树中选 \(j\) 件商品的最少花费. 边界条件: \(f[i][j][0] = \min ...
- uWSGI配置参数释义
uWSGI配置参数释义 socket : 地址和端口号,例如:socket = 127.0.0.1:50000 processes : 开启的进程数量 workers : 开启的进程数量,等同于pro ...
- Redis为什么要自己实现一个SDS
Redis是使用C语言开发的,在C语言中没有字符串这种数据类型,字符串大都是通过字符数组实现的,但是使用字符数组有以下不足: 1. 字符数组的长度都是固定,容易发生空指针2. 获取字符数组的长度的时候 ...
- idea使用小技巧
1.按住alt,鼠标往下拉一条直线,可以选中一列或多列,或者不选中任何文字,可以让光标定位到这几行的相同的列的位置,然后输入文本,发现在被选中的所有行同时输入了这些文本(类似notepad++): 2 ...
- htmlunit的使用
原文转自:https://www.cnblogs.com/davidwang456/articles/8693050.html HtmlUnit使用场景 httpClient的局限性 对于使用java ...
- 第一节:Vuejs入门之各种指令
一. 简介 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上 ...
- 解决springmvc拦截器拦截静态资源的两种方式
1.是采用<mvc:default-servlet-handler />,(一般Web应用服务器默认的Servlet名称是"default",所以这里我们激活Tomca ...
- Python 基础之面向对象之异常处理
一.认识异常 1.常用异常报错的错误类型 IndexError 索引超出序列的范围 KeyError 字典中查找一个不存在的关键字 Na ...