Python中的单引号双引号三引号

Posted helloyolo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的单引号双引号三引号相关的知识,希望对你有一定的参考价值。

在Python中,引号内的内容都是字符串类型的。而引号又有单引号、双引号、三引号,具体的用法以及注意点如下:

一、单引号、双引号交叉使用

        单引号和双引号都是用来表示字符串,在一般情况下两者没有任何差别,下面两句输出的结果都是 今天天气真好!

message1='今天天气真好!'
message2="今天天气真好!"

print(message1)
print(message2)

        单引号双引号可以相互内嵌。

message1='江江说:"今天天气真好!"'
message2="江江说:'今天天气真好!'"

print(message1)
print(message2)
#结果

江江说:"今天天气真好!"
江江说:'今天天气真好!'

        要注意的是,字符串本身就已经带着单引号或者双引号了,这个情况下如果内嵌部分还用与外层一样的符号就会报错。因为python在读取字符串时会读取第一个引号闭环,这样就导致后面的部分的无法读取为字符串从而引发报错,例如:

message1='江江说:'今天天气真好!''
print(message1)

  

         这里中间的  今天天气真好  部分就没有被读取。

        

        面对这种情况的话,有两种解决方法。

        (1)在引号前添加转译符\\ ,将内部引号读成字符串内部格式而不是读成python自认的字符串标识。

message1='江江说:\\'今天天气真好!\\''
print(message1)

        (2)将引号样式分开,用双引号内嵌单引号的形式来表示字符串,这样python会把整个双引号的内容读成一个字符串,而忽略里面的单引号的作用。

message1='江江说:"今天天气真好!"'
print(message1)

二、三引号的用法

三引号有以下两种用法:

        (1)最常见的就是进行注释,可以对单行文本进行注释,也可以对多行文本进行注释。

        (2)可以将文本格式保留之后再进行输出。

text='''
        将进酒·君不见
                唐  李白 
君不见,黄河之水天上来,奔流到海不复回。
君不见,高堂明镜悲白发,朝如青丝暮成雪。
人生得意须尽欢,莫使金樽空对月。
天生我材必有用,千金散尽还复来。
烹羊宰牛且为乐,会须一饮三百杯。
岑夫子,丹丘生,将进酒,杯莫停。
与君歌一曲,请君为我倾耳听。
钟鼓馔玉不足贵,但愿长醉不愿醒。
古来圣贤皆寂寞,惟有饮者留其名。
陈王昔时宴平乐,斗酒十千恣欢谑。
主人何为言少钱,径须沽取对君酌。
五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。
'''

print(text)

结果:

 

python脚本入参的单、双引号

参考技术A Linux的shell中存在一些特殊字符(保留字),我们将这些具有一些特殊功能的字符叫做meta(元字符),还有一些普通的,没有特殊功能的字符我们叫做literal(文字)。bash中,常使用的引用有如下三种方法:

    1、单引号:单引号中的所有meta均被当作普通字符使用。

    2、双引号:在双引号中的大部分meta都被当作普通字符,但某些字符的功能保留(如$)。

    3、反斜线:只有紧接在反斜线(跳脱字符)之后的单一meta才被当作普通字符。

Windows的cmd下,同样也有类似的概念。单引号和双引号有时候没有区别(可以使用任意一个),有时候只能用特定的一个。

这篇文章主要记录python脚本入参带有&&符号时,在Linux和Windows平台的不同表现。

编写python脚本quote.py,内容如下:

$ cat quote.py

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import sys

print(sys.argv[1])

1、参数不使用引号

$ python quote.py whoami&&whoami

whoami

sunday

可以看出,第一个whoami被当作入参传给脚本,第二个whoami当作bash命令,在终端执行。

2、参数使用单引号

$ python quote.py 'whoami&&whoami'

whoami&&whoami

可以看出,&&被当作普通字符,whoami&&whoami作为参数传给了脚本。

3、参数使用双引号

$ python quote.py "whoami&&whoami"

whoami&&whoami

可以看出,&&被当作普通字符,whoami&&whoami作为参数传给了脚本。

在Windows执行脚本,用户为winsunday:

1、参数不使用引号

C:\test>python quote.py whoami&&whoami

whoami

winsunday

可以看出,第一个whoami被当作入参传给脚本,第二个whoami当作CMD命令,在终端执行。

2、参数使用单引号

C:\test>python quote.py 'whoami&&whoami'

'whoami

'whoami'' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

可以看出,单引号被当作普通字符,&&对命令进行了分割,'whoami作为第一个参数被传给脚本;whoami'被认为是一个命令进行执行(报错了)。

3、参数使用双引号

C:\test>python quote.py "whoami&&whoami"

whoami&&whoami

可以看出,双引号时&&被当作普通字符,whoami&&whoami作为整体被传给脚本。

以上是关于Python中的单引号双引号三引号的主要内容,如果未能解决你的问题,请参考以下文章

python中的单引号,双引号和三双引号的区别

python里的单引号和双引号有啥区别

python中单引号双引号和三引号的区别

python中如何输出引号

Python中的单引号与双引号[关闭]

Python练习