• (一)Python入门-2编程基本概念:15字符串-str()-使用[]提取字符串-replace()替换生成新字符串-内存分析


    一:str()实现数字转型字符串

      str()可以帮助我们将其他数据类型转换为字符串。例如: str(5.20) ==> ‘5.20’ str(3.14e2)==>’314.0’ str(True) ==> ‘True’

     1 >>> int('23.34')
     2       
     3 Traceback (most recent call last):
     4   File "<pyshell#35>", line 1, in <module>
     5     int('23.34')
     6 ValueError: invalid literal for int() with base 10: '23.34'
     7 >>> int('23')
     8       
     9 23
    10 >>> float('23.34')
    11       
    12 23.34
    13 >>> str(5.20)
    14       
    15 '5.2'
    16 >>> str(3.14e2)
    17       
    18 '314.0'
    19 >>> str(True)
    20       

      当我们调用 print()函数时,解释器自动调用了 str()将非字符串的对象转成了字符串。在面向对象章节中详细说明这部分内容

    二:使用[]提取字符

      字符串的本质就是字符序列,我们可以通过在字符串后面添加[],在[]里面指定偏移量, 可以提取该位置的单个字符。

      正向搜索:

        最左侧第一个字符,偏移量是 0,第二个偏移量是 1,以此类推。直到 len(str)-1 为止。

      反向搜索:

        最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str) 为止。

      【操作】使用[]提取字符串中的字符

     1 >>> a = 'abcdefghijklmnopqrstuvwxyz'
     2       
     3 >>> a
     4       
     5 'abcdefghijklmnopqrstuvwxyz'
     6 >>> a[0]
     7       
     8 'a'
     9 >>> a[2]
    10       
    11 'c'
    12 >>> a[25]
    13       
    14 'z'
    15 >>> a[26]
    16       
    17 Traceback (most recent call last):
    18   File "<pyshell#46>", line 1, in <module>
    19     a[26]
    20 IndexError: string index out of range
    21 >>> a[-1]
    22       
    23 'z'
    24 >>> a[-3]
    25       
    26 'x'
    27 >>> a[-26]
    28       
    29 'a'
    30 >>> a[-27]
    31       
    32 Traceback (most recent call last):
    33   File "<pyshell#50>", line 1, in <module>
    34     a[-27]
    35 IndexError: string index out of range

    三:replace()实现字符串替换

      字符串是“不可改变”的,我们通过[]可以获取字符串指定位置的字符,但是我们不能改变 字符串。我们尝试改变字符串中某个字符,发现报错了:

     1 >>> a = 'abcdefghijklmnopqrstuvwxyz'
     2       
     3 >>> a
     4       
     5 'abcdefghijklmnopqrstuvwxyz'
     6 >>> a[3] = ''
     7       
     8 Traceback (most recent call last):
     9   File "<pyshell#54>", line 1, in <module>
    10     a[3] = ''
    11 TypeError: 'str' object does not support item assignment

      字符串不可改变。但是,我们确实有时候需要替换某些字符。这时,只能通过创建新的字符串来实现。

     1 >>> a = 'abcdefghijklmnopqrstuvwxyz'
     2       
     3 >>> a
     4       
     5 'abcdefghijklmnopqrstuvwxyz'
     6 >>> a = a.replace('c','')
     7       
     8 >>> a
     9       
    10 'ab高defghijklmnopqrstuvwxyz'

      整个过程中,实际上我们是创建了新的字符串对象,并指向了变量a,而不是修改了以前的 字符串。 内存图如下:

  • 相关阅读:
    Linux C编程之十二 信号
    折腾vue--vue自定义组件(三)
    折腾vue--使用vscode创建vue项目(二)
    折腾vue--环境搭建(一)
    .net生成PDF文件的几种方式
    星星评分-依赖jquery
    组织机构树
    Newtonsoft--自定义格式化日期
    .net mvc 自定义错误页面
    js模拟form提交 导出数据
  • 原文地址:https://www.cnblogs.com/jack-zh/p/10811357.html
Copyright © 2020-2023  润新知