鱼C论坛

 找回密码
 立即注册
查看: 1801|回复: 0

[技术交流] 「零基础入门学习Python」学习笔记 - 003 - 变量、字符串初步

[复制链接]
发表于 2017-8-9 20:53:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 shinemic 于 2017-8-9 22:33 编辑
Python 更像把名字贴在值的上边
Python 没有「变量」, 只有「名字」

意思是说, 比如 a = 2, 首先将 2 放在内存某处, 然后这个 a 充当标识符链接到这个内存地址? 莫非 Python 里面的字符串相当于在 C 里面的字符串常量, 被存储在内存静态区? 这么高深的问题, 还是留在以后慢慢解开吧!

这一节介绍了点字符串的概念, 而且单引号、双引号均可:
  1. >>> fishstr = "I love fishC!"
  2. >>> fishstr_singlequote = 'I love fishC!'
  3. >>> print(fishstr)
  4. I love fishC!
  5. >>> print(fishstr_singlequote)
  6. I love fishC!
复制代码
那么问题来了, 如果字符串里面有单引号或者双引号呢?
第一想法是转义, 这几乎在很多编程语言里面是通用的概念:
  1. >>> print('I love jiayu\'s fishC!')
  2. I love jiayu's fishC!
  3. >>> print("I love jiayu's fishC!")
  4. I love jiayu's fishC!
  5. >>> print("I love jiayu's "fishC"!")
  6. I love jiayu's "fishC"!
复制代码
查阅资料, 发现这种「交替」使用单、双引号的方法也可:
  1. >>> print('"'"test"'"')
  2. "test"
  3. >>> print("'"'test'"'")
  4. 'test'
复制代码
其实这只是利用了一个小 trick:
  1. >>> print("I love " "fishC")
  2. I love fishC
复制代码
类似于 C 里面的 printf, Python 中的 print 也可以自动实现「拼接」输出.
当然, 还可以有「原样」(raw) 输出:
  1. >>> print(r"C:\Program Files\KuaiBo")
  2. C:\Program Files\KuaiBo
复制代码
因为 \ 一般是要转义的, 这样一来就免去了麻烦, 不过问题又来了, 如果字符串最后一个字符是 \ 呢?
  1. >>> print(r"C:\Program Files\KuaiBo")
  2.   File "<stdin>", line 1
  3.     print(r"C:\Program Files\KuaiBo")
  4.                                      ^
  5. SyntaxError: EOL while scanning string literal
复制代码
这特么就尴尬了 更缺德的是小甲鱼还卖了个关子, 预知后事如何, 请听下回分解! 想了下, 既然可以拼接, 那么就拆成两步...
  1. >>> print(r"C:\Program Files\KuaiBo""\")
  2. C:\Program Files\KuaiBo\
复制代码
不知算不算 nice 的解决方案, 不过至少可以解决...
最后, 有个三引号的东西:
  1. >>> print("""
  2. ...     In sleep he sang to me
  3. ...     In dreams he came
  4. ...     That voice which calls to me
  5. ...     And speaks my name
  6. ...     And do I dream again
  7. ...     For now I find
  8. ...     The Phantom of the Opera is there
  9. ...     Inside my mind
  10. ... """)

  11.     In sleep he sang to me
  12.     In dreams he came
  13.     That voice which calls to me
  14.     And speaks my name
  15.     And do I dream again
  16.     For now I find
  17.     The Phantom of the Opera is there
  18.     Inside my mind

  19. >>>
复制代码
这里有几点:
  • 如上述输出结果所示, 字符串部分从 """ 或者 ''' 之后就开始了, 也就是说, 如果刚输完 """ 就敲了回车, 那么字符串里面的第一个字符就是回车符 '\n'
  • 一对三引号中可以输入任意字符, 都会被忠实记录

评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-8 19:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表