字符串文字中的特殊字符
Special Characters in string literals
我正在 Python 中制作一组以容纳我键盘上的所有符号,但显然有一些会带来一些问题。有没有什么办法可以把它们都放进去而不会遇到问题?
这是我的设置:
symbols = {`,~,!,@,#,$,%,^,&,*,(,),_,-,+,=,{,[,},},|,\,:,;,",',<,,,>,.,?,/}
为了绕开注释掉大部分内容,因为在 Python #
中是要注释,所以我把所有内容都这样封闭起来:
symbols = {'`','~','!','@','#','$','%','^','&','*','(',')','_','-','+','=','{','[','}','}','|','\',':',';','"',''','<',',','>','.','?','/'}
这对那个角色有效,但现在当我遇到 '
和 \
时,我已经看到了一个问题。有没有更好的制作方法?
您可以通过转义来修复反斜杠,'
可以通过将其放在双引号中来修复:
symbols = {..., '\', ... "'", ...}
但是输入所有这些内容非常乏味。为什么不直接使用 string.punctuation
来代替:
>>> from string import punctuation
>>> set(punctuation)
{'~', ':', "'", '+', '[', '\', '@', '^', '{', '%', '(', '-', '"', '*', '|', ',', '&', '<', '`', '}', '.', '_', '=', ']', '!', '>', ';', '?', '#', '$', ')', '/'}
>>>
我宁愿将它们全部放在三引号中,就像这样。它会忽略任何特殊字符:
`''' `,~,!,@,#,$,%,^,&,*,(,),_,-,+,=,{,[,},},|,\,:,;,",',<,,,>,.,?,/'''`
我正在 Python 中制作一组以容纳我键盘上的所有符号,但显然有一些会带来一些问题。有没有什么办法可以把它们都放进去而不会遇到问题?
这是我的设置:
symbols = {`,~,!,@,#,$,%,^,&,*,(,),_,-,+,=,{,[,},},|,\,:,;,",',<,,,>,.,?,/}
为了绕开注释掉大部分内容,因为在 Python #
中是要注释,所以我把所有内容都这样封闭起来:
symbols = {'`','~','!','@','#','$','%','^','&','*','(',')','_','-','+','=','{','[','}','}','|','\',':',';','"',''','<',',','>','.','?','/'}
这对那个角色有效,但现在当我遇到 '
和 \
时,我已经看到了一个问题。有没有更好的制作方法?
您可以通过转义来修复反斜杠,'
可以通过将其放在双引号中来修复:
symbols = {..., '\', ... "'", ...}
但是输入所有这些内容非常乏味。为什么不直接使用 string.punctuation
来代替:
>>> from string import punctuation
>>> set(punctuation)
{'~', ':', "'", '+', '[', '\', '@', '^', '{', '%', '(', '-', '"', '*', '|', ',', '&', '<', '`', '}', '.', '_', '=', ']', '!', '>', ';', '?', '#', '$', ')', '/'}
>>>
我宁愿将它们全部放在三引号中,就像这样。它会忽略任何特殊字符:
`''' `,~,!,@,#,$,%,^,&,*,(,),_,-,+,=,{,[,},},|,\,:,;,",',<,,,>,.,?,/'''`