字符串是一个有序的字符集合,即字符序列。Pythpn内置数据类型str,用于字符串处理,使用单引号或双引号括起来的字符,就是字符常量,Python解释器会自动创建str型对象实例。

  字符串的定义:

  1、单引号:包含在单引号中的字符串,其中可以包含双引号

  2、双引号:包含在双引号中的字符串,其中可以包含单引号

  3、三单引号:包含在三单引号中的字符串,可以跨行

  4、三双引号:包含在三双引号中的字符串,可以跨行

  字符串的基本操作,包括索引访问、切片操作、成员关系操作、比较运算操作等。

一、字符串类型判断 

str.isalnum()   # 是否全为字母或数字
str.isalpha() # 是否全为字母
str.isdecimal() #是否只包含十进制数字字符
str.isdigit() #是否全数字(0-9)
str.isidentifier() #是否是合法标识
str.islower() #是否全小写
str.isupper() #是否全大写
str.isnumeric() #是否只包含数字字符
str.isprintable() #是否只包含可打印字
str.isspace() #是否只包含空白字
str.istitle() #是否为标题,即个单词首字母大写

二、大小写转换

str.capitalize()    #转换为首字母大写,其余小写
str.lower() #转换为小写
str.upper() #转换为大写
str.swapcase() #大小写互换
str.title() #转换为个单词首字母大写
str.casefold() #转换为大小写无关字符串比较的格式字符串

三、填充、空白和对齐

str.strip([chars])     #去掉两边空格,也可以指定要去除的字符列表
str.lstrip([chars]) #去掉左边空格,也可以指定要去除的字符列表
str.rstrip([chars]) #去掉右边空格,也可以指定要去除的字符列表
str.zfill(width) #左填充,使用0填充到width长度
str.center(width[,fillchar]) #两边填充,使用填充字符fillchar(默认空格)填充到width长度
str.ljust(width[,fillchar]) #左填充,使用填充字符fillchar(默认空格)填充到width长度
str.rjust(width[,fillchar]) #右填充,使用填充字符fillchar(默认空格)填充到width长度
str.expandtabs([tabsize]) #将字符串中的制表符(tab)扩展为若干个空格,tabsize默认为8

四、测试、查找和替换

str.startswith(prefix[,start[,end]])    #是否以prefix开头
str.endswith(suffix[,start[,end]]) #是否以suffix开头
str.count(sub[,start[,end]]) #返回指定字符串出现的次数
str.index(sub[,start[,end]]) #搜索指定字符串,返回下标,无则导致ValueError
str.rindex(sub[,start[,end]]) #从右边开始搜索指定字符串,返回下标,无则导致ValueError
str.find(sub[,start[,end]]) #搜索指定的字符串,返回下标。没有则返回-1
str.rfind(sub[,start[,end]]) #从右边开始搜索指定字符串,返回下标,没有则返回-1
str.replace(old,new[,count]) #替换old为new,可选count为替换次数

五、拆分和组合

str.split(sep=None,maxsplit=-1)     #按指定字符(默认为空格)分隔字符串,返回列表。maxsplit为最大分隔次数,默认-1,无限制
str.rsplit(sep=None,maxsplit=-1) #从右侧按指定字符分隔字符串,返回列表
str.partition(sep) #根据分隔符sep分隔字符串为两部分,返回元组(left,sep,right)
str.rpartition(sep) #根据分隔符sep从右侧分隔字符串为两部分,返回元组(left,sep,right)
str.splitlines([keepends]) #按行分隔字符串,返回列表
str.join(iterable) #组合iterable中的各元素成字符串,若包含非字符串元素,则导致TypeError

六、翻译和转换

str.maketrans(x[,y[,z]])    #创建用于translate的转换表
str.translate(map) #根据map转换
table1 = str.maketrans('','一二三四五六日')
s1 = '1,3,4,9'
print(s1.translate(table1)) # 输出结果
一,三,四,9

七、字符串编码

  默认情况下,Python字符串采用utf-8编码。创建字符串时,也可以指定其编码方式:

  b.decode(encoding,errors)  #把字节码对象b解码为对应编码的字符串

  s.encode(encodeing = 'utf-8',errors="strict")  #把字符串对象s编码为字节码对象

  代码示例:

# Author:Zhanghk

s = 'Hello!中国!' # 字符串默认编码格式为utf-8

e = s.encode(encoding='gbk')    # 我们将字符串s以“gbk”格式编码成“字节码”,并赋值给e
print(s)
print(e)
d = e.decode(encoding='gbk') # 我们将字节码e进行解码,并告知系统我们是以“gbk”格式编码的字节码
print(d) # 输出结果 Hello!中国!
b'Hello!\xd6\xd0\xb9\xfa\xa3\xa1'
Hello!中国!

  如果我们在解码时不进行指定原编码格式,会出现如下错误:

