python学习笔记——第三章 串
第三章 字符串学习
1、字符串不灵活, 它不能被分割符值
>>> format = "hello, %s. %s enough for ya?"
>>> values = ('world','hot')
>>> print (format % values) #在%的左側放置一个字符串(格式化字符串),右側放置希望格式化的值
hello, world. hot enough for ya? >>> format = "Pi with three decimals: %.3f" #.3表示希望保留的小数位数。f表类型(浮点数)
>>> from math import pi
>>> print(format %pi)
Pi with three decimals: 3.142 模板字符串 string--Template---substitute
>>> # 模板字符串
>>> from string import Template
>>> s=Template('$x,glorious $x!')
>>> s.substitute(x='slurm')
'slurm,glorious slurm!' >>># 假设替换字段是单词的一部分,须要加{}
>>> s=Template("It's ${x}tastic!")
>>> s.substitute(x='slurm')
"It's slurmtastic!" >>> #能够使用$$插入美元符号
>>> # 使用字典变量提供值/名称对
>>> s=Template('A $thing must never $action.')
>>> d={}
>>> d['thing']='gentleman'
>>> d['action']='show his socks'
>>> s.substitute(d)
'A gentleman must never show his socks.' 2、字符串格式化
>>> '%s plus %s equals %s' %(1,1,2) # #使用元组替代,注意不能丢掉括号
'1 plus 1 equals 2'
>>> 'Price of eggs: $%d' % 42 #d,i表示带符号的十进制整数
'Price of eggs: $42'
>>> 'Hexadecimal price of eggs: %x' % 42 #不带符号的十六进制(小写),X(大写)
'Hexadecimal price of eggs: 2a'
>>> from math import pi
>>> 'Pi: %f...' % pi #f/F十进制浮点数
'Pi: 3.141593...'
>>> 'Very inexact estimate of pi: %i' %pi #i带符号的十进制整数
'Very inexact estimate of pi: 3' 3、段宽度和精度
>>>#宽度:转换后的值所保留的最小字符个数。
>>>#精度:应包含的小数位数,或者是转换后最大字符个数。 (字符串)
>>> '%10f' % pi #字段宽度10
' 3.141593'
>>> '%10.2f' %pi #字段宽度10 精度2
' 3.14'
>>> '%.2f' %pi #精度2
'3.14'
>>> '%.5s' % 'hello python' #精度5,对于字符串来说,就是最多五个字符
'hello'
>>> '%.*s' %(5,'hello python') #用*表示精度,值在元组中
'hello' 4、符号、对齐和0填充--在字段宽度和精度之前能够放置一个标表,该标表能够是零、加号、减号或空格
>>> from math import pi
>>> '%10f'% pi
' 3.141593'
>>> '%010.2f' %pi
'0000003.14'
>>> '%-10.2f' % pi # -表示左对齐
'3.14
>>> print(('% 5d' %10) + '\n' + ('%5d' %-10)) #空格,在正数前加空白,方便与负数对齐
10
-10
>>> print(('%+5d' % 10)+'\n' + ('%+5d' % -10)) #(+)加号,正数和负数都标出符号
+10
-10 5、字符串方法
# find方法能够在一个较长的字符串中查找子字符串,返回子串所在位置的最左端索引。没找到返回-1
>>> title="Monty python's Flying Circus"
>>> title.find('Monty')
0
>>> title.find('python')
6
>>> subject = '$$$ Get rich now!!! $$$'
>>> subject.find('$$$')
0
>>> subject.find('$$$', 1) #提供起点,从1開始
20
>>> subject.find('!!!', 0, 16) #提供起始点和结束点,当中包含起始索引,不包含结束索引
-1 # -1代表未找到 # join方法是split方法的逆方法,用来连接列表,仅仅能是字符串
>>> seq=['1','2','3','4','5']
>>> sep = '+'
>>> sep.join(seq)
'1+2+3+4+5'
>>>
>>> dirs = '', 'usr', 'bin', 'env'
>>> '/' .join(dirs)
'/usr/bin/env'
>>> print('C:' + '\\'.join(dirs))
C:\usr\bin\env #lower方法返回字符串的小写字母版
>>> 'SHE IS TALL'.lower()
'she is tall' #title方法将字符串的首字母转换为大写,其它字母小写
>>> "that's all folks".title()
"That'S All Folks" #String模块的capwords函数:将全部字母都转换为大写
>>> import string
>>> string.capwords("that's all folks")
"That's All Folks"
>>>
#replace方法返回某字符串的全部匹配项均被替换之后得到的字符串
>>> 'This is a test'.replace('is', 'eez')
'Theez eez a test' #split方法是join的逆方法。用来将字符串切割成序列
>>> '1+2+3+4+5+6+7+8+9'.split('+')
['1', '2', '3', '4', '5', '6', '7', '8', '9']
>>> '/usr/bin/env'.split()
['/usr/bin/env']
>>> '/usr/bin/env'.split('/')
['', 'usr', 'bin', 'env']
>>> 'Using the default'.split()
['Using', 'the', 'default'] #strip方法返回去除两側(不包含内部)空格的字符串
>>> ' internal whitespace is kept '.strip()
'internal whitespace is kept' #translate()同replace()如,但只能处理一个字符
版权声明:本文博客原创文章,博客,未经同意,不得转载。
python学习笔记——第三章 串的更多相关文章
- Python学习笔记 ---第三章
函数 函数是代码的一种抽象 函数 说明 abs 绝对值 max 最大值 hex 转换为16进制 强制数据类型转换 int('123') 123 int(12.35) 12 srt(100) '100' ...
- python学习笔记第三章
1.列表是由一系列特定顺序排列得元素组成,在python中用([])组成,列表得索引是从0开始,不是1 xu=['a','b',''c] print(xu) 访问列表的元素第一个元素 xu=['a', ...
- python学习心得第三章
python学习心得第三章 1.三元运算 变量=值1 if 条件 else 值2 由图如果条件成立则赋值1给变量,如果条件不成立则赋值2给变量. 2.数据类型 集合:set() class set(o ...
- 《DOM Scripting》学习笔记-——第三章 DOM
<Dom Scripting>学习笔记 第三章 DOM 本章内容: 1.节点的概念. 2.四个DOM方法:getElementById, getElementsByTagName, get ...
- The Road to learn React书籍学习笔记(第三章)
The Road to learn React书籍学习笔记(第三章) 代码详情 声明周期方法 通过之前的学习,可以了解到ES6 类组件中的生命周期方法 constructor() 和 render() ...
- [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设
[HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...
- JVM学习笔记-第三章-垃圾收集器与内存分配策略
JVM学习笔记-第三章-垃圾收集器与内存分配策略 tips:对于3.4之前的章节可见博客:https://blog.csdn.net/sanhewuyang/article/details/95380 ...
- [Python学习笔记][第七章Python文件操作]
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...
- [Python学习笔记][第四章Python字符串]
2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...
随机推荐
- android LinearLayout和RelativeLayout实现精确布局
先明确几个概念的区别: padding margin:都是边距的含义,关键问题得明白是什么相对什么的边距padding:是控件的内容相对控件的边缘的边距. margin :是控件边缘相对父空间的边距 ...
- java学习之坦克大战游戏
总结:由于这几天快过年比较忙然后没怎么写,写代码途中一些经验总结现在给忘记了.这次的小项目感觉比上次写的思路清楚了点.没有之前第一次写那么逻辑混乱,结构也搞的比之前的要好,添加功能比较容易.学习了之前 ...
- 【LeetCode】Path Sum 2 --java 二叉数 深度遍历,保存路径
在Path SUm 1中(http://www.cnblogs.com/hitkb/p/4242822.html) 我们采用栈的形式保存路径,每当找到符合的叶子节点,就将栈内元素输出.注意存在多条路径 ...
- Java_java多线程下载-断点下载-超详细
基本原理:利用URLConnection获取要下载文件的长度.头部等相关信息,并设置响应的头部信息.并且通过URLConnection获取输入流,将文件分成指定的块,每一块单独开辟一个线程完成数据的读 ...
- PeopleEditor的取值及赋值
/// <summary> /// 从PeopleEditor取值 /// </summary> /// <param name="peopleEditor&q ...
- React Native-目前最火的前端技术?
做为一名产品经理,你是否遇到过这样的窘境,“帮我把字体调成 16号呗,颜色变成 #FFFF00FF,老大说这里最好改一下”,作为一名 app 的开发只能无奈但心里窃喜的告诉你,“只能等下个版本了,必须 ...
- Mini-project # 4 - "Pong"___An Introduction to Interactive Programming in Python"RICE"
Mini-project #4 - "Pong" In this project, we will build a version of Pong, one of the firs ...
- 玩2k16
2k是我最喜欢的游戏啦,平时无聊了都会搞两盘.现在到2k16了,玩游戏时碰到一些麻烦,记录便查. 我哥一直说他的电脑玩2K16非常卡,根本玩不了,但是他的电脑配置可比我的高啊,我玩起溜溜地,喊他把配置 ...
- zkw好写吗
codeforces果然名不虚传,仔细研读了该篇文章后感觉受益良多! 其实这篇文章探讨的就是zkw,其中的一些写法让我大开眼界,感觉是zkw那篇论文的又一个提升: 内存不再是2的幂了,直接就是\(2n ...
- 解题报告 HDU1789 Doing Homework again
Doing Homework again Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64 ...