05python字符串基础

这一篇文章主要介绍python字符串相关知识。

单引号字符串及对单引号的转义

字符串(String)就是一段文本,几乎在所有的Python程序中都有字符串的身影。

字符串可以用单引号表示,也可以用双引号表示,但是输出一般为单引号:

>>> 'Hello World!' 
'Hello World!'
>>>
>>> "Hello World!" 
'Hello World!'
>>>

如果字符串中有单引号,我们就需要用双引号表示字符串;同样如果字符串中有双引号,我们就需要用单引号表示字符串。否则,会报错

>>> "Let's go!"
"Let's go!"
>>>
>>> '"Hello, world!" she said' 
'"Hello, world!" she said'
>>>
>>> 'Let's go!' 
  File "<stdin>", line 1
    'Let's go!'
         ^
SyntaxError: invalid syntax
>>>
>>> ""Hello, world!" she said" 
  File "<stdin>", line 1
    ""Hello, world!" she said"
      ^^^^^
SyntaxError: invalid syntax
>>>

可以通过转义符\的使用表示字符串里面的引号:

>>> 
>>> "\"Hello, world!\" she said" 
'"Hello, world!" she said'
>>> 'Let\'s go!'             
"Let's go!"
>>>
  • 这样对引号转义很有作用,且在有些情况下必须这样做,例如字符串同时包含单引号和双引号时

字符串拼接

>>> 
>>> "Let's say " '"Hello , world!"'
'Let\'s say "Hello , world!"'
>>>
>>> x = "Hello, "
>>> y = "world!"
>>> x y
  File "<stdin>", line 1
    x y
      ^
SyntaxError: invalid syntax
>>>
>>> x + y
'Hello, world!'
>>>
  • 同时依次输入两个字符串,Python会自动将他们拼接起来,这是一种输入字符串的特殊方式,而非通用的字符串拼接方法
  • 正确的拼接字符串的方法是借助于+,将字符串拼接起来

字符串的str和repr

>>> 
>>> "Hello, world!"
'Hello, world!'
>>> print("Hello, world!")
Hello, world!
>>>
>>> "Hello, \nworld!"  
'Hello, \nworld!'
>>> print("Hello, \nworld!") 
Hello, 
world!
>>>
>>> print(repr("Hello, \nworld!")) 
'Hello, \nworld!'
>>> print(str("Hello, \nworld!"))  
Hello, 
world!
>>>
  • Python打印会尽量保留在代码中的样子
  • print打印的结果是希望用户看到的样子
  • print+repr函数的效果就是python打印效果
  • print+str类就是打印出字符串的用户效果

长字符串

要表示很长的字符串(跨越多行的字符串),可以使用三引号(而不是普通的引号):

>>> 
>>> print('''This is a very long string. It continues here.
...       And it's not over yet. "Hello, world!"
...       Still here.''')
This is a very long string. It continues here.
      And it's not over yet. "Hello, world!"
      Still here.
>>> 
>>> 1 + 2 + \   
... 4 + 5   
12
>>>
>>> print\  
... ('Hello, world!') 
Hello, world!
>>>
  • 也可以使用三个双引号表示长字符串
  • 注意:长字符串本身包含单引号或双引号无需使用反斜杠转义。因为三引号让解释器能够识别表示字符串的开始和结束位置,不冲突。区别于引号表示的字符串。
  • 常规字符串也可以 横跨多行,只要在行尾加上反斜杠,反斜杠和换行符将被转义,即被忽略

原始字符串

原始字符串不以特殊方式处理反斜杠,因此在有些情况下很有用,例如正则表达式中。

因为反斜杠对字符进行转义,可以表达字符串中原本无法包含的字符,但是如果字符中本身就有反斜杠或包含反斜杠的组合,就会出问题。这个时候有两种方案:

  • 用反斜杠转义反斜杠
  • 用原始字符串表示——在字符串前面用r表示

例如我们想要表达文件路径:

>>> 
>>> print('C:\Program Files\fnord\foo\baz')   
C:\Program Files
                nord
                    oaz
