capitalize(self)

返回值:将字符串的第一个首字母变成大写,其他字母变小写

s = 'hello World'
ss = s.capitalize()
print(ss)
Hello world

casefold(self)

返回值:字符串内所有字符大写变小写。魔法范围比.lower()大。

s = 'Are you Ok ?'
ss = s.casefold()
print(ss)
are you ok ?

lower(self)

返回值:字符串内所有字符大写变小写。魔法范围比casefold()小

s = 'Are you Ok ?'
ss = s.lower()
print(ss)
are you ok ?

Casefolding is similar to lowercasing but more aggressive because it is intended to remove all case distinctions in a string. For example, the German lowercase letter 'ß' is equivalent to "ss". Since it is already lowercase, lower() would do nothing to 'ß'; casefold() converts it to "ss". 

expandtabs(tabsize=8)

方法把字符串中的 tab 符号('\t')转为空格,默认的空格数 tabsize 是 8,也可以指定其他数值。

下例中转换方式为,从左向右数5个字符,没有\t就继续数5个 例如 username\tpasswd....遇到ame\t的时候就换成2个空格再继续数(5-3)

s = 'username\tpasswd\temail\nzhuge\t123\tzhuge@sg.com\nzhuge\t123\tzhuge@sg.com\nzhuge\t123\tzhuge@sg.com\n'
ss = s.expandtabs(5)
print(ss)
username  passwd    email
zhuge     123  zhuge@sg.com
zhuge     123  zhuge@sg.com
zhuge     123  zhuge@sg.com

join(sequence)

方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

参数:sequence -- 要连接的元素序列。str1.join(str2)用str1链接str2序列

s = 'hello'
ss = '-'.join(s)
print(ss)
h-e-l-l-o

split([sep[, num=maxsplit]])

通过指定分隔符(sep)对字符串进行切片,如果参数(num) 有指定值n,则仅切n次,num默认为最大限度切割。

s = 'i love you,     i    l o v e y o u'
ss = s.split()
sss = s.split(' ', 1)
print(ss)
print(sss)
l = '1+2+3+4+5'
ll = l.split('+', 3)
print(ll)
['i', 'love', 'you,', 'i', 'l', 'o', 'v', 'e', 'y', 'o', 'u']
['i', 'love you,     i    l o v e y o u']
['1', '2', '3', '4+5']

find(str,[beg=0,[end=len(string)]])

查找子串str在字符串的开始位置。

从下标为beg(默认为0)的位置开始找,直到索引为end(默认到结尾)处,如果找到,则返回此子串对应的索引,找不到就返回-1。

s = 'abcdefabc'
ss = s.find('c')
sss = s.find('c', 3)
ssss = s.find('h')
print(ss), print(sss), print(ssss)
2
8
-1

strip([chars])

方法用于移除字符串头尾指定的字符(chars)(默认为空格)。

扩展:lstrip()  rstrip()可用于删除左边/右边的指定字符。

s = '-----hello world--'
ss = s.strip('-')
sss = s.lstrip('-')
print(ss), print(sss
hello world
hello world--

upper()

 返回值:将字符串中的小写字母转为大写字母。

s = 'hello'
ss = s.upper()
print(ss)
HELLO

lower()

返回值:与upper()相反地,将字符串中所有大写字符转换为小写。

s = 'HELLO'
ss = s.lower()
print(ss)
hello

replace(old, new[, max])

方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

s = 'abcdabcdabcd'
ss = s.replace('abc', 'e')
sss = s.replace('abc', 'e', 2)
print(ss), print(sss)
ededed
ededabcd

isdigit()

方法检测字符串是否只由数字组成,如果字符串只包含数字,罗马数字)则返回 True 否则返回 False.

# isdigit()
# True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
# False: 汉字数字
# Error: 无
#
# isdecimal()
# True: Unicode数字,,全角数字(双字节)
# False: 罗马数字,汉字数字
# Error: byte数字(单字节)
#
# isnumeric()
# True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
# False: 无
# Error: byte数字(单字节)

isalpha()

字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

 

  

