|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 shinemic 于 2017-8-9 22:33 编辑
意思是说, 比如 a = 2, 首先将 2 放在内存某处, 然后这个 a 充当标识符链接到这个内存地址? 莫非 Python 里面的字符串相当于在 C 里面的字符串常量, 被存储在内存静态区? 这么高深的问题, 还是留在以后慢慢解开吧!
这一节介绍了点字符串的概念, 而且单引号、双引号均可:
- >>> fishstr = "I love fishC!"
- >>> fishstr_singlequote = 'I love fishC!'
- >>> print(fishstr)
- I love fishC!
- >>> print(fishstr_singlequote)
- I love fishC!
复制代码 那么问题来了, 如果字符串里面有单引号或者双引号呢?
第一想法是转义, 这几乎在很多编程语言里面是通用的概念:
- >>> print('I love jiayu\'s fishC!')
- I love jiayu's fishC!
- >>> print("I love jiayu's fishC!")
- I love jiayu's fishC!
- >>> print("I love jiayu's "fishC"!")
- I love jiayu's "fishC"!
复制代码 查阅资料, 发现这种「交替」使用单、双引号的方法也可:- >>> print('"'"test"'"')
- "test"
- >>> print("'"'test'"'")
- 'test'
复制代码 其实这只是利用了一个小 trick:- >>> print("I love " "fishC")
- I love fishC
复制代码 类似于 C 里面的 printf, Python 中的 print 也可以自动实现「拼接」输出.
当然, 还可以有「原样」(raw) 输出:
- >>> print(r"C:\Program Files\KuaiBo")
- C:\Program Files\KuaiBo
复制代码 因为 \ 一般是要转义的, 这样一来就免去了麻烦, 不过问题又来了, 如果字符串最后一个字符是 \ 呢?
- >>> print(r"C:\Program Files\KuaiBo")
- File "<stdin>", line 1
- print(r"C:\Program Files\KuaiBo")
- ^
- SyntaxError: EOL while scanning string literal
复制代码 这特么就尴尬了 更缺德的是小甲鱼还卖了个关子, 预知后事如何, 请听下回分解! 想了下, 既然可以拼接, 那么就拆成两步...
- >>> print(r"C:\Program Files\KuaiBo""\")
- C:\Program Files\KuaiBo\
复制代码 不知算不算 nice 的解决方案, 不过至少可以解决...
最后, 有个三引号的东西:- >>> print("""
- ... In sleep he sang to me
- ... In dreams he came
- ... That voice which calls to me
- ... And speaks my name
- ... And do I dream again
- ... For now I find
- ... The Phantom of the Opera is there
- ... Inside my mind
- ... """)
- In sleep he sang to me
- In dreams he came
- That voice which calls to me
- And speaks my name
- And do I dream again
- For now I find
- The Phantom of the Opera is there
- Inside my mind
- >>>
复制代码 这里有几点:
- 如上述输出结果所示, 字符串部分从 """ 或者 ''' 之后就开始了, 也就是说, 如果刚输完 """ 就敲了回车, 那么字符串里面的第一个字符就是回车符 '\n'
- 一对三引号中可以输入任意字符, 都会被忠实记录
|
评分
-
查看全部评分
|