摘要:

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基础一数据类型之字符串的更多相关文章

  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. Hadoop2源码分析-准备篇

    1.概述 我们已经能够搭建一个高可用的Hadoop平台了,也熟悉并掌握了一个项目在Hadoop平台下的开发流程,基于Hadoop的一些套件我们也能够使用,并且能利用这些套件进行一些任务的开发.在Had ...

  2. CNN网络架构演进

    卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF ...

  3. js Date对象总结

    Date在js中和Array类似,都是拥有自己的特殊方法的特殊对象. 由于平常用到Date着实不多,对它的了解颇浅.上周被问到怎么样获取某年某个月的天数,我当时想了一会儿,回答说有两种,一种自己写判断 ...

  4. 边界扫描(boundary scan)

    边界扫描(Boundary scan )是一项测试技术,是在传统的在线测试不在适应大规模,高集成电路测试的情况下而提出的,就是在IC设计的过程中在IC的内部逻辑和每个器件引脚间放置移位寄存器(shif ...

  5. Servlet中forward和redirect的区别

    forward方式:request.getRequestDispatcher("/somePage.jsp").forwardrequest, response);      re ...

  6. 【转载】Layered Window(分层窗体,透明窗体)

    本文转载自花间醉卧<Layered Window(分层窗体,透明窗体)> //为窗体添加WS_EX_LAYERED属性,该属性使窗体支持透明 ModifyStyleEx(0, WS_EX_ ...

  7. WPF 中Canvas图形移动、缩放代码

    从Flash转C#,很多内容一知半解,边摸索边前进,代码粗糙,权当留个脚印. 只是想得到一个基础的移动和缩放功能的界面,找了很久都是画线.画矩形等基础形状的代码,移动和缩放说的并不清晰,只能自己努力来 ...

  8. Druid链接池配置加密密码链接数据库

    Druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB ...

  9. MyBatis开发Dao层的两种方式(Mapper动态代理方式)

    MyBatis开发原始Dao层请阅读我的上一篇博客:MyBatis开发Dao层的两种方式(原始Dao层开发) 接上一篇博客继续介绍MyBatis开发Dao层的第二种方式:Mapper动态代理方式 Ma ...

  10. 积分之迷-2015决赛C语言B组第一题

    标题:积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会返固定的积分. 小明开业第一天收到了三笔订单: 第一笔:3个A + 7个B + 1个C,共返积分:315 ...