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. 计算a+b

    输入: 1 2 结果: 3 说明:只能输入数字,两数间只有一个空格 代码如下:(vc6编译) #include <stdio.h> #include <conio.h> voi ...

  2. Java MongoDB : Save image example

    In this tutorial, we show you how to save an image file into MongoDB, via GridFS API. The GridFS API ...

  3. (使用通过混淆+自己第三方保留成功混淆)AndroidStudio 混淆打包

    原文:https://blog.csdn.net/mazhidong/article/details/64820838 AndroidStudio中的项目可以用compile的形式引入github上的 ...

  4. ORACLE TO_CHAR(SYSDATE,'D')

    DDD是该天在一年内的第多少天,d是在一周内第几天,dd是一个月内的 DY :Day of week abbreviated Mon, Tue, Fri DAY :Day of week spelle ...

  5. Spring单例 和 Scope注解

    关键字  @Scope  @Qualifier  Singleton 单例 Spring是单例模式.结合Springboot的例子. Controller @Autowired private Tes ...

  6. @react-native-community/async-storage在Android上的手动link问题

    PS C:\Users\linjin\Desktop\RN_APP> react-native link @react-native-community/async-storage error ...

  7. (视频)asp.net core系列之k8s集群部署视频

    0.前言 应许多网友的要求,特此录制一下k8s集群部署的视频.在录制完成后发现视频的声音存在一点瑕疵,不过不影响大家的观感. 一.视频说明 1.视频地址: 如果有不懂,或者有疑问的欢迎留言.视频分为两 ...

  8. 【基础知识】.Net基础加强第三天

    一. 里氏替换原则--类型转换 1. 里氏替换原则:当需要一个父类类型对象的时候,可以给一个子类类型的对象. 2. 里氏替换原则实际也就是发生了隐身转换 3.  a.>把子类类型赋值给父类类型, ...

  9. [java] java中的初始化顺序

    先看程序: package init_cls; class A{ {System.out.println("i am in the class A!");} static { Sy ...

  10. Django 模板中使用css, javascript

    Django 模板中使用css, javascript (r'^css/(?Ppath.*)$', 'django.views.static.serve', {'document_root': '/v ...