python3入门之字符串
获得更多资料欢迎进入我的网站或者 csdn或者博客园
经过前面的介绍相信大家也对python有了一个初步的了解;本节主要介绍字符串,不管学习什么编语言字符串一定在其中扮演着重要的地位。本节主要讲解,字符串的定义以及怎么使用字符串;
字符串简介
字符串是一种序列,用于表示和存储文本。python中字符串一旦声明,就不能改变。所以也称为字符串常量;
python实际的三类字符串:
1.单双引号字符串:
>>> 'peace'
'peace'
>>> "peace"
'peace'
>>>
2.三引号字符串和转义字符串,raw原始字符串:
三引号字符串是可以换行;raw原始字符串是不进行转义;
#三引号字符串
>>> '''peace
... peace
... peace'''
'peace\npeace\npeace'
#转义字符串
>>> 'Im'peace'
  File "<stdin>", line 1
    'Im'peace'
            ^
SyntaxError: invalid syntax
>>> 'Im\'peace'
"Im'peace"
>>>
#原始字符串 不进行转义:
>>> print (r"c:\peace\n")
c:\peace\n
>>> print ("c:\peace\n")
c:\peace
3Unicode字符串:
>>> print(u'peace\u0020one')
peace one
>>>
基本字符串操作
前面将的所有标准序列操作(索引,分片,乘法,判断成员资格,求长度,取最大值和最小值)对字符串同样适合;但是字符串是不可变的,索引赋值和分片赋值是不允许的;如下:
>>> name="peace"
>>> name[1]='q'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>>
字符串格式化
1.%字符:标记转换符开始
字符串格式化转换类型:

演示如下:
#%s 格式化字符串:
>>> format="I\'m,%s,%s?"
>>> name=('One','peace')
>>> print (format % name)
I'm,One,peace?
#%f格式化实数:
>>> format="1.31400 with three decimals:%.3f"
>>> print(format % 1.31400)
1.31400 with three decimals:1.314
>>>
2.转换标志:
-:左对齐
+:在转换值之前加上正负号
“ ”:正数之前保留空格
0:转换值若位数不够用0填充
.或者.*:输出精度
下面我有单精度符号数进行演示:
以上操作对其他类型也可以
1.左对齐在%号加上-号即可;
>>> a=1.314520
>>> '%010.3f'%a
'000001.315'
>>> '%-010.3f'%a
'1.315     '
>>>
2.在输出前加上正负号:%后加上+
>>> a=1.314520
>>> '%+f'%a
'+1.314520'
>>>
3.正数之前保留空格:%后加上空格
>>> a=1.314520
>>> b=-a
>>> b
-1.31452
>>> '%f'%b
'-1.314520'
>>> '% f'%a
' 1.314520'
4.输出位数不够用0补充:%号后加上0
>>> a=1.314520
>>> '%010f'%a
'001.314520'
>>>
5.输出精度:%号后加上.或者.* 如果用*,此时精度数值会从元组参数中读出
>>> a=1.314520
>>> '%.3f'%a
'1.315'
>>> '%.*f'%(3,a)
'1.315'
>>>
字符串方法:
find方法
find方法可以在一个较长的字符串中查找子字符串。它返回子串所在位置的最左端索引。如果没有找到则返回-1。
>>> name="my name is peace and is"
#查找的是最左端的
>>> name.find('is')
8
#没有找到返回-1
>>> name.find('one')
-1
#可以提供查找的起点,下面时从9开始查
>>> name.find('is',9)
21
#当然可以同时给出终点和起点
>>> name.find('is',10,11)
-1
>>>
join方法和split方法
join方法是用来连接序列中的元素(注意必须都是字符串),而split刚好相反,是用来将字符串分割成序列
#如果seq=[1,2,5,6]就会报错
>>> seq=['1','2','5','6']
>>> adhere='-'
>>> adhere.join(seq)
'1-2-5-6'
>>> adhere
'-'
>>> a=adhere.join(seq)
>>> a
'1-2-5-6'
>>> a.split('-')
['1', '2', '5', '6']
>>>
lower方法
lower方法返回字符串的小写字母版。对于查找时非常有用的;见下面的例子:
>>> name='ONE Peace'
>>> k=name.lower()
>>> k
'one peace'
>>> 'ONE Peace' in ['one peace','nick name']
False
>>> 'ONE Peace'.lower() in ['one peace','nick name']
True
>>>
replace方法和translate方法
replace方法返回某个字符串的所有匹配项均被替换之后得到的字符串。
translate方法和replace方法一样,可以替换字符串中的某些部分,但是和前者不同的是,translate方法只处理单个字符。它的优势在于可以同时进行多个替换,有些时候比replace效率高得多。在使用translate转换前,需要先完成一张转换表。转换表中是以某字符替换某字符的对应关系。有时表比较长,我们还是不要自己写了,直接用maketrans方法就行了。maketrans方法接收两个参数:两个等长的字符串,表示第一个字符串中的每个字符都用第二个字符串中相同位置的字符替换。
需要注意的是python3.0之前的版本maketrans函数在string中需要引入
>>> st='is is is is is'
>>> st2=st.replace('is','peace')
>>> st2
'peace peace peace peace peace'
>>> st='abcdefghijklm'
>>> table=st.maketrans('bc','aa')
>>> len(table)
2
>>> table
{98: 97, 99: 97}
>>> st.translate(table)
'aaadefghijklm'
strip方法
strip方法返回去除两侧(不包含内部)空格(或者是指定字符)的字符串
>>> st='   aaaaa    '
>>> st.strip()
'aaaaa'
>>> st='***jjjj***'
>>> st.strip('*')
'jjjj'
>>>
字符串入门就讲到这里;
相关链接:
python3入门之类
python3入门之函数
python3入门之循环
python3之if语句
python3入门之赋值语句介绍
python3入门之print,import,input介绍
python3入门之set
python3入门之字典
python3入门之字符串
python3入门之列表和元组
python3入门之软件安装
python3爬虫之入门和正则表达式
python3入门之字符串的更多相关文章
- python3入门之类
		
