基础数据类型:str

1.1  字符串大小写转换

  • 所有字母大写 : string.upper()
  • 所有字母小写 : string. lower()
  • 第一个单词的第一个字母大写,其他字母小写 :  string.capitalize()
  • 非字母隔开的部分首字母大写: string. title()
  • 大小写反转 :  string.swapcasw()
 1 s = 'biZZ gates is001number'
3 print(s.upper())
5 print(s.lower())
7 print(s.capitalize())
9 print(s.title())
11 print(s.swapcase()) 运行结果:
BIZZ GATES IS001NUMBER    ###  所有字母大写
bizz gates is001number    ### 所有字母小写
Bizz gates is001number    ### 第一个单词的第一个字母大写
Bizz Gates Is001Number    ### 非字母隔开的部分首字母大写
BIzz GATES IS001NUMBER    ### 大小写反转

1.2  去除空格

  • 去除字符串首尾的空格: string.strip()
  • 去除左边(开头)空格:string.lstrip()
  • 去除右边(结尾)空格:string.rstrip()
  • 去除字符串中间的空格:string.replace(" ","")

  --- 当参数为空时 string.strip()将两端的空白符、\r、\n(换行符)、\t(制表符:相当于tab键,四个空格) 都删除;

   --- 当传入参数后,string.strip()函数会把传入的参数拆解成一个个字符,从头到尾循环直至全部去掉

 

1 s = "  bizz gates is number1    "
2 print(s.strip()) # 删除前后空格
3 print(s.lstrip()) # 删除开头空格
4 print(s.rstrip()) # 删除结尾空格

  运行结果:

1 bizz gates is number1
2 bizz gates is number1
3 bizz gates is number1

  

1 s1 = "bbbccc123dddbbcc"
2 print(s1.strip('bc')) # 删除字母b和c
3 print(s1.lstrip("bc")) # 删除头部的字母b和c
4 print(s1.rstrip("bc")) # 删除结尾的字母b和c

  运行结果:

1 123ddd
2 123dddbbcc
3 bbbccc123ddd

  

1.3  字符串切割(字符串转换列表的方法)

  • string.split()    将字符串切割后返回为一个列表

    • string.spit()               不传入参数,则按照空格去切割,返回列表
    • string.split("m")       按元素m进行切割,返回列表
    • string.split("m",n)    按元素 m 切割 n 次,返回列表  
1 s = "angelababy"
2 print(s.split("a")) # 以元素a对字符串进行切割
3 print(s.split("a",2)) # 以元素a对字符串进行2次切割

运行结果:

['', 'ngel', 'b', 'by']
['', 'ngel', 'baby']

  

1.4 字符串替换

  • string.replace(old,new,count)  

    • string.replace(m,n)             将字符串所有的m都替换成n
    • string.replace(m,n,count)     将old值替换成new值,替换count次
1 s = "angela baby baby"
2 print(s.replace("a","h")) ### 将字符 a 替换成 h
3 print(s.replace("a","h",2))   ### 将前两个字符 a 替换成 h

运行结果:

hngelh bhby bhby
hngelh baby baby

  

1.5  判断字段串组成

  • string.isalnum()  判断字符串是否由字母或数字组成
  • string.isalpha()   判断字符串是否由字母组成
  • string.isdigit()     判断字符串是否由数字组成
  • string.isspace()  判断字符串是否由空格组成

1.6 查询字符串索引

### 通过元素查找字符串索引 :find() 、index()

  注:find() 和 index() 使用方法一样,唯一的区别是 find()找不到返回 -1 ,index()找不到报错。
1 str = "angela baby baby"
2 print(str.find("g")) #查找元素 m 在字符串中的第一个索引
3 print(str.find("a",2,10)) # 在字符串索引为2到10之间找元素 a 的第一个索引值
   # find()方法找不到返回 -1
4 print(str.index("g")) #通过元素m查找索引
5 print(str.index("a",2,10)) #在字符串索引为2到10之间找元素 a 的第一个索引值
   #find()方法找不到就报错 
 
