Python学习杂记_3_字符串操作的常用方法
字符串操作
字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1
Python针对字符串有个比较帅气的判断常常用在for循环里示意如下:
names=”Tinada, Niuer, Zhangsan, Lisi, Wangwu, Zhaoliu”
name=input(“Plz input the name: ”)
for name in names:
Print(“Your input is right!”)
事实上,for循环是遍历字符串names里所有的元素,只是这细致的操作Python在幕后代劳了,我们看起来只是比对,输入的一串是不是存在于names的一串串里。
以下所有字符串的方法,它都不会修改原来字符串的值,都会产生一个新的字符串,因为字符串一旦定义了就是不可变的,是不可变的变量,可以定义其他的变量来获取。
name = 'heLLo world'
import string
print(string.ascii_letters+string.digits)#大小写字母+数字
print(string.ascii_lowercase)#所有的小写字母
print(string.ascii_uppercase)#所有的大写字母
print(string.digits)#所有的数字
print(name.lower()) # 变成小写
print(name.upper()) # 变成大写
print(name.capitalize()) # 首字母大写
print('Abcdef'.swapcase()) # 大小写反转
print(name.center(5, '*')) # 50个*,把name放中间
print(name.endswith('d')) # 是否以d结尾,返回布尔值
print(name.find('sss'))
# 查找字符串的索引,找到的话返回第一次出现的索引,找不到返回-1
print('mysql is is db'.rfind('is')) # 返回最右边匹配到的字符串的第一个字符的下标,找不到返回-1
print('abA123'.isalnum()) # 是否是“数字” 或 “英文字母” 或 “数字和英文字母”,返回布尔值
print('abA'.isalpha()) # 是否是英文字母,返回布尔值
print('122'.isdigit()) # 是否是数字,返回布尔值
print('11sdf'.isidentifier()) # 是否是一个合法的变量名,返回布尔值
print('aA'.islower()) # 是否是小写字母,返回布尔值
print('AA'.isupper()) # 是否是大写字母,返回布尔值
strnames = 'ABCEDF'
print('¥'.join(strnames))
print('strname:',strnames)
# join是用来通过某个字符串拼接一个可迭代对象的的每个元素的
注意:.join()方法拼接完的结果是字符串类型,所有时候这种方法被用于将列表转换成字符串。
#所有字符串的方法,它都不会修改原来字符串的值,都会产生一个新的字符串
print('\nmysql \n'.lstrip()) # 默认去掉左边的空格和换行
print('\nmysql \n'.rstrip()) # 默认去掉右边的空格和换行
print('\nmysql \n'.strip()) # 默认去掉两边边的空格和换行
print('mysqlm '.strip('m'))
#当你传入某个字符串的话,它就只会去掉你指定的字符串而不去管左右空格了。
p = str.maketrans('abcdefg', '1234567') # 前面的字符串和后面的字符串做映射
# 第一部分固定为“被翻译对象”字符集,第二部分固定“翻译结果”翻译结果字符集,
# 这两部分是有序的一一对应的,该方法生成了翻译结果字符,p获取了它,
print('ccaegg'.translate(p)) # 按给出的顺序输出对应的翻译结果字符,33157
# 观察下面的结果
new_p = str.maketrans('1234567', 'abcdefg')
print('ccaegg'.translate(new_p))
st= 'mysql is db. mysql mysql mysql'
print(st.replace('mysql', 'oracle')) # 替换字符串
name1 = 'zcl,py ,zyz'
print(name1.split(‘,’))
#切割字符串返回一个list,按照你指定的字符串去切割,然后放到一个list里面
#如果你什么都不写的话,按照空格分割,多个空格也算一个
print('1+2+3+4'.split()) # 切割字符串,返回一个list
print('1+2+3\n1+2+3+4'.splitlines()) # 按照换行符分割
Python学习杂记_3_字符串操作的常用方法的更多相关文章
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- Python学习杂记_7_文件操作
文件操作 Python3用open()方法打开文件并返回文件句柄,有了文件句柄就可以对文件进行各种操作了. 打开文件: open(“文件名” , 打开方式) 如: f=open( ...
- 从零开始的Python学习Episode 6——字符串操作
字符串操作 一.输出重复字符串 print('smile'*6) #输出6个smile 二.通过引索输出部分字符串 print('smile'[1:]) print('smile'[1:3]) #输出 ...
- 【Python学习笔记】字符串操作
字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...
- Python学习杂记_9_集合操作
集合集合是由花括号括起来的一组数据,特点是“数据不重复”,“无序”,“类型不统一”.其中数据不重复是它最重要的特点,常常用于“去重”操作,Set(list)方法可以把列表强制转换成集合. 集合的一些操 ...
- Python学习-第二天-字符串和常用数据结构
Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...
- Python学习杂记_5_列表常用操作
列表操作 列表时用方括号括起来的一组元素值,是可变变量,可通过下表取值,也可以通过下表来修改值,列表中的元素是有序的,可以是不同的基本数据类型,如: names=[1, 2, 3, “abc”, “d ...
- Python学习:7.文件操作
文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文 ...
- Python学习杂记_4_分支和循环
分支 和 循环 分支和循环这俩结构在各语言中都有着很重要的地位,当然我之前都没有学好,这里总结一下在Python学习中对这俩结构的认识. 分支结构 # 单分支 if 条件判断: 执行语句… # 双分支 ...
随机推荐
- python爬取豆瓣top250的电影数据并存入excle
爬取网址: https://movie.douban.com/top250 一:爬取思路(新手可以看一下) : 1:定义两个函数,一个get_page函数爬取数据,一个save函数保存数据,mian中 ...
- (转)iOS静态库与动态库的区别
一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用 ...
- 离线安装 Visual Studio Express 而不下载整个镜像文件的方法(转载)
转 visual studio 2010 express 全序列号 phone开发工具YDK44-2WW9W-QV7PM-8P8G8-FTYDF VC# 2010 Express: PQT8W-68Y ...
- AndroidStudio和IDEA的初始设置
一.第一次安装: Android Studio安装完成后,第一次启动AS前,为了避免重新下载新版本的SDK,需要做如下操作: AS启动前,打开安装目录,请先将bin目录的idea.properties ...
- Thread和Runnable的子类调用
实现线程的两种方式: 继承Thread类. 实现Runnable接口. 下面是一个小案例: public class Thread和Runnable { public static void main ...
- sc.exe
sc.exe 编辑 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 服务管理程序:可用sc.exe远程创建 外文名 sc.exe 停止事件服务 sc stop eventl ...
- 【Trapping Rain Water】cpp
题目: Given n non-negative integers representing an elevation map where the width of each bar is 1, co ...
- RSA进阶之维纳攻击(wiener-attack )
维纳攻击: 场景:e很大 例题: 第七届山东网络安全技能大赛 链接:https://pan.baidu.com/s/1IRInw3pB7SQfp3MxRJW17A 提取码:lcn3 e很大,妥了,维纳 ...
- 移动弱网测试方案Network Emulator for Windows Toolkit
移动app在测试时,有时需要考虑弱网的情形下,app的表现,那么怎么营造这样子的环境呢? 一.首先需要控制网络,有两种方式其一使用网络损伤仪进行,其二采用软件方式.硬件采购费用太贵,因此使用win平台 ...
- PageObject模式简介
一.原理 将页面元素定位和对元素的操作行为封装成一个page类,实现对页面对象和测试用例的分离. 一条测试用例可能需要多个步骤操作元素,将每个步骤单独的封装成一个方法,在执行测试用例的时候调用封装好的 ...