Hello!中国!
Traceback (most recent call last):
File "E:/python/s14/字符串编码.py", line 10, in <module>
b'Hello!\xd6\xd0\xb9\xfa\xa3\xa1'
d1 = e.decode() # 我们将字节码b进行解码,并告知系统我们是以“gbk”格式编码的
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 6: invalid continuation byte

  错误内容如下:

  编码格式错误:‘utf-8’ 格式不能解码字节类型为 0xd6 开头的6个位置的字节码:无效的连续的字节

1.12 Python基础知识 - 序列:字符串的更多相关文章

  1. python基础知识(字符串)

    定义字符串 ' '单引号 " "双引号  只能用于单行 '" '"三引号  可以用于多行 拼接字符串使用  +号链接 字符串只能链接字符串其他类型字符串需要用s ...

  2. Python基础知识:字符串

    1.Python中大写字母命名的变量,默认为常量,不可修改:列如:MYSQL_CONNECTION = '192.168.1.1' 2.字符串换行输入格式:换行用\隔开,两行分别用引号,制表符\t,换 ...

  3. Python基础知识之字符串操作方法总结

    Python 中字符串也是一种数据类型,针对此数据总结下常用的方法 1,字符串截取,变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾 ...

  4. 1.10 Python基础知识 - 序列:列表

    在Python中有很多的组合数据类型,其中包括列表,元组,字符串等数据类型,这些数据类型统称为序列类型,用他们可以处理复杂的数据. 列表,是一组有序元素组合的数据结构.列表是可变的数据类型. 列表采用 ...

  5. 1.11 Python基础知识 - 序列:元组

    元组(tuple)是一组有序系列,元组和列表是否相似,但是元组是不可变的对象,不能修改.添加或删除元组中的元素,但可以访问元组中的元素 元组的定义: 元组采用圆括号中用逗号分隔的元素 元组的基本操作和 ...

  6. python基础知识(二)

    python基础知识(二) 字符串格式化 ​ 格式: % 类型 ---- > ' %类型 ' %(数据) %s 字符串 ​ print(' %s is boy'%('tom')) ----> ...

  7. Python基础:序列(字符串)

    一.概述 字符串 类似于C中的字符数组(功能上更像C++中的string),它是由一个个 字符 组成的序列.与C/C++不同的是,Python中没有 字符 这个类型,而是用 长度为1的字符串 来表示字 ...

  8. 【转载】Python编程中常用的12种基础知识总结

    Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  9. Python编程中常用的12种基础知识总结

    原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...

随机推荐

  1. 【理论基础】ContentProvider的简要概述

    对于Android应用而言,他们必须相互独立,各自运行在自己的Dalvik虚拟机实例中,如果这些Android应用之间需要实现实时的数据交换——例如我们开发了一个发送短信的程序,当发送短信时需要从联系 ...

  2. JWT 使用介绍

    转载收藏于 http://www.cnblogs.com/zjutzz/p/5790180.html JWT是啥? JWT就是一个字符串,经过加密处理与校验处理的字符串,形式为: A.B.C A由JW ...

  3. Juniper Alarms 灯红色报警处理

    1.2.5.1告警查看 root# run show system alarms 2 alarms currently active Alarm time Class Description 2015 ...

  4. 【APP测试】APP弱网环境测试

    方法一:利用抓包工具 1.利用fiddler通过代理连接上手机之后,进入Fiddler->Rules->Customize Rules,点击弹出的CustomRules.js文件,找到m_ ...

  5. Intellij IDEA使用指南(持续更新)(转)

    一.项目层面 1.Java开发工具IntelliJ IDEA导入项目 http://jingyan.baidu.com/article/a17d52852118ac8098c8f2c1.html 2. ...

  6. 使用virtualenv搭建python虚拟开发环境

    在使用python做开发时,如果多人需要在同一台机器上工作,或者机器环境经常变化时, 添加或删除一些python包很可能会影响到你自己的开发环境. 因此,通过virtualenv工具可以创建一个完全属 ...

  7. mysql通过字段凝视查找字段名称

    有时候表的字段太多.仅仅是大致记得表的凝视,想通过字段凝视查找字段名称,能够用例如以下语句: SELECT COLUMN_NAME,column_comment FROM INFORMATION_SC ...

  8. hadoop2.x HDFS快照介绍

    说明:由于近期正好在研究hadoop的快照机制.看官网上的文档讲的非常仔细.就顺手翻译了.也没有去深究一些名词的标准译法,所以可能有些翻译和使用方法不是非常正确,莫要介意~~ 原文地址:(Apache ...

  9. JavaScript中操作对象的属性

    1.操作对象的属性 注意: 标签属性与DOM对象属性的相应关系: 绝大部分2者是同样的.如:imgobj.src属性相应<img src="" >中src属性,但也有例 ...

  10. ArraySegment 的使用 【转载】

    本文转载自 http://www.cnblogs.com/overred/archive/2009/01/17/1359126.html ArraySegment顾名思义就是Array区块,数组的小抽 ...