摘要:

python基础一中有字符串,所以这篇主要讲字符串。

一,字符串的注释

二,字符串的索引与切片

三,字符串的方法

一,字符串的注释

单引号 双引号 三引号都可以用户定义字符串。三引号不仅可以定义字符串,还可以用于注释。

  1. str = 'abcedfg'
  2. str = "abcedfg"
  3. str = '''abcedfg'''
  1. 注释如下:
  2. '''
  3. this is tes
  4. '''

  

二,字符串的索引与切片

a = 'abcefg'

a[0] 索引的值

a[0:2] 切片的值

注意:

正常情况下,小的数值放在前面,如果指定步长的值为负数,那么此时大的数值放可以放到前面。

1, 顾头不顾尾

2, 从左往右切 (默认只能)

3, 要想从右往左切,需要加一个负数

三,字符串的方法

  1. 1,capitalize  (将首字母变换成大小)
  2.  
  3. str1 = 'abc123321cda'
  4.  
  5. str1.capitalize()
  6.  
  7.       运行结果:Abc123321cda

  

  1. 2center  center(self, width, fillchar=None)   内容居中,width:总长度;fillchar:空白处填充内容,默认无.self不用填写
  2. str1 = 'abc123321cda'
  3.  
  4. str1.center(20,'#')
  5.       运行结果:'####abc123321cda####'

  

  1. 3count (关键字的个数)
  2.  
  3. str1 = 'abc123321cda'
  4.  
  5. str1.count('a')
  6.  
  7.       运行结果:2

  

  1. 4endswith' (以什么结尾,返回bool值)
  2.  
  3. str1 = 'abc123321cda'
  4.  
  5. str1.endswith('a')
  6.  
  7.       运行结果:True

  

  1. 5expandtabs (将制表符转换为空格,默认1个制表符为8个空格)
  2.  
  3. str1 = 'abc\t123321cda'
  4.  
  5. str1.expandtabs(16)
  6.  
  7.       运行结果:abc 123321cda

  

  

  1. 6find find(sub [,start [,end]]) 寻找子序列的位置,如果没找到,则返回-1.
  2.  
  3. str1 = 'abc123321cda'
  4.  
  5. str1 = 'abc123321cda'
  6.  
  7. 运行结果:2
  1. 7format 字符串格式化,动态参数。其中{0},{1}为占符。
  2.  
  3. str1 = 'ab{0}123321cd{1}'
  4.  
  5. str1.format('c','a')
  6.  
  7. 运行结果:'abc123321cda'
  1. 8index index(sub [,start [,end]]) 寻找子序列的位置,如果没有,则报错,和find类似。
  2.  
  3. str1 = 'abc123321cda'
  4.  
  5. str1.index('a')
  6.  
  7. 运行结果:'0'

  

  1. 9isalnum 是否只由数字和字母组成,以bool值返回。
  2.  
  3. str1 = 'abc123321cda'
  4.  
  5. str1.isalnum()
  6.  
  7. 运行结果:True
  8.   

  

  1. 10isalpha 是否为字母,以bool值返回。
  2.  
  3. str1 = 'abc123321cda'
  4.  
  5. str1.isalpha()
  6.  
  7. 运行结果:False
  8.   

  

  1. 11isdigit 是否数字,以bool值返回。
  2.  
  3. str1 = 'abc123321cda'
  4.  
  5. str.isdigit()
  6.  
  7. 运行结果:False

  

  1. 12islower 是否全为小写,以bool值返回。
  2.  
  3. str1 = 'abc123321cda'
  4.  
  5. str1.islower()
  6.  
  7. 运行结果:True

  

  1. 13isspace 是否全为空格,以bool值返回。
  2.  
  3. str1 = 'abc 123321cda'
  4.  
  5. str1.isspace()
  6.  
  7. 运行结果:False
  1. 14istitle 判断每个字符串第一个字母是不是大写,其他是不是小写
  2.  
  3. str1 = 'Abc123321Dda'
  4.  
  5. str1.istitle()
  6.  
  7. 运行结果:True

  

  1. 15isupper 判断每个字符串是否都为大写
  2.  
  3. str1 = 'Abc123321Dda'
  4.  
  5. str1.isupper()
  6.  
  7. 运行结果:False

  

  1. 16join 连接字符串
  2.  
  3. str1 = 'abc123'
  4.  
  5. '_'.join(str1)
  6.  
  7. 运行结果:'a_b_c_1_2_3'
  8.  
  9. 这个我一般用于列表的连接。例如:
  10.  
  11. list1 = ['hello','boy']
    ','.join(list1)
        
  1.      运行结果:'hello,boy'

  

  1. 17ljust (self, width, fillchar=None)  内容左对齐,右侧填充。
  2.  
  3. str1 = 'Abc123321Dda'
  4.  
  5. str1.ljust(20,'#')
  6.  
  7. 运行结果:'Abc123321Dda########'

  

  1. 18lower 所有字符串大小字母变小写
  2.  
  3. str1 = 'Abc123321Dda'
  4.  
  5. str1.lower()
  6.  
  7. 运行结果:'abc123321dda'

  

  1. 19lstrip  lstrip(self, chars=None)  去除左侧字符,默认为空白。
  2.  
  3. str1 = ' Abc123321Dda'
  4.  
  5. str1.lstrip()
  6.  
  7. 运行结果:'Abc123321Dda'
  1. 20partition (self, sep) 分割切前中后三部分,以元祖形式返回
  2.  
  3. str1 = 'Abc123321Dda'
  4.  
  5. str1.partition('33')
  6.  
  7. 运行结果:('Abc12', '33', '21Dda')

  

  1. 21replace 替换字符串
  2.  
  3. str1 = 'Abc123321Dda'
  4.  
  5. str1.replace('A','a')
  6.  
  7. 运行结果:'abc123321Dda'

  

  1. 22rfind 查找子序列的位置 find类似,它是从右往左找,或者说是最后1个子序列的位置,如果没找到,返回-1.
  2.  
  3. str1 = 'Abc123321cda'
  4.  
  5. str.rfind('c')
  6.  
  7. 运行结果:9

  

  1. 23rindex 查找子序列的位置 index类似,它是从右往左找,或者说是最后1个子序列的位置,如果没找到,报错!
  2.  
  3. str1 = 'Abc123321cda'
  4.  
  5. str.rindex('c')
  6.  
  7. 运行结果:9

 

  1. 24rjust (self, width, fillchar=None) 内容右对齐,右侧填充。
  2.  
  3. str1 = 'Abc123321Dda'
  4.  
  5. str1.rjust(20,'#')
  6.  
  7. 运行结果:'########Abc123321Dda'

  

 

  1. 25rpartition (self, sep) 分割切前中后三部分,以元祖形式返回,从右向左切割,即以最后1个关键字作为切割符。
  2.  
  3. str1 = 'Abc123321Dda'
  4.  
  5. str1.rpartition('2')
  6.  
  7. 运行结果:('Abc1233', '2', '1Dda')

  

  1. 26rsplit(self, sep=None, maxsplit=None) maxsplit指定切割的次数 切割,从右边开始切割,切割的字符不会出现到切割元祖中。
  2.  
  3. str1 = 'Abc123321Dda'
  4.  
  5. str1.rsplit('2')
  6.  
  7. 运行结果:['Abc1', '33', '1Dda']

  

  1. 27rstrip rstrip(self, chars=None) 去除右侧字符,默认为空白。
  2.  
  3. str1 = 'Abc123321Dda '
  4.  
  5. str1.rstrip()
  6.  
  7. 运行结果:'Abc123321Dda'

  

  1. 28split(self, sep=None, maxsplit=None) maxsplit指定切割的次数 切割,从左边开始切割,切割的字符不会出现到切割元祖中。
  2.  
  3. str1 = 'Abc123321Dda'
  4.  
  5. str1.split('2')
  6.  
  7. 运行结果:['Abc1', '33', '1Dda']

  

  1. 29splitlines 以换行符(\n)作为分割,以列表形式返回。
  2.  
  3. str1 = 'Abc123\n321Dda',
  4.  
  5. str1.splitlines()
  6.  
  7. 运行结果:['Abc123', '321Dda']

  

  1. 31, startswith' (以什么开头,返回bool值)
  2.  
  3. str1 = 'abc123321cda'
  4.  
  5. str1.startswith('a')
  6.  
  7.       运行结果:True

  

  1. 32, strip 去除左右2边字符,默认空格。
  2.  
  3. str1 = ' abc123321cda '
  4.  
  5. str1.strip()
  6.  
  7.       运行结果:'abc123321cda'
  8.  
  9. str1 = '-abc123abc#'
  10.  
  11. str1.strip('-#')
  12.  
  13. 运行结果:'abc123abc'

  

  1. 33, swapcase 小写变大写,大小变小写
  2.  
  3. str1 = 'Abc123321cD'
  4.  
  5. str1.startswith('a')
  6.  
  7.       运行结果:'aBC123321Cd'

  

  1. 34, title 字符串首字母转换成大写
  2.  
  3. str1 = 'abc123321cd'
  4.  
  5. str1 = str1.title()
  6.  
  7.       运行结果:'Abc123321Cd'

  

  1. 35, translate translate(table[, deletechars]) 返回翻译后的字符串(较复杂,要想要translate,就需要先用maketrnas创建翻译表)
  2.  
  3. table -- 翻译表,翻译表是通过maketrans方法转换而来。
  4.      
  5. deletechars -- 字符串中要过滤的字符列表。
  6. from string import maketrans
  7.  
  8. intab = 'abcde'
  9. outtab = '12345'
  10. trantab = maketrans(intab,outtab)
  11.  
  12. str1 = 'abcdefg'
  13. print str1.translate(trantab)
  14.  
  15.       运行结果:'12345fg’,从运行结果可以发现其实是将abcde用12345替代了而已
  16.      

  

 

  1. 36, upper 小写字母转换成大写
  2.  
  3. str1 = 'abc123321cd'
  4.  
  5. str.upper()
  6.  
  7.       运行结果:'ABC123321CDA'

  

  1. 37, zfill 返回指定个数的字符串,原字符串右对齐,前面填充0
  2.  
  3. str1 = 'abc123321cd'
  4.  
  5. str1.zfill(20)
  6.  
  7.       运行结果:'000000000abc123321cd'

  

