1.1每次处理一个字符(即每次处理一个字符的方式处理字符串)

print list('theString') #方法一,转列表
结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g']
for c in 'theString':#方法二,for循环
print c,

结果:t h e S t r i n g

print [c for c in 'theString'] #方法三,列表推导式
结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g']
print map(str,'theString')#方法四,map处理,和列表推导式一样
结果:['t', 'h', 'e', 'S', 't', 'r', 'i', 'n', 'g']
print set('thethe')#此方法只适应特定的时刻,看结果就知道,set把重复的字符去掉了,并且无序

结果:set(['h', 'e', 't'])

1.2字符和字符值的转换

print ord('a') #字符转字符值
print chr(97) #字符值转字符 print ord(u'\u2020') #返回unicode码值
print repr(unichr(8224)) #返回unicode字符串 print map(ord,'kaluoc') #字符串转换成各个字符的值的列表
print ''.join(map(chr,range(97,100))) #将值转换成字符并连接成字符串

结果:

97
a
8224
u'\u2020' [107, 97, 108, 117, 111, 99]
abc

额外的知识:

str()和chr()区别:

print chr(97) #返回参数对应的ASCII单字符的字符串
print str(97) #返回该参数的文本形式的字符串

结果:

a

97

str()和repr()区别:

print 1,str('   '),1 #对用户比较友好的字符串形式,通常无法用于eval()求值,一般用在print语句输出
print 1,repr(' '),1 #对python(即机器)比较友好

结果:

1     1
1 ' ' 1

1.3测试一个对象是否是类字符串

def isExactlyAString(anobj):
return type(anobj) is type('') #这是糟糕的,因为unicode的无法通过测试,用户自己自定义的也无法通过测试
def isAString(anobj):
return isinstance(anobj,basestring)#basestring是str和unicode的基类,但这不完美,因为有些类不是从basestring派生的,如UserString
def isStringLike(anobj):
try:anobj.lower()+anobj+'' #通过对参数anobj的一些String操作,来测试参数是否是类字符,较完美,但速度有影响
except: return False
else: return True

1.4字符串对齐

print '|','kaluoc'.ljust(20),'|','kaluoc'.center(20),'|','kaluoc'.rjust(20),'|' #后面的参数20,总共的空格数
print 'kaluoc'.center(20,'+') #可指定填充特定字符

结果:

| kaluoc               |        kaluoc        |               kaluoc |
+++++++kaluoc+++++++

1.5去除字符串两端的空格

x='    kaluoc   '
print '|',x.lstrip(),'|',x.rstrip(),'|',x.strip(),'|'
x='xyxxyy kaluocyx yysx'
print '|'+x.strip('xy')+'|' #仅仅去掉两端的xy,但空格被保存下来了

结果:

| kaluoc    |     kaluoc | kaluoc |
| kaluocyx yys|

