获得更多资料欢迎进入我的网站或者 csdn或者博客园

经过前面的介绍相信大家也对python有了一个初步的了解;本节主要介绍字符串,不管学习什么编语言字符串一定在其中扮演着重要的地位。本节主要讲解,字符串的定义以及怎么使用字符串;

python入门之列表和元组

python入门之软件安装

字符串简介

字符串是一种序列,用于表示和存储文本。python中字符串一旦声明,就不能改变。所以也称为字符串常量;

python实际的三类字符串:

1.单双引号字符串:

  1. >>> 'peace'
  2. 'peace'
  3. >>> "peace"
  4. 'peace'
  5. >>>

2.三引号字符串和转义字符串,raw原始字符串:

三引号字符串是可以换行;raw原始字符串是不进行转义;

  1. #三引号字符串
  2. >>> '''peace
  3. ... peace
  4. ... peace'''
  5. 'peace\npeace\npeace'
  6. #转义字符串
  7. >>> 'Im'peace'
  8. File "<stdin>", line 1
  9. 'Im'peace'
  10. ^
  11. SyntaxError: invalid syntax
  12. >>> 'Im\'peace'
  13. "Im'peace"
  14. >>>
  15. #原始字符串 不进行转义:
  16. >>> print (r"c:\peace\n")
  17. c:\peace\n
  18. >>> print ("c:\peace\n")
  19. c:\peace

3Unicode字符串:

  1. >>> print(u'peace\u0020one')
  2. peace one
  3. >>>

基本字符串操作

前面将的所有标准序列操作(索引,分片,乘法,判断成员资格,求长度,取最大值和最小值)对字符串同样适合;但是字符串是不可变的,索引赋值和分片赋值是不允许的;如下:

  1. >>> name="peace"
  2. >>> name[1]='q'
  3. Traceback (most recent call last):
  4. File "<stdin>", line 1, in <module>
  5. TypeError: 'str' object does not support item assignment
  6. >>>

字符串格式化

1.%字符:标记转换符开始

字符串格式化转换类型:



演示如下:

  1. #%s 格式化字符串:
  2. >>> format="I\'m,%s,%s?"
  3. >>> name=('One','peace')
  4. >>> print (format % name)
  5. I'm,One,peace?
  6. #%f格式化实数:
  7. >>> format="1.31400 with three decimals:%.3f"
  8. >>> print(format % 1.31400)
  9. 1.31400 with three decimals:1.314
  10. >>>

2.转换标志:

-:左对齐

+:在转换值之前加上正负号

“ ”:正数之前保留空格

0:转换值若位数不够用0填充

.或者.*:输出精度

下面我有单精度符号数进行演示:

以上操作对其他类型也可以

1.左对齐在%号加上-号即可;

  1. >>> a=1.314520
  2. >>> '%010.3f'%a
  3. '000001.315'
  4. >>> '%-010.3f'%a
  5. '1.315 '
  6. >>>

2.在输出前加上正负号:%后加上+

  1. >>> a=1.314520
  2. >>> '%+f'%a
  3. '+1.314520'
  4. >>>

3.正数之前保留空格:%后加上空格

  1. >>> a=1.314520
  2. >>> b=-a
  3. >>> b
  4. -1.31452
  5. >>> '%f'%b
  6. '-1.314520'
  7. >>> '% f'%a
  8. ' 1.314520'

4.输出位数不够用0补充:%号后加上0

  1. >>> a=1.314520
  2. >>> '%010f'%a
  3. '001.314520'
  4. >>>

5.输出精度:%号后加上.或者.* 如果用*,此时精度数值会从元组参数中读出

  1. >>> a=1.314520
  2. >>> '%.3f'%a
  3. '1.315'
  4. >>> '%.*f'%(3,a)
  5. '1.315'
  6. >>>

字符串方法:

find方法

find方法可以在一个较长的字符串中查找子字符串。它返回子串所在位置的最左端索引。如果没有找到则返回-1。

  1. >>> name="my name is peace and is"
  2. #查找的是最左端的
  3. >>> name.find('is')
  4. 8
  5. #没有找到返回-1
  6. >>> name.find('one')
  7. -1
  8. #可以提供查找的起点,下面时从9开始查
  9. >>> name.find('is',9)
  10. 21
  11. #当然可以同时给出终点和起点
  12. >>> name.find('is',10,11)
  13. -1
  14. >>>

join方法和split方法

join方法是用来连接序列中的元素(注意必须都是字符串),而split刚好相反,是用来将字符串分割成序列

  1. #如果seq=[1,2,5,6]就会报错
  2. >>> seq=['1','2','5','6']
  3. >>> adhere='-'
  4. >>> adhere.join(seq)
  5. '1-2-5-6'
  6. >>> adhere
  7. '-'
  8. >>> a=adhere.join(seq)
  9. >>> a
  10. '1-2-5-6'
  11. >>> a.split('-')
  12. ['1', '2', '5', '6']
  13. >>>

lower方法

lower方法返回字符串的小写字母版。对于查找时非常有用的;见下面的例子:

  1. >>> name='ONE Peace'
  2. >>> k=name.lower()
  3. >>> k
  4. 'one peace'
  5. >>> 'ONE Peace' in ['one peace','nick name']
  6. False
  7. >>> 'ONE Peace'.lower() in ['one peace','nick name']
  8. True
  9. >>>

replace方法和translate方法

replace方法返回某个字符串的所有匹配项均被替换之后得到的字符串。

