3. python 字符串的一般使用

1.基本操作

1)使用+连接

>>> "abc"+"efg" 
  'abcefg' 
  >>> a="abc" 
  >>> b="efg" 
  >>> c=a+b 
  >>> c 
  'abcefg' 
  >>>

2)使用*重复

>>> "abc"*3 
  'abcabcabc' 
  >>> "abc\n"*3 
  'abc\nabc\nabc\n' 
  >>> print("abc\n"*3) 
  abc 
  abc 
  abc 
   
  >>>

3)字符串不能使用+连接数字

>>> "abc"+9 
  Traceback (most recent call last): 
    File "", line 1, in  
      "abc"+9 
  TypeError: Can't convert 'int' object to str implicitly

4)使用for来迭代

>>> a="abcdefg" 
  >>> for x in a:print(x) 
   
  a 
  b 
  c 
  d 
  e 
  f 
  g

5)使用in来找字符,后面我们还会说到str.find()方法,跟in非常相似

>>> a="abcdefg" 
  >>> "h" in a 
  False 
  >>> "abc" in a 
  True 
  >>>

2.索引与分片

1)索引

字符串可以通过索引来查找想要的字符,而且索引分成正负,通过不同的查询方向来查找

>>> a="abcdefg" 
  >>> a[0],a[1],a[5] 
  ('a', 'b', 'f') 
  >>> a[-2],a[-1],a[-5] 
  ('f', 'g', 'c') 
  >>>

2)分片,说白了就是提取字符串的某些部分,而且当索引使用负数则返回空

>>> a="abcdefg" 
  >>> a[1:] 
  'bcdefg' 
  >>> a[1:3] 
  'bc' 
  >>> a[-1:3] 
  '' 
  >>>

我使用一张图来说明一下这个分片是怎么分的,以a[1:3]为例子

从图上面我们比较清楚情况,对于1,他是把指针放到a的后面,从b开始数,a不算,然后后面的3,他是把指针放到d的前面,不算d

所以返回的只有bc

还有需要特殊说明一些例子:

a[1:]从第二个字符开始到结束

a[:3]从第一个字符开始到第二个字符,也就是第三个字符前

a[:]复制所有字符

其实还有第三个参数,步进,说白了,就是跳着选,就是要看跳几个而已

>>> a="abcdefghijklmn" 
 >>> a[2:8:2] 
 'ceg' 
  >>> a[::3] 
  'adgjm' 
  >>>

a[2:8:2]代表从第三个字符开始抽取,到第八个之前也就是第七个,然后每隔2个挑一个出来

a[::3]代表从所有字符中每隔3个挑一个出来

如果步进是复数,则反着挑

3.字符串转换str()与repr()

>>> str(42) 
  '42' 
  >>> repr(43) 
  '43'

区别,在使用print的时候,repr多了一对单引号

>>> print(str('aaa'),repr('aaa')) 
  aaa 'aaa'

4.修改字符串

字符串是不可以修改的,那么怎么修改呢?

其实过程是我们从一个字符串里面抽取某些字符,然后在加上其他的字符,形成新的字符串对象

>>> a="abcdefghijklmn" 
  >>> id(a) 
  24338048 
  >>> b=a[1:5]+" \n this is a str" 
 >>> id(b) 
  24342896 
 >>> b 
  'bcde \n this is a str' 
  >>> print(b) 
  bcde  
  this is a str 
 >>>

3. python 字符串的一般使用的更多相关文章

  1. 关于python字符串连接的操作

    python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式 ...

  2. StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing the strings?

    StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing t ...

  3. Python 字符串

    Python访问字符串中的值 Python不支持单字符类型,单字符也在Python也是作为一个字符串使用. Python访问子字符串,可以使用方括号来截取字符串,如下实例: #!/usr/bin/py ...

  4. python字符串方法的简单使用

    学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: >& ...

  5. python字符串基础知识

    1.python字符串可以用"aaa",'aaa',"""aaa""这三种方式来表示 2.python中的转义字符串为" ...

  6. Python 字符串格式化

    Python 字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存 一 ...

  7. Python 字符串操作

    Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip() .lstrip() .rstrip(',') 复制字符 ...

  8. 【C++实现python字符串函数库】strip、lstrip、rstrip方法

    [C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...

  9. 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith

    [C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...

  10. 【C++实现python字符串函数库】一:分割函数:split、rsplit

    [C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...

随机推荐

  1. C语言-删除注释

    C语言中的注释,不嵌套,一律使用/*   */的形式.不过双引号中的/*  */则不能算是注释. 以下是正确的代码 /* * ===================================== ...

  2. apache camel 条件路由

    <camelContext xmlns="http://camel.apache.org/schema/blueprint"> <route id="e ...

  3. 【LOJ】#2574. 「TJOI2018」智力竞赛

    题解 二分答案 求最小路径点覆盖 由于这里最小路径点覆盖,点是可重的,用floyd求出传递闭包(也就是求出,哪两点之间是可达的) 最后用这个floyd求出的数组建出一个新图,在这个图上跑普通的最小路径 ...

  4. USACO 4.3 Buy Low, Buy Lower

    Buy Low, Buy Lower The advice to "buy low" is half the formula to success in the stock mar ...

  5. python中list和str互转

    1.list转str 假设有一个名为test_list的list,转换后的str名为test_str 则转换方法: test_str = "".join(test_list) 例子 ...

  6. Cordova 打包签名

    1.第一步 在项目根目录下运行命令cordova build --release android,会在testApp\platforms\android\build\outputs\apk目录下生成一 ...

  7. Xiaoguang Tu's Home Page

    Xiaoguang Tu (涂晓光): CV: Ph.D. Candidate of School of Communication and Information Engineering, Univ ...

  8. AlertDialog对话框

    普通对话框 public void click1(View v) { //这里不能用 getApplicationContext()方法来获取上下文 AlertDialog.Builder build ...

  9. 机器学习之路: python 实践 word2vec 词向量技术

    git: https://github.com/linyi0604/MachineLearning 词向量技术 Word2Vec 每个连续词汇片段都会对后面有一定制约 称为上下文context 找到句 ...

  10. 安卓手机安装 Charles 证书

    1: 在  Charles 工具栏里点击 Help --- SSL Proxying --- Save Charles Root Certificate,生成 后缀名是 .cer 的文件, 然后上传到 ...