第十四讲 密码安全性问题
16. symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''17. chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
18. nums = '0123456789'
在这个里面 为什么只有symbols后面要加r''' ''',而chars和nums后面直接跟的是字符串
? 可不可以将symbols的r''' '''去掉呢? 不可以!
symbols后面要加r''' '''是为了给symbols里面的/转义 wuqramy 发表于 2020-5-15 17:01
不可以!
symbols后面要加r''' '''是为了给symbols里面的/转义
那可不可以给chars和nums后面也加上r''' '''呢?什么时候需要转义呢? shawncaoo 发表于 2020-5-15 17:04
那可不可以给chars和nums后面也加上r''' '''呢?什么时候需要转义呢?
给chars和nums加了也不会报错(没必要加)
在字符串中存在\的都尽量加一下
末尾有\的不能加r,要用字符串拼接去加上那个\ wuqramy 发表于 2020-5-15 17:06
给chars和nums加了也不会报错(没必要加)
在字符串中存在\的都尽量加一下
末尾有\的不能加r,要用字符 ...
好的谢谢你!还有一个问题就是r后面一定要接3个'''引号么?我在网上搜了一下见有的是r'' '',这方面不是太明白{:10_243:} shawncaoo 发表于 2020-5-15 17:11
好的谢谢你!还有一个问题就是r后面一定要接3个'''引号么?我在网上搜了一下见有的是r'' '',这方面不是 ...
不一定要
3个引号只是指它是一个长字符串 wuqramy 发表于 2020-5-15 17:14
不一定要
3个引号只是指它是一个长字符串
谢谢! 本帖最后由 txxcat 于 2020-5-15 17:22 编辑
字符串前面加r或者R是定义原始字符串,作用恰恰是禁止'\'的转义功能而恢复为普通字符串,经常用在windows系统路径字符串前面。既然是用在字符串前面,那么无论单引号、双引号还是三引号,都是可以用的。
三引号由三个半角单引号组成,是超长字符串的标记,你可以在里面任意回车换行,想写多少写多少,很多代码开头的注释就用三引号,比#好看。这里用三引号是因为字符串里面有单引号和双引号。
txxcat 发表于 2020-5-15 17:21
字符串前面加r或者R是定义原始字符串,作用恰恰是禁止'\'的转义功能而恢复为普通字符串,经常用在windo ...
谢谢解答,你这么解释我更明白了{:10_297:}
页:
[1]