《python基础教程》笔记之 字符串
- 字符串格式化
字符串格式化使用字符串格式化操作符即百分号%来实现。在%的左侧放置一个字符串(格式化字符串),而在右侧则放置希望格式化的值,可以使用一个值,如一个字符串或者数字,也可以使用多个值的元组或者字典,如
>>> print "hello. %s.%s enough for ya?" % ('world', 'Hot')
hello. world.Hot enough for ya?
如果右操作数是元组的话,则其中的每一个元素都会被单独格式化,每个值都需要一个对应的转换说明符。
基本的转换说明符包括以下部分,注意,这些项的顺序是至关重要的。
1. %字符:标记转换说明符的开始。
2. 转换标志(可选):-表示左对齐;+表示在转换值之前要加上正负号;“”表示正数之前保留空格;0表示转换值若位数不够则用0填充。
3. 最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。
4. 点(.)后跟精度值(可选):如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将会从元组中读出。
5. 转换类型:见下表
如
#使用给定的宽度打印格式化后的价格列表 width = input('width:') price_width = 10 item_width = width - price_widthheader_format = '%-*s%*s' format = '%-*s%*.2f'print '-' * widthprint header_format % (item_width, 'Item', price_width, 'Price')print '-' * widthprint format % (item_width, 'Apples', price_width, 0.4) print format % (item_width, 'Pears', price_width, 0.5) print format % (item_width, 'Cantaloupes', price_width, 1.92) print format % (item_width, 'Dried Apricots(16 0z.)', price_width, 8) print format % (item_width, 'prunex(4 1bs)', price_width, 12)print '=' * width
结果如下
width:35
-----------------------------------
Item Price
-----------------------------------
Apples 0.40
Pears 0.50
Cantaloupes 1.92
Dried Apricots(16 0z.) 8.00
prunex(4 1bs) 12.00
=======================
- 字符串方法
find -- 在一个较长的字符串中找子字符串,它返回子串所在位置的最左端索引,未找到则返回-1。此方法还接收可选的起始点和结束点参数。
>>> title = 'hello. world.Hot enough for ya?'
>>> title.find('wor')
7
>>> title.find('wor', 2, 6)
-1
join -- 在队列中添加元素
>>> seq = list('12345')
>>> sep = '+'
>>> sep.join(seq)
'1+2+3+4+5'
>>> dirs = '','usr','bin','env'
>>> '/'.join(dirs)
'/usr/bin/env'
>>> 'C:'+'\\'.join(dirs)
'C:\\usr\\bin\\env'
lower -- 返回字符串的小写字母版
replace -- 返回某字符串的所有匹配项均被替换之后得到的字符串。
split -- 将字符串分割成序列
>>> '1+2+3+4+5'.split('+')
['1', '2', '3', '4', '5']
>>> '/usr/bin/env'.split('/')
['', 'usr', 'bin', 'env']
>>> 'C:\\usr\\bin\\env'.split('\\')
['C:', 'usr', 'bin', 'env']
strip -- 返回除去两侧(不包括内部)空格的字符串,也可以指定需要去除的字符。
>>> '++!**1+2+3+4+5*++'.strip('+!*')
'1+2+3+4+5'
translate -- 可以替换字符串中的某些部分,只处理单个字符,并且可以同时进行多个替换。第一个参数指定需要替换的表,第二个参数指定需要删除的字符。
>>> from string import maketrans
>>> table = maketrans('cs', 'kz')
>>> 'This is an incredible test'.translate(table)
'Thiz iz an inkredible tezt'
>>> 'This is an incredible test'.translate(table, ' ')
'Thizizaninkredibletezt'
转载于:https://www.cnblogs.com/qiantangbanmu/p/4303025.html
《python基础教程》笔记之 字符串相关推荐
- python基础教程笔记—即时标记(详解)
最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...
- Python基础教程:拼接字符串的7种方法
@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 这篇文章主要给大家总结介绍了关于Python拼接字符串的7种方法,分别是来自C语言的 文章目录 前言 1.来自C语言的%方式 2. ...
- Python基础教程笔记——条件,循环和其他语句
条件,循环和其他语句 Table of Contents 1 print和import的更多信息 1.1 使用逗号输出 1.2 把一些东东作为另一些东东导入 2 赋值魔法 2.1 序列解包 2.2 链 ...
- Python基础教程笔记——列表和元组
列表和元组 Table of Contents 1 序列概览 2 通用序列操作 2.1 索引 2.2 分片 2.3 序列相加 2.4 乘法 2.5 成员资格 2.6 长度,最大值,最小值 3 列表:P ...
- Python基础学习笔记-05字符串、列表、推导式;老师工位随机分配random.shuffle()、算术运算打分例题;
字符串.列表.推导式 python数据类型: #可变数据: 列表List.字典Dictionary.集合Set . #不可变数据:数值Number(int.float.bool.complex).字符 ...
- Python基础教程学习笔记:第一章 基础知识
Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入&q ...
- 《python基础教程(第二版)》学习笔记 基础部分(第1章)
<python基础教程(第二版)>学习笔记 基础部分(第1章) python常用的IDE: Windows: IDLE(gui), Eclipse+PyDev; Python(comman ...
- 《Python基础教程(第3版)》笔记:第8章异常
<Python基础教程(第3版)>笔记:异常 重点 第8章 异常 异常对象未被处理(或捕获)时,程序将终止并显示一条错误信息:traceback 每个异常都是某个类的实例, 如何创建异常 ...
- 【莫烦Python】Python 基础教程——学习笔记
文章目录 本笔记基于p1-p29[莫烦Python]Python 基础教程 大家可以根据代码内容和注释进行学习. 安装 我的:python3.8+anaconda+VS code print() pr ...
- Timo学习笔记 :Python基础教程(第三版)第四章 当索引行不通时
第四章 当索引行不通时 Timo学习笔记 :Python基础教程(第三版)第三章 使用字符串 这是word编辑的最后一章笔记,第五章开始将直接用这个模板记录. 本章笔记很少,也很简单.很多方法可以到要 ...
最新文章
- 递归函数 集合 列表 元组
- Basic local alignment search tool (BLAST)
- ssh项目部署到weblogic注意事项
- Java线程池框架核心代码分析
- C语言快速幂取模算法小结
- [2dPIC调试笔记]输入参数归一化1014(1)
- 基因注释神器UCSC Genome Browser使用教程
- 年纪都这么大了,还在倒班工作......
- java中的post的作用,JSP、Servlet中get请求和post请求的区别总结
- AndroidStudio安卓原生开发_UI高级_自定义主题和样式---Android原生开发工作笔记129
- 程序员进化史|P4到P9,从应届生到双11前端PM
- jFreeChart连接oracle数据库数据实现顺序图,饼形图和柱状图
- Minecraft Mod开发:1-配置工作环境
- 《英语语法新思维 基础版2》读书笔记(一)
- 无源码程序反编译修改文字
- 《士兵突击》能让你学到什么
- Codeforces118D Caesar's Legions(DP)
- C++ c++11(上)
- Android系统Root与静默安装
- UCOS你问我答系列之消息队列详解