运行结果:

2
5
2
5

1.7 字符串拼接、输出、关键字

### ① 字符串拼接

 print("蜡笔小新",18,"岁")    ## 不同字符类型用逗号(,)拼接
print("蜡笔小新"+"小新蜡笔") ## 同一字符类型用加号(+)拼接

### ② 输出
a = 5
b = 6
## 换行输出
print(a)
print(b)
## 不换行输出
print(a,end=" ")
print(b)
## 换行输出
  print("我要换行啦\n我要换行啦") ### ③ 查看关键字
import keyword
print(keyword.kwlist) 运行结果:
蜡笔小新 18 岁
蜡笔小新小新蜡笔
5
6
5 6
我要换行啦
我要换行啦
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally',
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while',
'with', 'yield']

1.8 格式化

###  1) %s  格式化

# 第一种
1 s = "我叫%s,今年%d岁,身高%.2f。"%("佩琪",6,135.565)
2 print(s) # 第二种(使用键值对)
1 s = "我叫%(name)s,今年%(age)d岁,身高%(high).2f。"%{"name" :"佩琪","high" : 135.565,"age" :6}
2 print(s)
### 2) format 格式化(注:若格式化的语句中已存在百分号(%),则加上%进行转义,写法:我的学习进度为80%%)
# 第一种(按顺序替换)
1 s = "我叫{},今年{}岁,身高{}。".format("佩琪","6","135")
2 print(s)
# 第二种(加入角标,可以重复利用)
1 s = "我叫{0},今年{1}岁,身高{2},你也叫{0}".format("佩琪","6","135")
2 print(s)
# 第三种(使用键值对,可以无序)
1 s = "我叫{name},今年{age}岁,身高{high}".format(name = "佩琪",high = 135,age ="6")
2 print(s) 运行结果:

 我叫佩琪,今年6岁,身高135.56。
 我叫佩琪,今年6岁,身高135。
 我叫佩琪,今年6岁,身高135,你也叫佩琪
 我叫佩琪,今年6岁,身高135

1.8 判断以什么开头、计算次数、填充

 ###  判断是否以某个元素开头/结尾  : startswith()  、 endswith()
1 str = "angela baby baby"
2 print(str.startswith("a")) #判断是否以m开头
3 print(str.startswith("m",7,16)) #判断第二个单词是否以m开头
4 print(str.endswith("y")) #判断是否以m结尾
   #返回为bool值 运行结果:

True
  False
  True

### 计算字符出现的次数  : count()
1 str = "angela baby baby"
2 print(str.count("a")) # 查询元素 a 在整个字符串出现的次数
3 print(str.count("a",7,15)) # 查询元素 a 在索引为7~15之间出现的次数 运行结果: 4
2
### 1)填充  : join()

 1 s = 'alexeweuesir'
2 s1 = '_'.join(s)
3 print(s1)

 运行结果:  a_l_e_x_e_w_e_u_e_s_i_r
### 2)填充:center()

1 s = "angle bobyboby"
2 print(s.center(20)) ### 整个字符串为20个字符(未写参数,以空格填充),且字符串居中显示
3 print(s.center(20,"*")) ### 字符串以*填充20个字符,且字符串居中显示 运行结果:

   angle bobyboby 
 ***angle bobyboby***

