python学习(三) 使用字符串
第三章 使用字符串
3.1 基本字符串操作
序列操作(索引,分片,乘法,判断成员资格,长度,最大值,最小值)都适用于字符串,但是字符串是不可变的,所以分片赋值是不合法的。
3.2 字符串格式化:精简版
%是字符串格式化操作符
用法:在%左侧放置一个字符串(格式化字符串),右侧放希望被格式化的值。可以使用一个值(比如一个字符串或数字),也可以使用多个值的元组或者字典。
>>> print( "%s is %s years old" % ("fsdfsd", 56))
fsdfsd is 56 years old
>>> format = " %s is %s years old"
>>> values = ("robin",34)
>>> print(format % values)
robin is 34 years old
注意:只有元组和字典可以格式化一个以上的值,如果使用列表或其他序列代替元组,那么序列将会被解释成为一个值。
>>> print( "%s is %s years old" % (["fsdfsd", 56],45))
['fsdfsd', 56] is 45 years old
注意:如果要在格式化字符串中包括百分号,那么必须使用%%
如果要格式化实数(浮点数),可以使用f说明转换说明符的类型,同时提供精度,一个句点再加上希望保留的小数位数:
>>> format = "PI with three decials: %.3f"
>>> from math import pi
>>> print(format % pi)
PI with three decials: 3.142
3.3 字符串格式化:完整版
如果右操作数是元组或字典的话,其中每一个元素都会被单独格式化,每一个值都需要一个转换说明符。
>>> "%s %s %s" % (1,2,3)
'1 2 3'
3.3.1 简单转换
>>> "%d" % 42
'42'
>>> "%x" % 42
'2a'
>>> "%f" % pi
'3.141593'
3.3.2 字段宽度和精度
字段宽度:转换后的值所保留的最小字符个数。
精度:结果的小数位数
>>> "%10.2f"% pi // 宽度是10,精度是2
' 3.14'
3.3.3 符号,对齐和用0填充
>>> '%010.2f' % pi // 宽度是10,用0填充
'0000003.14'
>>> "%-10.2f" % pi // 左对齐
'3.14 '
>>> "% 5d" % 10 // 空格,表示正数前面加空格。
' 10'
>>> "%+5d" % 10 // + 号,表示不管是正负数,都显示符号
' +10'
3.4 字符串方法
3.4.1 find 查找子串的位置,如果没有返回-1
>>> "fsdfsdfsdfdsf".find("fsd")
0
>>> "fsdfsdfsdfdsf".find("fsd",1,5) // 提供起始点和结束点(注意:包含前一个索引,不包含后一个索引,这是Python的惯用 -1 法)。
rfind() / index() / rindex() /count() / startswith() / endswith()
3.4.2 join 连接序列中的元素
连接的序列必须是字符串
>>> "abc".join("de")
'dabce'
3.4.3 lower 返回字符串的小写 字母版本
>>> "ABc".lower()
'abc'
>>> "sdfdfds".capitalize() // 首字母大写
'Sdfdfds'
>>> "Abc".swapcase() // 大写变小写,小写变大写
'aBC'
'Fdsfsd'
>>> "abc def ght".title() // 所有单词的首字母大写
'Abc Def Ght'
upper() // 大写
3.4.4 replace 字符串的所有匹配项均被替换
>>> "This is a test".replace("is", "eez")
'Theez eez a test'
3.4.5 split join 方法的逆方法
>>> "I am robin".split(" ")
['I', 'am', 'robin']
3.4.6 strip 去除两侧(不包含内部)的空格的字符串
>>> " fsf asfa ".strip()
'fsf asfa'
3.4.7 translate
和replace类似,不同的地方是只替换单个字符
python学习(三) 使用字符串的更多相关文章
- Python学习-第二天-字符串和常用数据结构
Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...
- Python学习(三) 输出任意格式的字符串以及字符串的切片
在Python中想要输出一句话,如下 a='hello world' print a //打印出的是hello world print 'hello \n world' //打印出的是 //hello ...
- 【Python学习笔记】字符串操作
字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...
- Python第三章-字符串
第三章 字符串 3.1 基本字符串操作 Python的字符串和元组差不多,是不可以进行改变的,如果想改变值,可以尝试list序列化之后在进行修改. { website = 'http://ww ...
- Python学习笔记一--字符串的使用
一.基本操作 1. 合并字符串:“+” 2. 打印重复的字符串:"*" 3. 按位获取字符串中的字符:索引 4. 按位获取字符串中的子字符串:分片 5 ...
- python学习笔记一--字符串
一.字符串: (一)字符串里单个元素的操作 1. 单个字符(元素)的序列组合. 2. 序列:单个字符的位置 3. 序列的操作:内置函数len获取长度,加位置索引 4. 获取字符串的里的元素:正向索引+ ...
- Python学习2——使用字符串(完整版)
""" 在C语言入门的时候字符串没有好好学习,导致后期语言根本没有入门, 更导致之后大量的codeing时间浪费,效率低下. 因此,借助这次Python入门,好好地将字符 ...
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- Python学习三---序列、列表、元组
一.序列 1.1.序列概念 pythn中最基本的数据结构是序列(sequence). 序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推.类似JAVA中数组和集合中的下标. ...
- Python学习笔记:字符串
字符串 字符串定义:字符串可以使用一对单引号.双引号或三引号来定义,即便是单个字符也会当做字符串来处理(Python中没有字符类型,单个字符也就是只有一个字符的字符串而已). 原始字符串:字符串中反斜 ...
随机推荐
- vue 的小秘密
1.组件可以通过$refs调用其方法. 2.组件上也可用v-model. <input v-model="something"> == 同等 <input v-b ...
- 清除微信浏览器网址的缓存,cookie
清理微信浏览网站的缓存,Cookie http://blog.csdn.net/cui55/article/details/53939462 怎么清除IOS微信浏览器中的cookie? 退出微信重新登 ...
- Asp.net使用powershell管理hyper-v
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 十二 web爬虫讲解2—Scrapy框架爬虫—Scrapy模拟浏览器登录—获取Scrapy框架Cookies
模拟浏览器登录 start_requests()方法,可以返回一个请求给爬虫的起始网站,这个返回的请求相当于start_urls,start_requests()返回的请求会替代start_urls里 ...
- 二 web爬虫,scrapy模块以及相关依赖模块安装
当前环境python3.5 ,windows10系统 Linux系统安装 在线安装,会自动安装scrapy模块以及相关依赖模块 pip install Scrapy 手动源码安装,比较麻烦要自己手动安 ...
- 【Python】UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3
问题如下: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3 解决方法: 程序开始加上下面两句 sys ...
- 常见GAN的应用
深入浅出 GAN·原理篇文字版(完整)|干货 from:http://baijiahao.baidu.com/s?id=1568663805038898&wfr=spider&for= ...
- 条款2:尽量以const enum inline 来替换 #define
这里说的意思其实相当于,宁可以用编译器来替换预处理器 因为使用预处理器可能使得被处理过的东西无法进入符号表,例如 #define MAXLEN 16 这里的MAXLEN并没有进入符号表,这样有编译错误 ...
- PostgreSQL内存配置记录
PostgreSQL内存配置,参考了其他人的总结,再加上自己的一些体会,做个记录. postgresql的内存分配主要由shared_buffers.temp_buffers.work_mem.mai ...
- Django 常见的异常
Django 常见的异常 1 'WSGIRequest' object has no attribute 'user' Django版本的问题,1.10之前,中间件的key为MIDDLEWARE_CL ...