python基础一数据类型之字符串的更多相关文章

  1. Python基础(3) - 数据类型:2字符串类型

    Python字符串的表示有三种方法: 1.单引号(') >>>a = 'I love python. ' 2.双引号(") >>>a = " I ...

  2. Python基础之数据类型

    Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...

  3. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  4. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  5. python基础深入(元组、字符串、列表、字典)

    python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...

  6. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  7. python教程1:Python基础之数据类型和变量、字符串和编码

    视频链接:http://www.bilibili.com/video/av10730372/ 我是在Linux下玩python的,Linux下默认安装python,直接打个pyhon3就好了,pyth ...

  8. Python基础——原生数据类型(字典,列表,元组,字符串)

    字典Dictionary 字典定义了键值对的1对1管理. 1.定义字典 请看下面的栗子,我们先创建了一个具有两个元素的字典,每对都是key:value的形式. 我们能通过key得到value,但是不能 ...

  9. python基础(数字、字符串、布尔值、字典数据类型简介)

    一 执行第一个python程序 1.下载安装python2.7和python3.6的版本及pycharm,我们可以再解释器中输入这样一行代码: 则相应的就打出了一句话.这里的print是打印的意思.你 ...

随机推荐

  1. discuz 文件模板edit

    1.修改title Power by discuz! 位置:template/default/common   --->header_common.htm 2.discuz.htm 文件路径(修 ...

  2. CentOS7 下安装 iSCSI Target(tgt) ,使用 Ceph rbd

    目录 一.iSCSI 介绍 1. iSCSI 定义 2. 几种常见的 iSCSI Target 3. 优缺点比较 二.安装步骤 1. 关闭防火墙 2. 关闭selinux 3. 通过 yum 安装 t ...

  3. 【杂谈】对RMI(Remote Method Invoke)的认识

    前言 对RMI接触的也比较早,基本上刚学完Java基础不久就机缘巧合遇到了.当时有尝试着去了解,但是没看到比较好的教程,而且对网络编程相关知识不太了解,看了不少文章,也没弄明白.现在对网络和I/O有了 ...

  4. Java NIO系列教程(七) FileChannel

    Java NIO中的FileChannel是一个连接到文件的通道.可以通过文件通道读写文件. FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下. 打开FileChannel 在使用F ...

  5. python学习: 优秀Python学习资源收集汇总--转

    Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...

  6. 并发编程——详解 AQS CLH 锁

    从 acquire 方法开始 -- 获取 为什么 AQS 需要一个虚拟 head 节点 reelase 方法如何释放锁 总结 前言 AQS 是 JUC 中的核心,其中封装了资源的获取和释放,在我们之前 ...

  7. 【Java基础】6、java中使用switch-case的用法及注意事项超全总结

    1.switch-case注意事项: switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,比如byte.short.int.char.还有枚举:需要强调的是:long和Strin ...

  8. java 跨域-利用jsonp

    Tomcat在 7.0.73, 8.0.39, 8.5.7 版本之前的可以用,不然后台报错 /** * 前端首页跳转后台 */ @RequestMapping("WebIndex.get&q ...

  9. 杀人游戏(hdu2211)插入法

    杀人游戏 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  10. Java - HashTable源码分析

    java提高篇(二五)-----HashTable 在java中与有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,valu ...