在面向对象的语言中,类是最重要的一环,python自然拥有类这个机制.python的类机制,与C++,java的区别不是很大,类的大多数的重要特性都被沿用了,一样可以多态,抽象,封装: python3 ...
 - python3入门之集合set
		
之前介绍python的数据结构时,没有介绍set(集合)现在在这里稍微介绍下: set原理 Python 还 包 含 了 一 个 数 据 类 型-- set ( 集 合 ) . 集 合 是 一 个 无 ...
 - python3入门之函数
		
相信大家学习过其他语言,懂得函数的作用.简单的说函数最好的作用就是可以使程序变得懒惰.python作为后起之秀,当然也会拥有函数这个有用的东西: 创建函数 使用def语句即可创建函数,如创建一个用来生 ...
 - python3入门之赋值语句介绍
		
获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍赋值语句,以及几种特殊的赋值.下面附有之前的文章: python3入门之print,import,input介绍 python入门之字 ...
 - python3入门之print,import,input介绍
		
本节主要介绍print,import和input,t函数,包括他们在python2.7和python3 的区别以及用法.下面附有之前的文章:  python3的print函数的变化 python3之 ...
 - python3入门之字典
		
获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍字典,字典也成映射,时python中唯一内建的映射类型.更多详细请点击readmore.下面附有之前的文章: python入门之字符串 ...
 - python3入门之列表和元组
		
获得更多资料欢迎进入我的网站或者 csdn或者博客园 前面一张主要学习了Python的安装,以及第一个程序helloword的编写,以及简单的输入和输出函数,这章主要介绍序列,列表,元组 序列 这章 ...
 - Python3入门之软件安装
		
获得更多资料欢迎进入我的网站或者 csdn或者博客园 最近将我的Python笔记整理下,希望能对他人有所帮助,这是第一课,安装入门篇: windows下安装Python 1.下载,从这里下载:[下载链 ...
 - 全面系统Python3入门+进阶课程  ✌✌
		
全面系统Python3入门+进阶课程 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 无论是大数据.人工智能还是机器学习,Python都是最热门的首选语言 ,这 ...
 
随机推荐
- PHP使用mkdir创建多级目录的方法
			
PHP中使用mkdir()可以创建多级目录,相比之前自己一级一级的创建,这个函数非常好用. 下面是php手册上的函数介绍: bool mkdir ( string $pathname [, int $ ...
 - CSS鼠标手势大全
			
实例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
 - java基础之JDBC三:简单工具类的提取及应用
			
简单工具类: public class JDBCSimpleUtils { /** * 私有构造方法 */ private JDBCSimpleUtils() { } /** * 驱动 */ publ ...
 - error:crosses initialization of ...的解决办法
			
switch(c) { case 0x01: int temp = a + b; .... break; case 0x02: break; default:break; } 此时会报如题所示错误 原 ...
 - 在页面完成读取EXCEL
			
protected void btnUpload_Click(object sender, EventArgs e) { if (Page.IsValid) { string sFILENAME = ...
 - vmware 安装不成功导致的问题解决以及右键菜单添加打开终端命令
			
转自http://blog.csdn.net/puweilan/article/details/8609952 在VMware安装Ubuntu完成后,一直停留在VMware Easy Install, ...
 - Luogu 3066 [USACO12DEC]逃跑的BarnRunning Away From…
			
好像是某CF的题,不记得…… 很套路的题,但是觉得可以做一下笔记. 倍增 + 差分. 有一个比较简单的思路就是每一个点$x$向上走一走,直到走到一个点$y$使总路程恰好不超过超过了$L$,然后把$(x ...
 - Django-----restframework图解
 - 黑盒测试实践--Day4 11.28
			
黑盒测试实践--Day4 11.28 今天完成任务情况: 分块明确自己部分的工作,并做前期准备 完成被测系统--学生管理系统的需求规格说明书 完成Mook上高级测试课程的第六章在线学习,观看自动化测试 ...
 - Codeforces Round #272 (Div. 1) A. Dreamoon and Sums(数论)
			
题目链接 Dreamoon loves summing up something for no reason. One day he obtains two integers a and b occa ...