字符串源码里的方法浅释

Str字符串的方法:

  1. 1.       首先创造一个字符串有两种方法

S=”123” or s=name

S1=str(123)

2.首字母变大写的方法capitalize()

>>> s="alex"

>>> s1=s.capitalize()

>>> print(s1)

Alex

3.字符串的casefold()方法—>恢复字符串创建时的原始值

可以通过以下代码敲出来可以看到

#首先创建一个字符串s,让它的首字符变为大写,然后执行casefold()方法,让它变为 原来的样子

>>> s="alex"

>>> s1=s.capitalize()

>>> print(s1)

Alex

>>> s2=s1.casefold()

>>> print(s2)

alex

#让s的全部字母大写赋值给s2,然后s2采用casefold()方法恢复原来的值再赋值给s3

>>> s2=s.upper()

>>> print(s2)

ALEX

>>> s3=s2.casefold()

>>> print(s3)

alex

4.字符串的center()方法:

s.center(width,[,fillchar]) ->str,可以通过用以下演示来理解

#首先创建一个字符串alex,然后采用center()方法,第一个参数width是指定执行完这个方法后的总的一个值的长度,下面长度是20,然后可以看到原来的s的长度为len(s)=4,那么还有16位的长度就由第二个参数”*”来填充,alex占中间的4个位

>>> s="alex"

>>> len(s)

4

>>> print(s.center(20,"*"))

********alex********

5.字符串的count()方法

>>> s="alexalexalex"

#计算字母a在字符串s中出现的次数,第二个参数0是指从s的第一个索引位置开始查找,第三个参数10是指到字符串s的第十个索引指向的位置为止

>>> s.count("a",0,10)

3#结果是a在s中出现了3次

>>> s.count("l",4)#可以看到第三个参数如果没指定就是默认到s的最后一个字母为结束位置

2#结果是2次

>>> s.count("a")#可以看到第二个和第三个参数如果没指定,就是默认整个s内寻找

3#结果是3次

5.字符串的编码encode()和解码decode()方法:

# -*- coding:utf-8-*-

a=”李璐”#创建一个字符串,指定的格式是utf-8

a_unicode=a.decode(“utf-8”)#先把a解码成unicode格式

a_gbk=a_unicode.encode(“gbk”)#再把a_unicode编码成gbk形式

6.字符串格式化方法和format()方法

#1.通过format方法按顺序传递参数实现类似格式化的效果

>>> s="name:{0},age:{1}"

>>> print(s.format("alex","18"))

name:alex,age:18

#2.直接通过%来格式化,%s可以替代一切类型包括字符串、整型等,而%d,%f分别指整型和浮点型数值

>>> s="name:%s,age:%s"%("alex",18)

>>> print(s)

name:alex,age:18

7.index()查找索引方法

S.index(sub[, start[, end]]) -> int  #在字符串S中查找字母sub, start和end参数分别指定开始和结束的位置,第二和第三个参数可以不指定,就默认从头到尾寻找,如下:

>>> s="alex"

>>> s.index("a")

0

>>> s.index("l",0,3)

1

8.字符串中的带is的方法,如:

S.isalnum() -> bool  #判断字符串是否只包含字母和数字,如果是就返回布尔值True,否则就是False

S.isalpha() -> bool   #判断字符串是否只包含字母,如果是就返回布尔值True,否则就是False

S.isdigit() -> bool    #判断字符串是否Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字,如果是就返回布尔值True,否则就是False

S.isdecimal() -> bool  #判断字符串是否只包含十进制的字符串,如果是就返回布尔值True,否则就是False

S.isspace() -> bool  #判断字符串是否只包含空格,如果是就返回布尔值True,否则就是False

S.istitle() -> bool  #判断一个字符串的每个词的首个字母是否大写,如果是就返回True,否则返回False,

s.title() 方法就是把字符串变为标题,如下

>>> s="the one"

>>> s.istitle()

False

>>> s1=s.title()

>>> s1.istitle()

True

9.字符串的join()方法:S.join(iterable) -> str #里面的参数必须是可迭代的,如下操作

>>> cha="." #创建一个分隔符句号”.”

>>> s1=("alex","name")  #创建一个元组,元组是可迭代的

>>> s2=["alex","name"]  #创建一个列表,列表是可迭代的

>>> s3={"k1":"alex","k2":"name"}  #创建一个字典,字典是可迭代的

>>> cha_s1=cha.join(s1)

>>> print(cha_s1)

alex.name  #可看到最后结果是用句号把元组里的两个元素结合成一个字符串

>>> cha_s2=cha.join(s2)

>>> print(cha_s2)

alex.name

>>> cha_s3=cha.join(s3)

>>> print(cha_s3)

k2.k1

>>> s4=s3.values()

>>> print(s4)

dict_values([‘name‘, ‘alex‘])

>>> cha_s4=cha.join(s4)

>>> print(cha_s4)

name.alex

10.ljust()和rjust()左对齐和右对齐方法:

>>> s="alex"

>>> s.ljust(10,"*")

‘alex******‘

>>> s.rjust(10,"*")

‘******alex‘

11. S.partition(sep) -> (head, sep, tail)

>>> s="alleall"

>>> s.partition("e")

(‘all‘, ‘e‘, ‘all‘)

12. S.replace(old, new[, count]) -> str

>>> s.replace("a","b")#把a替换成b,没有指定次数,就是默认全部a替换成b

‘bllebll‘

>>> s.replace("a","b",2)

‘bllebll‘

>>> s.replace("a","b",3)

‘bllebll‘

13. S.split(sep=None, maxsplit=-1) -> list of strings

>>> s=("name:age:class:school")

>>> s.split(":")

[‘name‘, ‘age‘, ‘class‘, ‘school‘] #以冒号作分隔符,并把结果返回成一个列表

