《笨办法学 python3》系列练习计划——6. 字符串和文本
2018-03-07 14:54
399 查看
额外内容
前几节的练习其实一直在用字符串,python 中使用英文引号表示字符串:print("双引号表示字符串") print('单引号表示字符串') # 使用单引号还是双引号 PEP8 没有特别规定, # 不过似乎有输出字符用双引号的习俗如我们常用的 print() 的内容 # 如何打印有引号的字符串? print('馆主说:"当字符串中已经使用了一种引号时的时候,可以用另一种引号包裹字符串"') # 中英混输时,中文标点经常在个我们捣乱制造一些麻烦和 bug, # 不过不过我们也可以反过来使用中文引号,算不算神 bug 呢? # 为了演示上面还是用了英文引号。 print("""使用三个"时 可以进行多行编辑, 当然三个'是不是也行呢?""") # 注意上面对齐的问题,虽然对齐了代码似乎很好看,但输出就...
Python3 VS. Python2
中文环境说字符串就少不了说说 Python 两大版本间和字符串不得不说的那段故事了。现在的计算机标准都是米国人弄的,也许当年也许没考虑我等二、三世界的国家能用上计算机这种高科技,又或者什么客观原因吧,总之最早的计算机需要把 1 和 0 转化的文字只有一些标点和 26 个英文的大小写。这种翻译编码叫做
ASCII。
后来美帝国主义的魔爪伸向了更多的国家,于是带来了
ASCII这本字典无法容纳更多语言翻译的问题。为了解决问题是就有了各国语言专用字典(中文:GBK、GB18030、GIB5等)、万国字典(如 unicode 及其节约版 utf-8 )等方案。具体介绍廖雪峰老师的介绍更清楚
然后就是重点啦
Python2 默认的字符串是
ASCII编码,使用其他语言会出错,需要在字符串前加
u表示字符串使用
unicode编码,例如
u'python2 中要这样写'。
Python3 注重优雅的 python 社区自然不能让脱裤子这种多此一举不够优雅的事情继续下去,于是在 python3 中默认字符串编辑就变为了
unicode。从此我们再也不用过多担心字符编码带来的各种麻烦了。
OK,进入练习正题。
题目
本题还是字符串的练习,我们将键入大量字符串、变量和格式化字符。另外还将练习使用程序员常用的变量名简写。加分练习
给程序加注释,说明每行代码的作用。找到所有 4 处“字符串包含字符串”的位置。
Zed 可能撒谎,检查是否只有 4 处。
为什么
w和
e用
+连起来就可以生成更长的字符串。
我的答案
6.0 基础练习 + 6.1 注释
# 在变量中使用格式化字符 x = "There are %d types of people." % 10 # 在变量中使用格式化字符,并且格式化其他变量 binary = "binary" do_not = "don't" y = "Those who know %s and those who %s." %(binary, do_not) print(x) print(y) # 利用 %r 格式化格式化字符显示原始字符的引号 # 打印字符串和格式化的变量 print("I said: %r." % x) print("I also said: '%s'." % y) # 这里格式化了一个布尔型变量 False hilarious = False joke_evaluation = "Isn't that joke so funny?! %r" print(joke_evaluation % hilarious) # 下面演示了字符串的拼接打印 w = "This is the left side of..." e = "a string with a right side." print(w + e)
6.2 找到四处“字符串包含字符串”的位置
y = "Those who know %s and those who %s." %(binary, do_not) # 第一、二处 ^ ^ # 第三处 print("I said: %r." % x) # 第四处 print("I also said: '%s'." % y)
6.3 还有其他字符串的迭代引用么?
木有了,其他两处看起来像但不是。因为没有引号,不是字符串:x = "There are %d types of people." % 10 # 这里 10 是数字,不是字符串。如果是 '10' 就是了 hilarious = False joke_evaluation = "Isn't that joke so funny?! %r" # 如同我在注视中所写,这里是 hilarious 是布尔型变量,而非字符串
6.4 为什么字符串可以用 +
连接起来?
馆主我比较笨这种天生的、本来就有的东西我真不知道 why。要说怎么加的到是了解一点。python 的加分运算符
+会尝试把两边的东西加在一起,即便不是数字。
如果两边是字符串,则做拼接也就是
‘a’ + ‘b’等于
'ab'
如果是布尔型,则 False = 0 True = 1 进行运算
列表、元祖则同样做拼接变成一个列表或元祖
但是字典、集合不能用
+拼接或相加
返回目录
《笨办法学 python3》系列练习计划——目录相关文章推荐
- 《笨办法学 python3》系列练习计划——11. 提问 input() 练习
- 《笨办法学 python3》系列练习计划——4. 变量和命名
- 《笨办法学 python3》系列练习计划——5. 格式化字符串
- 《笨办法学 python3》系列练习计划——26.期中考试
- 《笨办法学 python3》系列练习计划——35.分支和函数
- 《笨办法学 python3》系列练习计划——22.总集篇、回忆篇。
- 《笨办法学 python3》系列练习计划——34.访问列表的元素
- 《笨办法学 python3》系列练习计划——9. 打印,打印,打印
- 《笨办法学 python3》系列练习计划——20.函数和文件
- 《笨办法学 python3》系列练习计划——0. 序言、目录
- 《笨办法学 python3》系列练习计划——33.while循环
- 《笨办法学 python3》系列练习计划——19.函数和变量
- 《笨办法学 python3》系列练习计划——1. 第一个程序 print() 练习
- 《笨办法学 python3》系列练习计划——15.读取文件
- 《笨办法学 python3》系列练习计划——27.记住逻辑关系
- 《笨办法学 python3》系列练习计划——30.else 和 if
- 《笨办法学 python3》系列练习计划——37.复习各种符号
- 《笨办法学 python3》系列练习计划——16.读写文件
- 《笨办法学 python3》系列练习计划——17.更多文件操作
- 《笨办法学 python3》系列练习计划——29.如果 if