>>>
>>> print('C:\\Program Files\\fnord\\foo\\baz')
C:\Program Files\fnord\foo\baz
>>>
>>> print(r'C:\Program Files\fnord\foo\baz')  
C:\Program Files\fnord\foo\baz
>>>
>>> print(r'Let\'s go!')
Let\'s go!
>>>   
>>> print(r'C:\Program Files\fnord\foo\baz' '\\' ) 
C:\Program Files\fnord\foo\baz\
>>> 
  • 原始字符串不能以单个反斜杠结尾,因为python无法判断其是否结束。如果要表示这种字符串可以拼接一个反斜杠转义的斜杠。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:05python字符串基础 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 08python元组

    这一篇问文章主要介绍元组的相关知识。 元组:不可修改的序列 与列表一样,元组也是序列,唯一的差别在于元组是不能修改的(同样的,字符串也不能修改)。 元组的语法很简单。 >>> >>> 1, 2, 3 (1, 2, 3) >>> (1, 2, 3) (1, 2, 3) >>> >&g…

    Python开发 2023年4月2日
    00
  • 06python序列

    数据结构是Python中一个很重要的概念,是以某种方式(如通过编号)组合起来的数据元素(如数字、字符乃至其他数据结构)的集合。 在Python中,最基本的数据结构是序列(sequence)。 序列中的每个元素都有编号,及其位置或索引,其中的第一个元素的索引为0,第二个元素位的索引为1,依此类推 在有些编程语言中,从1开始给序列中的元素编号,但从0开始指出相对…

    Python开发 2023年4月2日
    00
  • 02python快速上手

    这一篇是环境准备,主要是说明如何安装Python和运行交互式环境。 安装和运行交互式解析器 如果你使用的是MacOS和Linux/UNIX机器的话,大部分都默认安装了Python,不过需要注意的是系统自带的Python都是比较老的Python2.x。我们可以在提示符下输入python命令进行验证是否安装。 linux系统信息: [zpl@localhost …

    Python开发 2023年4月2日
    00
  • 03python基础知识01

    这一篇文章主要介绍一些python的基础知识,包括算法、数字和表达式、变量、语句、获取用户输入等。 什么是算法 什么是计算机编程呢?简单的来说,计算机编程就是告诉计算机如何做。 而算法只不过是流程或菜谱的时髦说法,详尽的描述了如何完成某项任务,以便于计算机更好的执行。 例如下面的菜谱,鸡蛋火腿肠: 先取一些火腿肠 再加些火腿肠和鸡蛋 如果喜欢吃辣,加些辣味火…

    Python开发 2023年4月2日
    00
  • 04python基础知识02

    这一篇文章主要介绍函数、模块、运行python文件等知识。 函数 函数犹如小程序,可以用来执行特定的操作。Python本身提供了很多函数,我们称这些函数为内置函数。内置函数可以用于编写数值表达式 >>> abs(-10) 10 >>> 2 // 3 # 整除总是向下取整 0 >>> round(2 / 3…

    Python开发 2023年4月2日
    00
  • 10python字典

    列表和字典的区别是列表可以通过索引来访问值,而字典可以通过名称来访问各个值。 字典这种数据结构称为映射(mapping),字典是Python中唯一内置映射类型,值不按照顺序排列,而是存储再键下面。其中键可以是数字、字符串或元组等不可变数据类型。 字典的用途 字典的名称指出了这种数据结构的用途。日常生活中的字典和Python中的字典都能够轻松的通过单词(键)获…

    Python开发 2023年4月2日
    00
  • 07python列表

    这篇文章主要介绍列表的一些知识。 函数list 首先需要说明的是,列表与元组、字符串一样都是一种序列,但不同的是列表是可变的,即可修改其内容。 因为不能像修改列表那样修改字符串,所以有些情况下使用字符串来创建列表很有帮助,函数list可以用来创建列表。 >>> list(‘hello’) [‘h’, ‘e’, ‘l’, ‘l’, ‘o’] …

    Python开发 2023年4月2日
    00
  • 09python字符串

    在05python字符串基础中我们已经大致介绍过字符串,知道如何创建字符串,以及如何使用索引和切片来访问字符串中的字符。这篇文章主要介绍如何使用字符串来设置其他值的格式(比如便于打印),并大致了解使用字符串方法可完成的重要任务,如拆分、合并和查找等。 字符串基本操作 字符串是一种序列,所以所有的标准序列操作都适用于字符串 索引 切片 乘法 成员资格检查 长度…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部