Python基础 字符串的魔法的更多相关文章

  1. python基础——字符串和编码

    python基础——字符串和编码 字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用 ...

  2. Python 基础-> 字符串,数字,变量

    Python 基础:字符串,数字,变量 1. 字符串 (信息的一种表达方式) a. 使用引号创建字符串 b. 单引号,双引号,三引号: ', ", ''', ""&quo ...

  3. Python基础-字符串格式化_百分号方式_format方式

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  4. Python 基础 字符串拼接 + if while for循环

    注释单行注释 #多行注释 ''' 三个单引号或者三个双引号 """ ''' 用三引号引住可以多行赋值 用户交互 input 字符串拼接 +  ""%( ...

  5. Python基础——字符串

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 在Python中,字符串也是一种数据类型.相比其它数据类型,字符串算是比较复杂的.为何呢?因为字符串不仅包含英文字母 ...

  6. python基础-字符串(6)

    一.引言 当打来浏览器登录某些网站的时候,需要输入密码,浏览器把密码传送到服务器后,服务器会对密码进行验证,其验证过程是把之前保存的密码与本次传递过去的密码进行对比,如果相等,那么就认为密码正确,否则 ...

  7. python基础——字符串、编码、格式化

    1.三种编码:ascii Unicode utf8 2.字符串和编码数字的两个函数:ord(字符转数字ord(‘A’)=65)和 chr(数字转字符chr(65)=A) 3.bytes存储编码,记住两 ...

  8. [Python] Python基础字符串

    Python的语法采用缩进的方式,一般使用四个空格,并且是大小写敏感的 字符编码 计算机只能处理数字,如果要处理文本,必须先把文本转换成数字才能处理 采用8个比特(bit)作为一个字节(byte) 一 ...

  9. Python基础(字符串和编码)

    字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特 ...

随机推荐

  1. HDU 3448 Bag Problem

    这是一道搜索的背包题目 题意: 有n件物品从中最多选m件,使其总重量不超过v,求能获得的最大重量 有一个很重要的剪枝(是数据的问题还是这个剪枝本身很高效?): 如果重量最大m件物品都不超过v,则答案就 ...

  2. 作业调度框架 Quartz.NET 2.0 StepByStep

    注:目前网上诸多介绍Quartz.net的文章,甚至Quartz.net官网上的Tutorial都是1.0版本的,而这个项目在2.0版本对项目进行了比较大规模的修改,使得原有的很多例子都不能运行,故写 ...

  3. spm中头动绘图的理解,自带数据集

    1.在得到头动评估的数据基础上,可以汇出头动变化的折线图. 运行本程序需要下载相应的实例数据 headmove_data.txt 头动是fMRI的一个重要问题,该程序画出了某个被试进行扫描时头动的具体 ...

  4. (六)6.17 Neurons Networks convolutional neural network(cnn)

    之前所讲的图像处理都是小 patchs ,比如28*28或者36*36之类,考虑如下情形,对于一副1000*1000的图像,即106,当隐层也有106节点时,那么W(1)的数量将达到1012级别,为了 ...

  5. Oracle buffer cache与相关的latch等待事件

    buffer cache与相关的latch等待事件 1.buffer cache 2.latch:cache buffers lru chain 3.latch:cache buffers chain ...

  6. github 开源项目

    项目地址: https://github.com/Trinea/android-open-project

  7. Java Observable 模式

    一.Observer模式的意图: 在对象的内部状态发生变化时,自动通知外部对象进行响应. 二.Observer模式的构成: ·被观察者:内部状态有可能被改变,而且又需要通知外部的对象 ·观察者:需要对 ...

  8. linux echo命令的-n、-e两个参数

    echo -n 不换行输出 $echo -n "123" $echo "456" 最终输出 123456 而不是 123 456 echo -e 处理特殊字符 ...

  9. InnoDB 引擎独立表空间 innodb_file_per_table

    使用过MySQL的同学,刚开始接触最多的莫过于MyISAM表引擎了,这种引擎的数据库会分别创建三个文件:表结构.表索引.表数据空间.我们可以将某个数据库目录直接迁移到其他数据库也可以正常工作.然而当你 ...

  10. C# Math.Round中国式的四舍五入法

    double dou = 1.255; //这种是错误的 double dou_result = Math.Round(dou, 2); //结果: 1.25 dou_result = Math.Ro ...