"""
在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——使用字符串(完整版)的更多相关文章

  1. Python学习-第二天-字符串和常用数据结构

    Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...

  2. 国内某Python大神自创完整版,系统性学习Python

    很多小伙伴纠结于这个一百天的时间,我觉得完全没有必要,也违背了我最初放这个大纲上来的初衷,我是觉得这个学习大纲还不错,自学按照这个来也能相对系统的学习知识,而不是零散细碎的知识最后无法整合,每个人的基 ...

  3. Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站

    Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/Artic ...

  4. Python学习杂记_3_字符串操作的常用方法

    字符串操作 字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1 P ...

  5. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  6. Python实现简单的Web完整版(一)

    在拖了一周之后,今天终于在一个小时之内将一个迷你的Web写出来了,最近改其它项目的bug头好大,但是好喜欢这样的状态. 黑色的12月,所有的任务都聚集在了12月,然后期末考试也顾不上好好复习了,但是但 ...

  7. Python学习笔记3—字符串

    原始字符串 使用\转义或者r,这种方法在网站设置网站目录结构的时候非常管用. >>> dos="c:\news" >>> print dos c ...

  8. 【Python学习笔记】字符串操作

    字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...

  9. python学习之初识字符串

    刚接触一门语言时,字符串是很容易遇到的, 例如要从读入或者写出, 字符串与数字间的转换等. 由于字符串, 列表和元组等类型具有一定的共性(由对象组成的序列,如字符串是字符序列), 在Python中统称 ...

随机推荐

  1. 二十七、Linux内核管理

    内核组成: uname命令 内核:uname,mkinitrd,dracut 模块: lsmod,modinfo,depmod,modprobe,insmod,rmmod /proc,sysctl,/ ...

  2. 2015-2016 ACM ICPC Baltic Selection Contest

    这是上礼拜三的训练赛,以前做过一次,这次仅剩B题没补.题目链接:https://vjudge.net/contest/153192#overview. A题,水题. C题,树形DP,其实是一个贪心问题 ...

  3. 浅谈 es6 箭头函数, reduce函数介绍

    今天来谈一下箭头函数, es6的新特性 首先我们来看下箭头函数长什么样子, let result = (param1, param2) => param1+param2; 上述代码 按照以前书写 ...

  4. java课后实验性问题2

    课后作业一:计算组合数 程序设计思想: 从键盘获取组合数,判断是否构成组合数.分别用三种方法计算组合数输出. 程序流程图: import java.util.Scanner; public class ...

  5. 北大ACM - POJ试题分类

    1.入门水题 可用于练手与增强自信 POJ-1003POJ-1004 POJ-1005 POJ-1207 POJ-3299 POJ-2159 POJ-1083POJ-3094 2.初级 2.1. 基本 ...

  6. Thymeleaf th:include、th:replace引用

    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" ...

  7. SQL-W3School-高级:SQL ALTER TABLE 语句

    ylbtech-SQL-W3School-高级:SQL ALTER TABLE 语句 1.返回顶部 1. ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.修改或删除列. ...

  8. CentOS 7.4 发布下载,安全稳定的Linux发行版

    CentOS 7.4 发布了.CentOS 是 RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在 RHEL 的基础上修正了不少已知的 Bug ,相对于其他 Lin ...

  9. jmeter 调用python的方法三种 (还没试)

    参考文章1: Jmeter 运行 Python 代码进行 AK/SK 认证 (使用 OS Process Sampler) 思路是:jmeter调用shell,用shell执行py 参考文章2: Jm ...

  10. 使用java NIO及高速缓冲区写入文件

    byte[] bytes = Files.readAllBytes(Paths.get("E:\\pdf\\aaa\\html\\text.txt").normalize()); ...