justdbmore 发表于 2020-3-1 17:54:54

020 看不懂\n到底是个啥

str1 = '''拷贝过来的字符串'''
list1 = []
for each in str1:
    if each not in list1:
       if each == '\n':   
            print('\\n', str1.count(each))
      else:
            print(each, str1.count(each))
      list1.append(each)


想问\n到底是什么意思啊,如果\n是换行符的话,这里的用法就不是很懂……
希望有鱼友能精讲一下标色的那几行的意思,非常感谢!

qiuyouzhi 发表于 2020-3-1 17:56:40

因为要打印\n的话,就要用反斜杠(\n)来转义,
否则你是打印不出'\n'的!

zltzlt 发表于 2020-3-1 18:03:37

如果 each 为 '\n',则打印换行符在字符串中出现的次数以及 '\\n'(显示效果为 \n,如下:)

>>> print("\\n")
\n

jackz007 发表于 2020-3-1 18:11:05

本帖最后由 jackz007 于 2020-3-1 18:13 编辑

      '\' 是转义符,在 Python 语言中具有特殊的意义,有些不可见字符需要借用转义字符来表达,比如,'\t' 代表 TAB 键,'\n' 代表换行,'\r' 代表回车符等等,正是由于这个原因,'\' 字符本身也必须通过转义来进行表达,表达方式是 '\\'。
      当一个字符是 '\n' 的时候,打印出来会什么都看不见,这个时候,需要把它打印成 '\n' 表示是一个换行符,而 '\' 字符需要用 '\\' 来表达,于是,就要写成 '\\n'了。
str1 = '''拷贝过来的字符串'''
list1 = []
for each in str1:
    if each not in list1:             # 如果在 list1 中没有发现字符 each
       c = each                     # 新增变量 c 专门用于保存打印字符
       if each == '\n':               # 如果需要打印的是换行符
            c = '\\n'               # 那就把它替换成替代字符串
       print(c , str1 . count(each))# 打印字符 c 及其在 str1 中的计数
       list1 . append(each)         # 在列表 list1 中登记字符 each,以避免被重复统计       

justdbmore 发表于 2020-3-1 19:03:00

jackz007 发表于 2020-3-1 18:11
'\' 是转义符,在 Python 语言中具有特殊的意义,有些不可见字符需要借用转义字符来表达,比如,'\ ...

太狠了吧!这回答!太牛了吧!太狠了兄弟!

jackz007 发表于 2020-3-1 19:21:04

justdbmore 发表于 2020-3-1 19:03
太狠了吧!这回答!太牛了吧!太狠了兄弟!

       楼主,"太狠了" 是什么意思,是在赞扬吗?

justdbmore 发表于 2020-3-1 20:44:06

jackz007 发表于 2020-3-1 19:21
楼主,"太狠了" 是什么意思,是在赞扬吗?

啊,对,太狠了 > 太强了 ,意思就是狠人,非常厉害的意思 ,年轻人用得多,咳咳哈哈哈哈哈哈哈
页: [1]
查看完整版本: 020 看不懂\n到底是个啥