Python学习2——使用字符串(完整版)
"""
在C语言入门的时候字符串没有好好学习,导致后期语言根本没有入门,
更导致之后大量的codeing时间浪费,效率低下。
因此,借助这次Python入门,好好地将字符串这一节学一学,弥补一下。
"""
1、字符串基本操作
前边已经说过,所有标准序列操作都适用于字符串,但字符串是不可变的,因此,所有元素的赋值和切片赋值操作都是非法的。
2、设置字符串的格式(完整版)
字符串设置方法很多,在这里主要是调用方法format,并提供要设置其格式的值。
3、字符串方法 center find join lower replace split strip translate is开头的方法
#center 通过在两边添加填充字符(默认为空格)让字符串居中
>>> "The middle by Jimmy Eat World".center(39)
' The middle by Jimmy Eat World '
>>> "The middle by Jimmy Eat World".center(39,"*")
'*****The middle by Jimmy Eat World*****' #find 在字符串中寻找子串 ,如果找到,返回子串的第一字符的索引,否则返回-1
>>> sentence="jiameng is a very cool boy"#空格也是字符串的一部分
>>> sentence.find("is")
8
>>> sentence.find("world")
-1
>>> sentence.find("cool")
18
>>> sentence.find("cool",0,6)#指定了搜索的起点和终点
-1 #join 非常重要的字符串方法,其作用与split相反,用于合并序列的元素。
#所合并序列的元素都必须是字符串
>>> list1=[1,2,3,4,5]
>>> str="+++"
>>> list2=['','','','','']
>>> str.join(list1)
Traceback (most recent call last):
File "<pyshell#177>", line 1, in <module>
str.join(list1)
TypeError: sequence item 0: expected str instance, int found
>>> str.join(list2)
'1+++2+++3+++4+++5' #lower 返回字符串的小写版本
#可用于检查列表中是否存在某个元素,但又不想区分大小写的时候比较有用
>>> str="The World is Very Beautiful ! @17801231733.COM"
>>> str.lower()
'the world is very beautiful ! @17801231733.com' #replace 将指定子串都替换为另一个字符串,并返回替换后的结果。可用于批量查找替换
'the world is very beautiful ! @17801231733.com'
>>> str="jiameng is so cool ! I like jiameng!"
>>> str.replace("jiameng","beiyou")
'beiyou is so cool ! I like beiyou!' #split 是一个非常重要的字符串方法,作用与join相反,用于将字符串拆分为序列
>>> '1+2+3+4+5'.split("+")
['', '', '', '', '']
>>> "C:home/file/homeworks/math".split("/")
['C:home', 'file', 'homeworks', 'math']
>>> "Jiameng is very beautiful !".split()#如果没有指定分隔符,将会在单个或者连续的空白字符(空格、制表符、换行符号等)处进行拆分
['Jiameng', 'is', 'very', 'beautiful', '!'] #strip 将字符串开头和结尾的空白(不包含中间的空白)删除,并返回删除后的结果
#这个方法也很有用,就像lower一样,如果用户不小心多输入了空格,你仍然能够找到对应的元素
>>> str=" good! good! very good! "
>>> str.strip()
'good! good! very good!'
>>> str="**** googd! good ** very good! ***"
>>> str.strip("*")
' googd! good ** very good! ' #translate 与replace一样替换字符串中的指定部分,但是不同的是,replace只能替换单字符,但是translate可以同时替换多个字符,因此效率比replace高。
#但是使用translate 之前,必须创建一个转换表。这个转换表指出了不同Unicode码点之间的转换关系。
要创建转换表,可对字符串str调用方法maketrans ,这个方法接收两个参数:两个长度相同的字符串,他们指定要将第一个字符串中的字符都替换为第二个字符串中相应位置的字符。
>>> table=str.maketrans("ac","bd"," ")#还可以添加第三个参数,指定要将哪些字母删除
>>> str="aaa ccc OK!"
>>> table
{97: 98, 99: 100, 32: None}#table 里是Unicode码点之间的映射
>>> str.translate(table)
'bbbdddOK!'
本章新介绍的函数:
| 函数 | 描述 |
| string.capwords(s[ ,sep) | 使用spilt根据sep拆分s,将每一项的首字母大写,再以空格为分隔符将它们合并起来 |
| ascii(obj) | 创建指定对象的ASCII表示 |
未完待续......
Python学习2——使用字符串(完整版)的更多相关文章
- Python学习-第二天-字符串和常用数据结构
Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...
- 国内某Python大神自创完整版,系统性学习Python
很多小伙伴纠结于这个一百天的时间,我觉得完全没有必要,也违背了我最初放这个大纲上来的初衷,我是觉得这个学习大纲还不错,自学按照这个来也能相对系统的学习知识,而不是零散细碎的知识最后无法整合,每个人的基 ...
- Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站
Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/Artic ...
- Python学习杂记_3_字符串操作的常用方法
字符串操作 字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1 P ...
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- Python实现简单的Web完整版(一)
在拖了一周之后,今天终于在一个小时之内将一个迷你的Web写出来了,最近改其它项目的bug头好大,但是好喜欢这样的状态. 黑色的12月,所有的任务都聚集在了12月,然后期末考试也顾不上好好复习了,但是但 ...
- Python学习笔记3—字符串
原始字符串 使用\转义或者r,这种方法在网站设置网站目录结构的时候非常管用. >>> dos="c:\news" >>> print dos c ...
- 【Python学习笔记】字符串操作
字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...
- python学习之初识字符串
刚接触一门语言时,字符串是很容易遇到的, 例如要从读入或者写出, 字符串与数字间的转换等. 由于字符串, 列表和元组等类型具有一定的共性(由对象组成的序列,如字符串是字符序列), 在Python中统称 ...
随机推荐
- sql server解锁表
EXEC sp_who active --看哪个引起的阻塞,blk blk<>0 --解锁表declare @spid intSet @spid = 274 --锁表进程declare @ ...
- C语言指针方法对字符串进行去重
自己编写了3种方法,都是使用指针的.(在LR中编写的) 1.先在原字符串进行比较,然后再放入目标字符串 Action() { char *srt="aadfeedeewwffggecccew ...
- MySQL 取分组后每组的最新记录
修改<常用SQL之日期格式化和查询重复数据>中表test1的创建时间,修改后的测试数据如下: 以姓名分组后提取每组最新创建的记录: SELECT a.* FROM test1 AS a, ...
- Spring boot 配置 Tomcat 临时文件缓存目录
1. 问题现象 spring boot 项目中,Tomcat 接收到 content-type 为 multipart/form-data 的请求时,需要将接收的文件缓存到临时目录(默认下载 /tmp ...
- RISC-V riscv64-unknown-elf
riscv64-unknown-elf 为 RISC-V指令集的交叉编译工具 以下环境在Liunx ubuntu x86_64 环境下进行,下面示例以生成32位文件为目标来操作使用. screen / ...
- python 数字转字符保留几位小数 by gisoracle
#数字转字符保留几位小数 by gisoracle #数字转字符保留几位小数 by gisoracle def floattostr(num,xsnum): if xsnum==0: return s ...
- [Java]借助PrintWriter类和StringWriter类,取出异常堆栈信息放入字符串中
在程序开发中,有时我们不仅需要将异常堆栈信息打印在控制台里或是log里,可能还需要将它存在String中,再送到合适的地方,如错误页面,数据库等. 要取异常堆栈信息,具体的函数就是: /** * Ge ...
- 转载:OutOfMemoryError系列(2): GC overhead limit exceeded
这是本系列的第二篇文章, 相关文章列表: OutOfMemoryError系列(1): Java heap space OutOfMemoryError系列(2): GC overhead limit ...
- Eclipse的下载地址
下载地址:http://eclipse.org/
- WebsSocket
本篇阅读目录 一.Websocket原理(握手.解密.加密) 二.基于Python实现简单示例 回到顶部 一.Websocket原理(握手.解密.加密) WebSocket协议是基于TCP的一种新的协 ...