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. 阿里百川码力APP监控 来了!

    阿里百川码力APP监控  来了!这个APP监控 和手淘一起成长历经千锤百炼 走过千BUG万坑如今百川起产品   为了让你的APP更好 用户更爽! 在移动互联网时代,一款应用是否成功,用户体验是一个关键 ...

  2. 配置toad远程连接oracle

    在oracle服务器上: C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN目录 文件:listener.ora(10.144.118 ...

  3. 二进制方式部署Kubernetes 1.6.0集群(开启TLS)

    本节内容: Kubernetes简介 环境信息 创建TLS加密通信的证书和密钥 下载和配置 kubectl(kubecontrol) 命令行工具 创建 kubeconfig 文件 创建高可用 etcd ...

  4. centos7 配置ftp访问

    vsftp安装 创建用户 并限定用户在自己的目录 1.查看是否已经安装了vsftpd vsftpd -version 2.安装vsftpd(CentOS7) yum install -y vsftpd ...

  5. loadrunner日志信息

    日志分两种1.在VUGEN中运行后的日志2.在controller中运行后的日志 日志设置分两步:1.首先,在VUGEN或controller中run-time setting, 选中always s ...

  6. oracle数据库的安装

    ---create group groupadd oinstallgroupadd dbagroupadd oper ------create user useradd -g oinstall -G ...

  7. ZOJ 4010 Neighboring Characters(ZOJ Monthly, March 2018 Problem G,字符串匹配)

    题目链接  ZOJ Monthly, March 2018 Problem G 题意  给定一个字符串.现在求一个下标范围$[0, n - 1]$的$01$序列$f$.$f[x] = 1$表示存在一种 ...

  8. HDU - 5999 The Third Cup is Free 贪心 简单题

    The Third Cup is Free Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  9. ROT13 加密与解密

    ROT13简介: ROT13(回转13位)是一种简易的替换式密码算法.它是一种在英文网络论坛用作隐藏八卦.妙句.谜题解答以及某些脏话的工具,目的是逃过版主或管理员的匆匆一瞥.ROT13 也是过去在古罗 ...

  10. JVM CPU占满问题定位

    RASP加载后出现JVM CPU占满问题,jstack -F输出信息无法找到对应占用CPU的线程 perf定位到占用CPU的热代码位于Dependencies::find_finalizable_su ...