14. startswith(...)和endswith() #分别判断一个字符串是否以给定的参数字母开始和结尾,是就返回True,否则返回False

>>> s="alex"

>>> s.startswith("a")

True

>>> s.endswith("x")

True

15. find()方法  #从字符串s中查找字母a和e,并返回它们的位置

>>> s="alex"

>>> s.find("a")

0

>>> s.find("e")

2

>>> s.find("a",0,3)

0

 

16.lstrip()、rstrip()、strip()方法

分别是去除字符串左边,右边,和左右两边的空格

>>> s="  alex  "

>>> s.lstrip()

‘alex  ‘

>>> s.rstrip()

‘  alex‘

>>> s.strip()

‘alex‘

时间: 2024-10-13 02:29:08

字符串源码里的方法浅释的相关文章

Apache Spark源码走读之21 -- 浅谈mllib中线性回归的算法实现

欢迎转载,转载请注明出处,徽沪一郎. 概要 本文简要描述线性回归算法在Spark MLLib中的具体实现,涉及线性回归算法本身及线性回归并行处理的理论基础,然后对代码实现部分进行走读. 线性回归模型 机器学习算法是的主要目的是找到最能够对数据做出合理解释的模型,这个模型是假设函数,一步步的推导基本遵循这样的思路 假设函数 为了找到最好的假设函数,需要找到合理的评估标准,一般来说使用损失函数来做为评估标准 根据损失函数推出目标函数 现在问题转换成为如何找到目标函数的最优解,也就是目标函数的最优化

google code 上源码的下载方法

SVN全称是Subversion,是Apache的一个子项目 ,具体能够到SVN中文站(http://www.subversion.org.cn/)去了解下.Google Code是Google的一个开放源码计划,当中包含源码托管,即提供一个server来保存.共享和管理源码.每一个人都能够创建自己的Project,至于空间的大小,请看下图: 我想一般项目都足够用了. 准备工具 TortoiseSVN-1.6.9.19725-win32-svn-1.6.12(Explorer 插件) SubEc

Android 4.4 全套源码及子模块源码的下载方法

博文<Android源码下载--用git clone实现单个目录下载>介绍了采用git clone方法下载Android单个目录源码的方法,这篇文章已经有四年的历史,这期间Google对源代码的管理网站已经进行了更改,直接采用原来的方法下载源代码已经失效.本文介绍了在ubuntu下(在Windows下安装Cygwin,通过Cygwin也可在Windows里通过本文的下载步骤下载Android源码)获取目前最新的Android 4.4 全套源码以及单个自模块源码的下载方法,可根据本文方法下载全套

Jquery.cookie.js 源码和使用方法

jquery.cookie.js源码和使用方法 jQuery操作cookie的插件,大概的使用方法如下 $.cookie(‘the_cookie’); //读取Cookie值$.cookie(’the_cookie’, ‘the_value’); //设置cookie的值$.cookie(’the_cookie’, ‘the_value’, {expires: 7, path: ‘/’, domain: ‘jquery.com’, secure: true});//新建一个cookie 包括有效

谷歌浏览器 查看源码里的a:hover CSS样式 还有火狐的查看方式

谷歌浏览器查看hover css样式 直接实例: 选中a标签 然后右侧面板 出现 箭头 点击 出现Toggle Element state提示 下面再hover前打勾 直接就可以显示效果了 浏览器查看 下面是火狐的查看方式 通用源码里选中a标签 右侧面板 样式 下拉箭头 点击 选中hover

Phantomjs:根据casperjs源码拓展download方法

最近项目在使用Phantomjs作自动化检测时,有一个需求,需要下载检测网站的所有资源,包括css.js和图片资源,方便人工分析时可以把整个page还原.可惜,Phantomjs并没有直接提供download()这样的方法.查找资料后发现Casperjs有一个download的方法,可以把任意url的内容下载为字符串.由于Casperjs是根据Phantomjs开发的,因此从Casperjs的源码上分析,可能会得到一点启发. 目的:根据Casperjs源码,拓展Phantomjs,添加downl

JDK1.8源码学习-String-hashCode方法为什么选择数字31作为乘子

1. 背景 某天,我在写代码的时候,无意中点开了 String hashCode 方法.然后大致看了一下 hashCode 的实现,发现并不是很复杂.但是我从源码中发现了一个奇怪的数字,也就是本文的主角31.这个数字居然不是用常量声明的,所以没法从字面意思上推断这个数字的用途.后来带着疑问和好奇心,到网上去找资料查询一下.在看完资料后,默默的感叹了一句,原来是这样啊.那么到底是哪样呢?在接下来章节里,请大家带着好奇心和我揭开数字31的用途之谜. 2. 选择数字31的原因 在详细说明 String

读 Zepto 源码之内部方法

数组方法 定义 var emptyArray = [] concat = emptyArray.concat filter = emptyArray.filter slice = emptyArray.slice zepto 一开始就定义了一个空数组 emptyArray,定义这个空数组是为了取得数组的 concat.filter.slice 方法 compact function compact(array) { return filter.call(array, function(item)

jquery源码之工具方法

jQuery 作为时下前端的"霸主".它的强大已毋庸置疑.简洁,效率,优雅,易用等优点让人很容易对它珍爱有加. 作为js的小菜,为了提升自我等级,根据各大神博客精辟的解析,硬啃了jQuery源码.在此,并不是要解析啥源码啥的(也没到那个级别哈),读书笔记,仅此而已. 所谓磨刀不误砍柴功,jQuery在大展神通之前也做了许多准备工作.比如说他的一些工具方法: 首当其冲的是他的继承扩展方法: jQuery.extend 其实也不是传统意义的继承,说mixin可能更恰当一些. // 首先看看