【python 3】 字符串方法操作汇总的更多相关文章

  1. python拼接字符串方法汇总

    python拼接字符串一般有以下几种方法: 1.直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果:Hello World! 这种方式最常用. ...

  2. python learning 字符串方法

    一.重点掌握的6种字符串方法: 1.join命令 功能:用于合并,将字符串中的每一个元素按照指定分隔符进行拼接 程序举例: seq = ['1','2','3','4'] sep = '+' v = ...

  3. Python常见字符串处理操作

    Python中字符串处理的方法已经超过37种了,下面是一些常用的字符串处理的方法,以后慢慢添加. >>> s = 'Django is cool' #创建一个字符串 >> ...

  4. Python学习-字符串函数操作3

    字符串函数操作 isprintable():判断一个字符串中所有字符是否都是可打印字符的. 与isspace()函数很相似 如果字符串中的所有字符都是可打印的字符或字符串为空返回 True,否则返回 ...

  5. Python学习-字符串函数操作2

    字符串函数操作 find( sub, start=None, end=None):从左到右开始查找目标子序列,找到了结束查找返回下标值,没找到返回 -1 sub:需要查找的字符串 start=None ...

  6. 初识python: 字符串常用操作

    直接上代码示例: #!/user/bin env python # author:Simple-Sir # time:20180914 # 字符串常用操作 name = 'lzh lyh' print ...

  7. python关于字符串的操作

    #-*- coding:utf-8 -*-#Author:gxli#字符串的操作name=' zhangsan,lisi,wangwu '#分割操作name=name.split(',')print( ...

  8. 【python 3】 列表方法操作汇总

    基础数据类型 : list list主要操作:索引.切片.查询.修改.增加.删除.扩展.统计.排序.获取下标.拷贝…… 1.1  索引  由图: list正向下标从0开始 list反向下标从-1开始 ...

  9. 【python 3】 集合方法操作汇总

    基本数据类型 : set 集合(set)特点 : 无序 不能重复(自动去重) 用 {} 或 set()函数 来表示集合 空集合 : set() 1 name = {"江户部柯南", ...

随机推荐

  1. OO第二单元电梯线程系列总结作业

    电梯系列第一次作业 功能描述: 傻瓜电梯无需考虑超载捎带 线程模式: Producer-Consumer Pattern 思路: 第一次作业是一个傻瓜电梯,分别有一个生产者生成电梯指令(也就是Inpu ...

  2. 安装Oracle Grid的过程中用到的几个小技巧

    1.利用文件来模拟块设备 在grid的安装教程中有一步是 provision the disk devices for use with ASM Filter Driver.但是如果我们没有多个磁盘怎 ...

  3. Java文件类型工具类

    package *; import java.util.HashMap; import java.util.Map; /** * <p> * <b>FileTypeEnum2& ...

  4. 旧调重弹Hibernate与Ibatis区别——深入架构设计

    对于一个粗学者而言一言概况就是:ibatis非常简单易学,hibernate相对较复杂,门槛较高.  但是,hibernate对数据库结构提供了较为完整的封装,hibernate的o/r mappin ...

  5. django 后端反向生成url

    导入模块 from django.core.urlresolvers import reverse reverse() reverse(viewname, urlconf=None, args=Non ...

  6. vm中的nat模式不能连接到主机,以及不能上网

    主机能够ping通vm中的ip,但是vm不能ping通主机ip vm不能ping通主机:主要是虚拟机中的gateway的设置和vm的网络编辑器中的网关id不一致造成的 vm不能上外网:dns没有配置正 ...

  7. SNMP理解

    前两天项目要求一个附加功能,远程监视服务器的运行状况,要定期监视指定端口,指定业务,还包括服务器的磁盘空间,内存,CPU使用率等等.这头俩事还好说,ping和telnet也就搞定了,实在不行就开个so ...

  8. Tomcat 控制台UTF-8乱码问题

    1.修改cmd的编码格式 快捷键win+R打开运行程序,输入regedit打开注册表,找到以下路劲并且修改. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Comman ...

  9. zigbee 中ZDO的理解

    ---恢复内容开始--- ZigBee     物理层:主要进行无线数据的收发,同时定义了无线传输的信道以及频率.      MAC层:使用CSMA-CA机制接入到无线信道,负责传输信标帧,保持同步和 ...

  10. 利用Python计算π的值,并显示进度条

    利用Python计算π的值,并显示进度条  第一步:下载tqdm 第二步;编写代码 from math import * from tqdm import tqdm from time import ...