"""
在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. c++ 实现等待5s

    #include <stdio.h> /* puts, printf */ #include <time.h> /* time_t, struct tm, time, loca ...

  2. ThreadGroupAPI

    官方解释 public class ThreadGroup extends Object implements Thread.UncaughtExceptionHandler A thread gro ...

  3. python异常链

    习惯使用java开发,在java开发里有异常链概念和重新抛出异常,在python是怎么实现的呢? 1.异常链 1.1.java实现 public static void test1() throws ...

  4. 将elasticsearch设置为windows系统服务

    目前我都是在windows的环境下操作是Elasticsearch,并且喜欢使用命令行 启动时通过cmd直接在elasticsearch的bin目录下执行elasticsearch 这样直接启动的话集 ...

  5. spring boot定时任务

    介绍 该demo是基于注解(@Scheduled)以及多线程执行的定时任务. 步骤 启用异步执行 springboot实现异步调用 入口类添加启动注解 @EnableScheduling @Enabl ...

  6. WINFORM控件tabcontrol,隐藏,调用等等

    1先说显示项的控制, 第一个是selectedIndex属性这个实用性不是太强,但是如果不涉及到隐藏,删除,增加tabpage的话,也可以用. 第二个是selectedTab=tabPage1,这个属 ...

  7. Coarse-to-Fine超分辨率相关

    1.A Coarse-to-Fine Subpixel Registration Method to Recover Local Perspective Deformation in the Appl ...

  8. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_07-vuejs研究-vuejs基础-v-bind指令

    4.v-bind v-bind:无法双向绑定’ 1.作用: v‐bind可以将数据对象绑定在dom的任意属性中. v‐bind可以给dom对象绑定一个或多个特性,例如动态绑定style和class 2 ...

  9. Python 利用二分法查询数据

    一. 二分法的适用条件 二分法查找适用于数据量较大时, 但是数据需要先排好顺序. 优点: 二分法查找效率特别高 缺点: 二分法只适用于有序序列 二. 二分法的主要思想是:设查找的数组区间为array[ ...

  10. unity三维地球模型生成

    准备一张贴图   创建材质球 球面坐标系转直角坐标系 x=rsinθcosφ. y=rsinθsinφ. z=rcosθ. 效果如下   脚本如下 using System.Collections; ...