python基础一数据类型之字符串
摘要:
python基础一中有字符串,所以这篇主要讲字符串。
一,字符串的注释
二,字符串的索引与切片
三,字符串的方法
一,字符串的注释
单引号 双引号 三引号都可以用户定义字符串。三引号不仅可以定义字符串,还可以用于注释。
- str = 'abcedfg'
- str = "abcedfg"
- str = '''abcedfg'''
- 注释如下:
- '''
- this is tes
- '''
二,字符串的索引与切片
a = 'abcefg'
a[0] 索引的值
a[0:2] 切片的值
注意:
正常情况下,小的数值放在前面,如果指定步长的值为负数,那么此时大的数值放可以放到前面。
1, 顾头不顾尾
2, 从左往右切 (默认只能)
3, 要想从右往左切,需要加一个负数
三,字符串的方法
- 1,capitalize (将首字母变换成大小)
- str1 = 'abc123321cda'
- str1.capitalize()
- 运行结果:Abc123321cda
- 2,center center(self, width, fillchar=None) 内容居中,width:总长度;fillchar:空白处填充内容,默认无.self不用填写
- str1 = 'abc123321cda'
- str1.center(20,'#')
- 运行结果:'####abc123321cda####'
- 3,count (关键字的个数)
- str1 = 'abc123321cda'
- str1.count('a')
- 运行结果:2
- 4,endswith' (以什么结尾,返回bool值)
- str1 = 'abc123321cda'
- str1.endswith('a')
- 运行结果:True
- 5,expandtabs (将制表符转换为空格,默认1个制表符为8个空格)
- str1 = 'abc\t123321cda'
- str1.expandtabs(16)
- 运行结果:abc 123321cda
- 6,find find(sub [,start [,end]]) 寻找子序列的位置,如果没找到,则返回-1.
- str1 = 'abc123321cda'
- str1 = 'abc123321cda'
- 运行结果:2
- 7,format 字符串格式化,动态参数。其中{0},{1}为占符。
- str1 = 'ab{0}123321cd{1}'
- str1.format('c','a')
- 运行结果:'abc123321cda'
- 8,index index(sub [,start [,end]]) 寻找子序列的位置,如果没有,则报错,和find类似。
- str1 = 'abc123321cda'
- str1.index('a')
- 运行结果:'0'
- 9,isalnum 是否只由数字和字母组成,以bool值返回。
- str1 = 'abc123321cda'
- str1.isalnum()
- 运行结果:True
- 10,isalpha 是否为字母,以bool值返回。
- str1 = 'abc123321cda'
- str1.isalpha()
- 运行结果:False
- 11,isdigit 是否数字,以bool值返回。
- str1 = 'abc123321cda'
- str.isdigit()
- 运行结果:False
- 12,islower 是否全为小写,以bool值返回。
- str1 = 'abc123321cda'
- str1.islower()
- 运行结果:True
- 13,isspace 是否全为空格,以bool值返回。
- str1 = 'abc 123321cda'
- str1.isspace()
- 运行结果:False
- 14,istitle 判断每个字符串第一个字母是不是大写,其他是不是小写
- str1 = 'Abc123321Dda'
- str1.istitle()
- 运行结果:True
- 15,isupper 判断每个字符串是否都为大写
- str1 = 'Abc123321Dda'
- str1.isupper()
- 运行结果:False
- 16,join 连接字符串
- str1 = 'abc123'
- '_'.join(str1)
- 运行结果:'a_b_c_1_2_3'
- 这个我一般用于列表的连接。例如:
- list1 = ['hello','boy']
','.join(list1)
- 运行结果:'hello,boy'
- 17,ljust (self, width, fillchar=None)
内容左对齐,右侧填充。
- str1 = 'Abc123321Dda'
- str1.ljust(20,'#')
- 运行结果:'Abc123321Dda########'
- 18,lower 所有字符串大小字母变小写
- str1 = 'Abc123321Dda'
- str1.lower()
- 运行结果:'abc123321dda'
- 19,lstrip lstrip(self, chars=None) 去除左侧字符,默认为空白。
- str1 = ' Abc123321Dda'
- str1.lstrip()
- 运行结果:'Abc123321Dda'
- 20,partition (self, sep) 分割切前中后三部分,以元祖形式返回
- str1 = 'Abc123321Dda'
- str1.partition('33')
- 运行结果:('Abc12', '33', '21Dda')
- 21,replace 替换字符串
- str1 = 'Abc123321Dda'
- str1.replace('A','a')
- 运行结果:'abc123321Dda'
- 22,rfind 查找子序列的位置 和find类似,它是从右往左找,或者说是最后1个子序列的位置,如果没找到,返回-1.
- str1 = 'Abc123321cda'
- str.rfind('c')
- 运行结果:9
- 23,rindex 查找子序列的位置 和index类似,它是从右往左找,或者说是最后1个子序列的位置,如果没找到,报错!
- str1 = 'Abc123321cda'
- str.rindex('c')
- 运行结果:9
- 24,rjust (self, width, fillchar=None) 内容右对齐,右侧填充。
- str1 = 'Abc123321Dda'
- str1.rjust(20,'#')
- 运行结果:'########Abc123321Dda'
- 25,rpartition (self, sep) 分割切前中后三部分,以元祖形式返回,从右向左切割,即以最后1个关键字作为切割符。
- str1 = 'Abc123321Dda'
- str1.rpartition('2')
- 运行结果:('Abc1233', '2', '1Dda')
- 26,rsplit(self, sep=None, maxsplit=None) maxsplit指定切割的次数 切割,从右边开始切割,切割的字符不会出现到切割元祖中。
- str1 = 'Abc123321Dda'
- str1.rsplit('2')
- 运行结果:['Abc1', '33', '1Dda']
- 27,rstrip rstrip(self, chars=None) 去除右侧字符,默认为空白。
- str1 = 'Abc123321Dda '
- str1.rstrip()
- 运行结果:'Abc123321Dda'
- 28,split(self, sep=None, maxsplit=None) maxsplit指定切割的次数 切割,从左边开始切割,切割的字符不会出现到切割元祖中。
- str1 = 'Abc123321Dda'
- str1.split('2')
- 运行结果:['Abc1', '33', '1Dda']
- 29,splitlines 以换行符(\n)作为分割,以列表形式返回。
- str1 = 'Abc123\n321Dda',
- str1.splitlines()
- 运行结果:['Abc123', '321Dda']
- 31, startswith' (以什么开头,返回bool值)
- str1 = 'abc123321cda'
- str1.startswith('a')
- 运行结果:True
- 32, strip 去除左右2边字符,默认空格。
- str1 = ' abc123321cda '
- str1.strip()
- 运行结果:'abc123321cda'
- str1 = '-abc123abc#'
- str1.strip('-#')
- 运行结果:'abc123abc'
- 33, swapcase 小写变大写,大小变小写
- str1 = 'Abc123321cD'
- str1.startswith('a')
- 运行结果:'aBC123321Cd'
- 34, title 字符串首字母转换成大写
- str1 = 'abc123321cd'
- str1 = str1.title()
- 运行结果:'Abc123321Cd'
- 35, translate translate(table[, deletechars]) 返回翻译后的字符串(较复杂,要想要translate,就需要先用maketrnas创建翻译表)
- table -- 翻译表,翻译表是通过maketrans方法转换而来。
- deletechars -- 字符串中要过滤的字符列表。
- from string import maketrans
- intab = 'abcde'
- outtab = '12345'
- trantab = maketrans(intab,outtab)
- str1 = 'abcdefg'
- print str1.translate(trantab)
- 运行结果:'12345fg’,从运行结果可以发现其实是将abcde用12345替代了而已
- 36, upper 小写字母转换成大写
- str1 = 'abc123321cd'
- str.upper()
- 运行结果:'ABC123321CDA'
- 37, zfill 返回指定个数的字符串,原字符串右对齐,前面填充0
- str1 = 'abc123321cd'
- str1.zfill(20)
- 运行结果:'000000000abc123321cd'
python基础一数据类型之字符串的更多相关文章
- Python基础(3) - 数据类型:2字符串类型
Python字符串的表示有三种方法: 1.单引号(') >>>a = 'I love python. ' 2.双引号(") >>>a = " I ...
- Python基础之数据类型
Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...
- 第二章:python基础,数据类型
"""第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...
- python基础一数据类型之字典
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...
- python基础深入(元组、字符串、列表、字典)
python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...
- 第一节 Python基础之数据类型(整型,布尔值,字符串)
数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...
- python教程1:Python基础之数据类型和变量、字符串和编码
视频链接:http://www.bilibili.com/video/av10730372/ 我是在Linux下玩python的,Linux下默认安装python,直接打个pyhon3就好了,pyth ...
- Python基础——原生数据类型(字典,列表,元组,字符串)
字典Dictionary 字典定义了键值对的1对1管理. 1.定义字典 请看下面的栗子,我们先创建了一个具有两个元素的字典,每对都是key:value的形式. 我们能通过key得到value,但是不能 ...
- python基础(数字、字符串、布尔值、字典数据类型简介)
一 执行第一个python程序 1.下载安装python2.7和python3.6的版本及pycharm,我们可以再解释器中输入这样一行代码: 则相应的就打出了一句话.这里的print是打印的意思.你 ...
随机推荐
- discuz 文件模板edit
1.修改title Power by discuz! 位置:template/default/common --->header_common.htm 2.discuz.htm 文件路径(修 ...
- CentOS7 下安装 iSCSI Target(tgt) ,使用 Ceph rbd
目录 一.iSCSI 介绍 1. iSCSI 定义 2. 几种常见的 iSCSI Target 3. 优缺点比较 二.安装步骤 1. 关闭防火墙 2. 关闭selinux 3. 通过 yum 安装 t ...
- 【杂谈】对RMI(Remote Method Invoke)的认识
前言 对RMI接触的也比较早,基本上刚学完Java基础不久就机缘巧合遇到了.当时有尝试着去了解,但是没看到比较好的教程,而且对网络编程相关知识不太了解,看了不少文章,也没弄明白.现在对网络和I/O有了 ...
- Java NIO系列教程(七) FileChannel
Java NIO中的FileChannel是一个连接到文件的通道.可以通过文件通道读写文件. FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下. 打开FileChannel 在使用F ...
- python学习: 优秀Python学习资源收集汇总--转
Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...
- 并发编程——详解 AQS CLH 锁
从 acquire 方法开始 -- 获取 为什么 AQS 需要一个虚拟 head 节点 reelase 方法如何释放锁 总结 前言 AQS 是 JUC 中的核心,其中封装了资源的获取和释放,在我们之前 ...
- 【Java基础】6、java中使用switch-case的用法及注意事项超全总结
1.switch-case注意事项: switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,比如byte.short.int.char.还有枚举:需要强调的是:long和Strin ...
- java 跨域-利用jsonp
Tomcat在 7.0.73, 8.0.39, 8.5.7 版本之前的可以用,不然后台报错 /** * 前端首页跳转后台 */ @RequestMapping("WebIndex.get&q ...
- 杀人游戏(hdu2211)插入法
杀人游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- Java - HashTable源码分析
java提高篇(二五)-----HashTable 在java中与有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,valu ...