python cookbook学习笔记 第一章 文本(1)的更多相关文章

  1. python cookbook学习笔记 第一章 文本(2)

    1.6合并字符串 ka=list('kaluoc') #字符串转成字符串列表 print ''.join(ka) #大量的字符串相连,join是最高效的 print '%s%s something % ...

  2. [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]

    第一章 前言与概述 web服务器做什么? 答:接收客户请求,然后向客户返回结果 web客户做什么? 答:此处客户指浏览器,web客户允许用户请求服务器上的某个资源,并向用户展现请求的结果. html ...

  3. c#高级编程第七版 学习笔记 第一章 .NET体系结构

    第一章      .NET体系结构 本章内容: 编译和运行面向.NET的代码 Microsoft中间语言(Microsoft Intermediate Language,MSIL或简称IL)的优点 值 ...

  4. 《跟我学Shiro》学习笔记 第一章:Shiro简介

    前言 现在在学习Shiro,参照着张开涛老师的博客进行学习,然后自己写博客记录一下学习中的知识点,一来可以加深理解,二来以后遗忘了可以查阅.没有学习过Shiro的小伙伴,也可以和我一起学习,大家共同进 ...

  5. JavaScript高级程序设计学习笔记第一章

    作为学习javascript的小白,为了督促自己读书,写下自己在读书时的提炼的关键点. 第一章: 1.JavaScript简史:Netscape Navigator中的JavaScript与Inter ...

  6. C语言学习笔记第一章——开篇

    本文章B站有对应视频 (本文图片.部分文字引用c primer plus) 什么是C语言 顾名思义,c语言是一门语言,但是和我们所讲的话不同,它是一门编程语言,是为了让机器可以听懂人的意思所以编写的一 ...

  7. Java学习笔记 第一章 入门<转>

    第一章 JAVA入门 一.基础常识 1.软件开发 什么是软件? 软件:一系列按照特定顺序组织的计算机数据和指令的集合 系统软件:DOS,Windows,Linux 应用软件:扫雷.QQ.迅雷 什么是开 ...

  8. 《SQL CookBook 》笔记-第一章-检索记录

    目录 第一章 检索记录 1.1检索所有行和列 1.2筛选行 1.3查找满足多个查询条件的行 1.4筛选列 1.5创建列的别名 1.6 在where子句中引用别名列 1.7 串联多列的值 1.8 在se ...

  9. GIT学习笔记——第一章

    git之vim编辑器退出命令 # 学习笔记 张文军微博主页  张文军码云主页   张文军新浪云主页  张文军博客主页 ## 刚学习git,好多东西没接触过,进入vim后不知道如何出来了,网上找了很多都 ...

随机推荐

  1. 苹果新的编程语言 Swift 语言进阶(十二)--选项链

    选项链是使用选项来查询和调用其属性.方法或下标的一个过程,假设选项包括一个值,则属性.方法.下标的查询和调用成功,否则,调用返回nil. 选项链能用在不论什么类型的选项来检查对其一个属性.方法.下标的 ...

  2. 加载xib文件的两种方式

    一.加载xib文件的两种方式 1.方法一(NewsCell是xib文件的名称) NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@&quo ...

  3. Nginx搭建反向代理服务器

    [大型网站技术实践]初级篇:借助Nginx搭建反向代理服务器   一.反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受int ...

  4. SQLServer访问Oracle查询性能问题解决

    原文:SQLServer访问Oracle查询性能问题解决 1. 问题 系统有个模块,需要查询Oracle数据库中的数据.目前是通过建立链接服务器实现的. SQLServer访问Oracle实现 可参考 ...

  5. HDU 4812 D Tree 树分区+逆+hash新位置

    意甲冠军: 特定n点树 K 以下n号码是正确的点 以下n-1行给出了树的侧. 问: 所以,如果有在正确的道路点图的路径 % mod  = K 如果输出路径的两端存在. 多条路径则输出字典序最小的一条. ...

  6. IE通过推理IE陈述的版本号

    样例: 1. <!--[if !IE]> 除IE外都可识别 <![endif]--> 2. <!--[if IE]> 全部的IE可识别 <![endif]-- ...

  7. 读书笔记—CLR via C#反射

    前言 这本书这几年零零散散读过两三遍了,作为经典书籍,应该重复读反复读,既然我现在开始写博了,我也准备把以前觉得经典的好书重读细读一遍,并且将笔记整理到博客中,好记性不如烂笔头,同时也在写的过程中也可 ...

  8. C#如何将Build成功的程序集Copy到上一层目录

    C#Build成功后,会把Build好的程序集放到bin\Debug的目录下,如何将目录放到特定目录 例如放到bin目录下,copy "$(TargetFileName)" &qu ...

  9. Android--扫描二维码

    http://www.cnblogs.com/keyindex/archive/2011/06/08/2074900.html

  10. REST 测试工具

    两款 REST 测试工具 用CURL命令行测试REST API 无疑是低效率的,这里把最近使用的两款 Chrome 插件总结下 POSTMAN 简单易用 REST Console 功能强大 使用的话用 ...