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都是最热门的首选语言 ,这 ...
随机推荐
- Win8.1(64bit) Hyper-V 安装Ubuntu 14.04LTS(64 bit)
为了学习在Linux平台下开发,时隔将近一年多,重新搭建开发环境. 写文档确实很费时间,不过还是很有必要写的,这么一个简单的事情花了接近3个小时才算最终大功告成. 像这种连环嵌套的问题,一旦超过了1个 ...
- Java面向对象-static关键字、静态方法与普通方法、静态成员变量
Java面向对象-static关键字.静态方法与普通方法 static关键字的基本作用:方便在没有创建对象的情况下来进行调用(方法/变量). 很显然,被static关键字修饰的方法或者变量不需要依赖于 ...
- 自定义inputformat和outputformat
1. 自定义inputFormat 1.1 需求 无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案 1.2 分析 小文件的优 ...
- Jquery改变td内容为1的颜色
Jquery改变td内容为1的颜色<table id="tb" > <tr> <td val="1">1</td> ...
- 「小程序JAVA实战」 小程序私有页面的生命周期以及导航(10)
转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-10/ 之前讲了小程序全局的生命周期,今天咱们说说单个页面的生命周期!源码:https://gith ...
- java基础之多线程五:实现Runnable的原理
实现Runnable接口的原理. 背景: 多线程的第一种实现方式是::继承Thread类, 因为我们自定义的类(MyThread)是Thread类的子类, 所以MyThread类的对象调用start( ...
- 如何上传网站程序(文件浏览器上传网页、FileZilla上传网站程序)
问题场景: 网页制作完成后,程序需上传至虚拟主机. 注意事项: Windows系统的主机请将全部网页文件直接上传到FTP根目录,即 / . Linux系统的主机请将全部网页文件直接上传到 /htdoc ...
- 【FZU 2277】Change
题意 有一颗有n个节点的有根树,根节点编号时1,每个结点都有一个值ai,开始的时候,所有节点的值都是0. 我们有q个操作,操作只有两种类型 1 v x k,a[v]+=x,a[v']+=x-k,a[v ...
- 刷题向》关于一道像差分约束的数学题BZOJ1045(NORMAL)
关于这道题,乍一看很像查分约束,但是实际上这道题是可以用数学方法直接解决的. 这道题在蓝书上有原题,可以看到题解,在此再赘述一遍 首先,最终每个小朋友的糖果数量可以计算出来,等于糖果总数除以n,用av ...
- Python pip命令
一.简介 pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品.distribute是setuptools的取代(Setuptools包后期不再维护了),p ...