小火木 发表于 2016-3-8 01:14:29

print函数输出字符串时,单引号去哪了

>>> a='1'
>>> a
'1'
>>> print(a)
1
>>>

打印的结果为什么把‘’吞了?
我要调用a输出‘1’,怎么弄?

bigpao 发表于 2016-3-8 12:56:38

print函数只返回结果,‘’只是代表字符串的类型,并不是结果。
单凭一个1,可以是整型的,也可以是字符串型的。只有加上‘1’才能说明是字符串。
你要打印‘1’
print('\''+a+'\'')

VVFock3r 发表于 2016-3-8 03:36:05

In : a = "'1'"

In : b = '"1"'

In : print(a,b)
'1' "1"

小火木 发表于 2016-3-8 08:03:31

VVFock3r 发表于 2016-3-8 03:36


这样做的话,我直接用
a=“‘1’”不就行了吗?
我想问a=str(1),这样的函数返回值,输出时怎么保留引号,不是把输出对象改变了而达到打印的效果。
还有就是为什么引号没了呀?为啥?

仙人掌的花go 发表于 2016-3-8 08:24:02

这个加上了单引号之后就不在数字了,而是字符串,如果你想把把他变成有单引号的可以这样
>>> a='\'1\''
>>> print a
'1'我的版本是2.7的

shuofxz 发表于 2016-3-8 09:19:48

你直接查看a的值的时候python为了表明这是一个字符串所以加上了单引号
但print的时候它就把它本来是什么给打印出来了

小火木 发表于 2016-3-8 12:20:20

shuofxz 发表于 2016-3-8 09:19
你直接查看a的值的时候python为了表明这是一个字符串所以加上了单引号
但print的时候它就把它本来是什么给 ...

那这个
a=‘1’,中‘ ’表示这个是字符串,而不是将‘1’这三个字符赋值给a?

shuofxz 发表于 2016-3-8 12:47:12

小火木 发表于 2016-3-8 12:20
那这个
a=‘1’,中‘ ’表示这个是字符串,而不是将‘1’这三个字符赋值给a?

对,''是表示字符串
比如看下面这个例子,用len()求字符串的长度

小火木 发表于 2016-3-8 18:13:16

谢谢各位的回答,7楼,8楼解答了我的问题

doudou_freefish 发表于 2016-3-9 11:10:37

[/{:10_279:}学到了~

wangguohui 发表于 2016-3-10 10:11:01

bigpao 发表于 2016-3-8 12:56
print函数只返回结果,‘’只是代表字符串的类型,并不是结果。
单凭一个1,可以是整型的,也可以是字符串 ...

学习了

imqyq 发表于 2016-3-11 13:16:05

>>> print(repr(a))
'1'
>>>

嘎嘣脆的小僵尸 发表于 2020-8-7 21:34:04

这个解释蛮好的,可以看看
Python中str()与repr()函数的区别:
作者:叶俊贤
链接:https://www.jianshu.com/p/2a41315ca47e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
页: [1]
查看完整版本: print函数输出字符串时,单引号去哪了