笨方法学Python之一(原第六)
2016-03-27 14:14
363 查看
原文地址:http://learnpythonthehardway.org/book/ex6.html
本文只是为练习英语与学习Python,非商业用途。
第六章:字符串与文本
即使你曾经写过字符串,但你仍然不知道它做了什么。在这一章,我会创建一系列的复杂变量来让你看看他们到底是什么。
首先,解释一下字符串的含义。字符串通常是一些我们想展示给某人的文本,或者是你所编写的程序的输出。当你在文本的两侧使用 " (双引号)或者 ' (单引号)的时候,Python就知道你把它们当做字符串。
当你把你想要展示的文本用字符串输出时,你会经常看到这种情况:print加上你的字符串。
字符串中可能含有格式控制字符,这一点想必你已经发现了。这个过程很简单,就是把格式控制字符放字符串中,然后加上 %(百分号)字符和变量名。
唯一需要你注意的一点是如果你想在你字符串中加入多个格式控制符来输出多个变量的话,你需要把多个变量放在()小括号内并用 ,逗号隔开。
这就像你在商店买早餐一样,你会说,我想要牛奶,鸡蛋,面包和汤。在Python中也是这样,你告诉它,(milk,eggs,bread,soup)。它就懂你的意思了,哦,他要输出多个变量。
接下来,我会敲出一系列的字符串,变量和格式控制字符,并且用print输出他们。你可能会使用短的简写的变量名,但是程序员会用易懂直观的变量名来节省你在用令人
困惑和难解的变量名的时间。所以,现在开始阅读代码和编写他们吧。
代码:
显示结果:
实战练习:
1.阅读这个程序并且为程序的每一行编写注释来解释该行代码的含义
2.找出在字符串中所有能插入字符串地方。这里有四个地方
3.你确定只有四处?你怎么知道?可能我在说谎
4.解释为什么在字符串 w 和字符串 e 之间添加 + 能产生一个更长的字符串
答疑解惑:
Q: %r 与 %s 有什么不同?
A: 使用 %r 来debug,因为它会显示变量原始的内容,但是 %s 会把内容输出给用户。
Q: 我出现了一个错误,TypeError: not all arguments converted during string formatting.
A: 你需要确保你的每一行代码都跟我一样。这个错误的原因是格式控制符的数量多于你要输出的变量
回去在检查一下你的代码,找出哪个错了。
Q: 为什么你在一些字符串两侧加了单引号,而一些没有加?
A: 这很大程度上决定于格式,我通常会在双引号之间的字符串中用单引号。看一下第十行,我就是这么做的。
以上全文。
看到这是不是眼花缭乱,其实说形式多也不多,只要掌握本质。
就像吴军老师说的,道与术。追求道才是智慧。
对于上面输出可以总结为以下:
字符串(包含%-格式控制符)+%+变量(或常量)
字符串:我不管你是一个还是几个,不管你有没有变量名,你最后结果是包含%-格式控制符字符串就行
变量(或常量):不管你有没有名字,只要与前面对应,多个加括号
字符串+ , +变量名+ ,+变量名+ ,+字符串
其实格式控制符与字符串还可以展开这里先不阐述。
本文只是为练习英语与学习Python,非商业用途。
第六章:字符串与文本
即使你曾经写过字符串,但你仍然不知道它做了什么。在这一章,我会创建一系列的复杂变量来让你看看他们到底是什么。
首先,解释一下字符串的含义。字符串通常是一些我们想展示给某人的文本,或者是你所编写的程序的输出。当你在文本的两侧使用 " (双引号)或者 ' (单引号)的时候,Python就知道你把它们当做字符串。
当你把你想要展示的文本用字符串输出时,你会经常看到这种情况:print加上你的字符串。
字符串中可能含有格式控制字符,这一点想必你已经发现了。这个过程很简单,就是把格式控制字符放字符串中,然后加上 %(百分号)字符和变量名。
唯一需要你注意的一点是如果你想在你字符串中加入多个格式控制符来输出多个变量的话,你需要把多个变量放在()小括号内并用 ,逗号隔开。
这就像你在商店买早餐一样,你会说,我想要牛奶,鸡蛋,面包和汤。在Python中也是这样,你告诉它,(milk,eggs,bread,soup)。它就懂你的意思了,哦,他要输出多个变量。
接下来,我会敲出一系列的字符串,变量和格式控制字符,并且用print输出他们。你可能会使用短的简写的变量名,但是程序员会用易懂直观的变量名来节省你在用令人
困惑和难解的变量名的时间。所以,现在开始阅读代码和编写他们吧。
代码:
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 print "I said: %r." % x print "I also said: '%s'." % y 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
显示结果:
实战练习:
1.阅读这个程序并且为程序的每一行编写注释来解释该行代码的含义
2.找出在字符串中所有能插入字符串地方。这里有四个地方
3.你确定只有四处?你怎么知道?可能我在说谎
4.解释为什么在字符串 w 和字符串 e 之间添加 + 能产生一个更长的字符串
答疑解惑:
Q: %r 与 %s 有什么不同?
A: 使用 %r 来debug,因为它会显示变量原始的内容,但是 %s 会把内容输出给用户。
Q: 我出现了一个错误,TypeError: not all arguments converted during string formatting.
A: 你需要确保你的每一行代码都跟我一样。这个错误的原因是格式控制符的数量多于你要输出的变量
回去在检查一下你的代码,找出哪个错了。
Q: 为什么你在一些字符串两侧加了单引号,而一些没有加?
A: 这很大程度上决定于格式,我通常会在双引号之间的字符串中用单引号。看一下第十行,我就是这么做的。
以上全文。
#coding=UTF-8 print "My name is WY " s1="MY " s2="name is Wy" print s1+s2 age=20; print "My age is %d"%age print "My age is '%d'"%age #原样输出 s3="My age is " s4="%d" print s3+s4%age print s3,age s5='%d' print s3+s5%age a=0 print "AA",age,a,"QQ" print '''Ilike Music''' print "\\" #输入一个\ print r"\\" #输入两个
看到这是不是眼花缭乱,其实说形式多也不多,只要掌握本质。
就像吴军老师说的,道与术。追求道才是智慧。
对于上面输出可以总结为以下:
字符串(包含%-格式控制符)+%+变量(或常量)
字符串:我不管你是一个还是几个,不管你有没有变量名,你最后结果是包含%-格式控制符字符串就行
变量(或常量):不管你有没有名字,只要与前面对应,多个加括号
字符串+ , +变量名+ ,+变量名+ ,+字符串
其实格式控制符与字符串还可以展开这里先不阐述。
相关文章推荐
- python多版本控制管理工具:Pyenv
- Python变量基础知识
- 【Python数据分析】Python模拟登录(一) requests.Session应用
- python3.X并发socketserver模块
- python操作Excel读写(使用xlrd和xlrt)
- python连接mysql
- Python lamda
- Logistic回归模型和Python实现
- [python]“静态”变量:谈类属性和实例属性
- 自动化打包资源混淆集成python实践----打包
- [python]python学习线路
- numpy返回array中元素的index
- python学习之day9
- Windows下安装python问题汇总
- python 把文件中每列的第一个值作为字典中的key键值索引
- Android 上多方式定位元素(python)
- python 程序设计语言 笔记(三)
- python学习(八):面向对象(三)
- 用树莓派 + Python + OpenCV 实现家庭监控和移动目标探测(下)
- Python中threading的join和setDaemon的区别及用法[例子]