translate方法和replace方法一样,可以替换字符串中的某些部分,但是和前者不同的是,translate方法只处理单个字符。它的优势在于可以同时进行多个替换,有些时候比replace效率高得多。在使用translate转换前,需要先完成一张转换表。转换表中是以某字符替换某字符的对应关系。有时表比较长,我们还是不要自己写了,直接用maketrans方法就行了。maketrans方法接收两个参数:两个等长的字符串,表示第一个字符串中的每个字符都用第二个字符串中相同位置的字符替换。

需要注意的是python3.0之前的版本maketrans函数在string中需要引入

  1. >>> st='is is is is is'
  2. >>> st2=st.replace('is','peace')
  3. >>> st2
  4. 'peace peace peace peace peace'
  5. >>> st='abcdefghijklm'
  6. >>> table=st.maketrans('bc','aa')
  7. >>> len(table)
  8. 2
  9. >>> table
  10. {98: 97, 99: 97}
  11. >>> st.translate(table)
  12. 'aaadefghijklm'

strip方法

strip方法返回去除两侧(不包含内部)空格(或者是指定字符)的字符串

  1. >>> st=' aaaaa '
  2. >>> st.strip()
  3. 'aaaaa'
  4. >>> st='***jjjj***'
  5. >>> st.strip('*')
  6. 'jjjj'
  7. >>>

字符串入门就讲到这里;

相关链接:

python3入门之类

python3入门之函数

python3入门之循环

python3之if语句

python3入门之赋值语句介绍

python3入门之print,import,input介绍

python3入门之set

python3入门之字典

python3入门之字符串

python3入门之列表和元组

python3入门之软件安装

python3爬虫之入门和正则表达式

python3入门之字符串的更多相关文章

  1. python3入门之类

    在面向对象的语言中,类是最重要的一环,python自然拥有类这个机制.python的类机制,与C++,java的区别不是很大,类的大多数的重要特性都被沿用了,一样可以多态,抽象,封装: python3 ...

  2. python3入门之集合set

    之前介绍python的数据结构时,没有介绍set(集合)现在在这里稍微介绍下: set原理 Python 还 包 含 了 一 个 数 据 类 型-- set ( 集 合 ) . 集 合 是 一 个 无 ...

  3. python3入门之函数

    相信大家学习过其他语言,懂得函数的作用.简单的说函数最好的作用就是可以使程序变得懒惰.python作为后起之秀,当然也会拥有函数这个有用的东西: 创建函数 使用def语句即可创建函数,如创建一个用来生 ...

  4. python3入门之赋值语句介绍

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍赋值语句,以及几种特殊的赋值.下面附有之前的文章: python3入门之print,import,input介绍 python入门之字 ...

  5. python3入门之print,import,input介绍

    本节主要介绍print,import和input,t函数,包括他们在python2.7和python3 的区别以及用法.下面附有之前的文章: ​ python3的print函数的变化 python3之 ...

  6. python3入门之字典

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍字典,字典也成映射,时python中唯一内建的映射类型.更多详细请点击readmore.下面附有之前的文章: python入门之字符串 ...

  7. python3入门之列表和元组

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 前面一张主要学习了Python的安装,以及第一个程序helloword的编写,以及简单的输入和输出函数,这章主要介绍序列,列表,元组 序列  这章 ...

  8. Python3入门之软件安装

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 最近将我的Python笔记整理下,希望能对他人有所帮助,这是第一课,安装入门篇: windows下安装Python 1.下载,从这里下载:[下载链 ...

  9. 全面系统Python3入门+进阶课程 ✌✌

    全面系统Python3入门+进阶课程 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 无论是大数据.人工智能还是机器学习,Python都是最热门的首选语言 ,这 ...

随机推荐

  1. Java微信公众平台开发(十三)--微信JSSDK中Config配置

    转自:http://www.cuiyongzhi.com/post/57.html 前端开发工程师和关注前端开发的开发者们在2015年中肯定被腾讯的JSSDk引爆过,搞APP的.搞前端的甚至是是搞后端 ...

  2. Redhat 下添加用户到docker用户组

    1. 检查系统中是否存在docker用户组,如果没有则手动添加 # sudo cat /etc/group |grep docker # sudo grouped -g 999 docker # -g ...

  3. sqlplus客户端出现乱码

    查询oracle server端的字符集 select userenv('language') from dual; 修改客户端 cmd是gbk编码 环境变量 NLS_LANG 值:SIMPLIFIE ...

  4. Golang简单写文件操作的四种方法

    package main import ( "bufio" //缓存IO "fmt" "io" "io/ioutil" ...

  5. UML类图介绍及简单用法

    原文链接 一.类的属性的表示方式 在UML类图中,类使用包含类名.属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和em ...

  6. axure可用密钥

    axure8.0注册码   激活码:(亲测可用) 用户名:aaa 注册码:2GQrt5XHYY7SBK/4b22Gm4Dh8alaR0/0k3gEN5h7FkVPIn8oG3uphlOeytIajxG ...

  7. 2014蓝桥杯B组初赛试题《奇怪的分式》

    题目描述: 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是:     1/4 乘以 8/5      小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)   ...

  8. Entity Framework 6.0 Tutorials(10):Index Attribute

    Index Attribute: Entity Framework 6 provides Index attribute to create Index on a particular column ...

  9. 简单的Cookie记录浏览记录案例

    books.jsp 界面 代码 <%@ page contentType="text/html;charset=UTF-8" language="java" ...

  10. [原创]MongoDB C++ 驱动部分问题解决方案(MongoDB C++ Driver)

    本文为我长时间开发以及修改MongoDB C++ Driver时的一些问题和解决方案.目前本文所介绍的相关引擎也已经发布闭源版本,请自行下载 库版本以及相关位置:http://code.google. ...