一个新手的Python自学之旅 #MacBook #《“笨办法”学Python》#第七章:字符串、文本、各种打印、转义序列、手动输入raw_input()

第七章预告:字符串、文本、各种打印、转义序列、手动输入raw_input()

------------------------------------<习题6:字符串和文本>---------------------------------------

在这里还时有必要详细介绍一下字符串以及和格式化字符之间的应用:

字符串:通常是指需要展示给别人的或者是想要从程序里“导出”的一小段字符,吧啦吧啦吧啦吧啦,是不是觉得挺拗口的,不如举个例子来的实在。

在ex1.py的这段代码print "hello world!"中,双引号括住的 hello world! 就是字符串。

格式化字符串的各种应用:参考ex6.py

 1 # -*-coding:utf-8-*-
 2
 3 # 第一种:直接用%d
 4 x = ‘There are %d types of people‘ % 10
 5
 6 #第二种:用%s来将变量转换成字符串
 7
 8 # 定义binary
 9 binary = ‘binary‘
10 # 定义do_not
11 do_not = "don‘t"
12 # 定义y的意思(把变量转换成字符串)
13 y = ‘Those who know %s and those who %s.‘ % (binary, do_not)
14
15 # 输出x
16 print x
17 # 输出y
18 print y
19
20 #第三种:用%s和%r来将变量转换成字符串,该变量也适用%s和%r来定义的
21 # 输出 我说过了x (把变量转换成字符串)
22 print ‘I said: %r.‘ % x
23 # 输出 我说过了y (把变量转换成字符串)
24 print "I also said: ‘%s‘." % y
25
26 # 定义hilarious
27 hilarious = False
28 # 用含有格式转换符的字符串定义joke_evaluation
29 joke_evaluation = "Isn‘t that joke so funny?! %r"
30
31 # 输出一个含有转换符的变量
32 print joke_evaluation % hilarious
33
34 # 定义W和e
35 w = ‘This is the left side of ...‘
36 e = ‘a string with a right side.‘
37
38 # 输出 w+e
39 print w+e

ex6.py

终端运行结果如下:

求助!求助!求助!求助!:%r用来做调试比较好,因为它会显示变量的原始数据(raw data),而%s和其它的转换符号则是用来向用户显示输出的!谁读完这句话后能够不迷糊????

来个实例解释一下,我还没有完全理解。大概意思是%r会尽可能的展示变量原始的模样(函数、公式、字符串等等),而%s会将变量的最终结果展示出来,例如变量是一个调取日期的函数,%s直接可以输出结果,而%r会将函数也输出出来。

见ex6_1.py代码:<借鉴博客园用户stellafan>

 1 #-*-coding:utf-8-*-
 2
 3 # %r和%s的区别
 4
 5 # 有些情况下,两者处理的结果是一样的,比如处理int型对象
 6 print "1, I am %d years old" % 22
 7 print "2, I am %s years old" % 22
 8 print "3, I am %r years old" % 22
 9 print "-"*20
10
11
12 # 不同情况之一
13 text = "I am %d years old." % 22
14 print "4, I said: %s." % text
15 print "5, I said: %r." % text # %r打印输出时能够重现它代表的对象,这里输出结果给字符串加上单引号
16 print "-"*20
17
18 #不同情况之二
19 import datetime
20 d = datetime.date.today()
21 print "%s" % d
22 print "%r" % d
23 print "-"*20

ex6_1.py

终端运行结果如下:

------------------------------------<习题7&8&9:更多打印>---------------------------------------

这两个习题只是展示了打印的几种其它方式,我只贴上代码,大家可自行研究:

 1 print "Mary had a little lamb."
 2 print "Its fleece was white as %s." % ‘snow‘
 3 print "And everywhere that Mary went."
 4 print "." * 10 # print 10 points
 5
 6 end1 = "c"
 7 end2 = "h"
 8 end3 = "e"
 9 end4 = "e"
10 end5 = "s"
11 end6 = "e"
12 end7 = "B"
13 end8 = "u"
14 end9 = "r"
15 end10 = "g"
16 end11 = "e"
17 end12 = "r"
18
19 # watch that comma at the end. try removing it to see what happens
20 print end1 + end2 + end3 + end4 + end5 + end6,
21 print end7 + end8 + end9 + end10 + end11 + end12

ex7.py

 1 # -*-coding:utf-8-*-
 2 formatter = "%r %r %r %r" # 用"%r %r %r %r"试试,字符串中的格式转换符之间不需要逗号
 3
 4 print formatter % (1, 2, 3, 4) #1,2,3,4 不需要用引号
 5 print formatter % ("one", "two", "three", "four") # 必须用引号
 6 print formatter % (True, False, False, True) #27习题中会介绍True和False的功能,不能用引号,因为引号使其变成字符串,而不是特殊意义的关键字
 7 print formatter % (formatter, formatter, formatter, formatter)
 8 print formatter %(
 9       "I had this thing.",
10       "That you could type up right.",
11       "But it didn‘t sing.",
12       "So I said goodnight."
13 )

ex8.py

终端运行结果如下:

------------------------------------<习题10:转义序列>---------------------------------------

这个习题中,总共列举了15个转义序列,但是总共就涉及到不到八个。下面是我在Evernote做的笔记: 

有些人可能会问,对于换行符,响铃符等有具体功能的转义符号,还能理解,但是为什么会有 \\, \", \‘呢? 其实我也不是特别理解,但是我遇到过一个情况,就是需要输入多个单引号时,python会误以为是字符串的标示符号。所以为了让python知道我仅仅是想输出一个单引号,就用\‘即可。

还有,\a真的会响的,代码里有一个会响一次,有两个就会响两次!参考ex10.py代码。

ex10.py代码如下:

 1 # -*-coding:utf-8-*-
 2 tabby_cat = "\tI‘m tabbed in."
 3 persian_cat = "I‘m split/non a line."
 4 backslash_cat = "I‘m \\ a \\ cat ."
 5
 6 fat_cat = """
 7  \bI‘ll do a list:
 8 \t* Cat food \a
 9 \t* Fishies \a \a \a
10 \t* Catnip\n\t* Grass \a\ooo
11 """
12 # \v垂直制表符,\t水平制表符
13 # \a是响铃符,运行时会发出响铃的声音
14 # \b是退格符,运行时命令行会向前退一格
15
16 print tabby_cat
17 print persian_cat
18 print backslash_cat
19 print fat_cat

ex10..py

终端运行结果如下:

------------------------------------<习题11&12:raw_input()>---------------------------------------

讲真的,这个习题在一定程度上调动了我继续学下去的兴趣。我相信大家每天都会在网站、App、游戏等中,根据系统的提示,输入一些信息,可能是用户名、密码、电话号码等等,raw_input()就是起到这个作用。当python运行到这个命令时,python会提醒你输入一些信息。

鉴于这个习题的命令,需要本人输入才能体会到,我就不在这里插入终端运行结果了。

其实它非常的简单,但是需要你亲手运行一下ex11.py和ex12.py才能感受得到。代码如下:

 1 print "How old are you?",
 2 age = raw_input()
 3 print "How tall are you?",
 4 height = raw_input()
 5 print "How much do you weight?",
 6 weight = raw_input()
 7
 8 print "so, you‘re %r old, %r tall and %r heavy." % ( age, height, weight)
 9
10
11 # Differences between input() and raw_input()
12 print "How old are you?",
13 age = input()
14 print "How tall are you?",
15 height = input()
16 print "How much do you weight?",
17 weight = input()
18
19 print "so, you‘re %r old, %r tall and %r heavy." % ( age, height, weight)

ex11.py

raw_input()命令在运行时,我们可以在括号内写一些提示,可以提示用户需要输入哪些方面的信息。例如ex11_1.py

1 # print "What‘s her name?",
2 name = raw_input("name?")
3 print "How many years you have known her?", # 这个逗号,可以让你输入的信息,紧接着这个问题,而不是换行。。
4 yars = raw_input("Years?")
5 print "Is she beautiful?",
6 answer = raw_input("yes or no?")
7 print "Do you like her or not?",
8 answer = raw_input("yes or no?")

ex11_1.py

raw_input()、int(raw_input())、input()的区别: 解释见ex11_2.py代码

 1 #-*-coding:utf-8-*-
 2
 3 print ‘x‘,
 4 x = int(raw_input())  #只能输入数字, 否者会报错终止脚本运行
 5
 6 print ‘y‘,
 7 y = raw_input() #既能输入数字,也能输入字符
 8
 9 print ‘z‘,
10 name = ‘Neymagico‘
11 z = input() #既能输入数字,也能输入字符, 但是字符被python认为是个变量,需要对其定义
12             #如果输入未定义的字符,会报错

ex11_2.py

这一章就写到这吧,因为下一章是关于参数、解包和变量相关的代码,我本人也不是特别熟,想多用些篇幅再学一遍!

今天是父亲节,我用raw_input()写一段小代码,表达一下对父亲的感恩之情!

 1 from sys import exit
 2
 3
 4 print "Please write the words which you want to say to your father in his day!"
 5 grate = []
 6
 7 def respect():
 8
 9
10
11     words = raw_input()
12
13     if words != ‘stop‘:
14
15         grate.append(words)
16         print grate
17         respect()
18
19     else:
20         quit("ok, That‘s all to my father")
21
22 def quit(why):
23     print why
24     exit(0)
25
26 respect()  

Father‘s day

祝全天下的父亲节日快乐!!!!!!!

第八章预告:参数、解包和变量、提示和传递、读取文件、读写文件

原文地址:https://www.cnblogs.com/la-route-d-ingenieur/p/11032434.html

时间: 2024-08-10 15:08:15

一个新手的Python自学之旅 #MacBook #《“笨办法”学Python》#第七章:字符串、文本、各种打印、转义序列、手动输入raw_input()的相关文章

一个新手的Python自学之旅 #MacBook #《“笨办法”学Python》#第三章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门

第三章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门 以后我都会将<“笨办法”学Python>简称为“这本书” 本人用了近5年的MacBook,但在此之前,从未使用过电脑自带的“终端Terminal”(图标:).在非程序员的世界里,建立和删除文件夹或文件,都是:鼠标右键点新建/删除,这是UI带来的便利.但是,却不知道如何利用命令行实现这些操作. 首先,要掌握几个我们平时常用,但在代码界有另外名称的名词:目录.路径.打印. --目录:我们认为它是这样的:标题:第一章:第

Python自学之旅 #新手#MacBook #《“笨办法”学Python》#第六章:常用的简易Python命令、符号、代码、格式化字符串

第六章:常用的简易Python命令.符号.代码.字符串 <“笨办法”学Python>这本书中,确实用了较多篇幅来介绍Python的一些常用简单的命令.符号.代码和字符串等,对于像我这样的自学新手,真的是非常棒,因为它们可以帮我建立接着学下去的信心和兴趣.但我在这个系列的博客当中,不打算写的这么精细,首先因为这不符合我写博的初衷和习惯,其次因为我不打算靠这写书来挣钱,最后因为我确实没有那个实力去挖掘简单东西中更深奥复杂的应用.所以,我写的这个博客,只适合像我这样的自学新手,如果想要成为大神,还是

这本Python入门畅销书《“笨办法”学python 3》,不仅仅是一本书

此前,小编分享过一篇文章<跟着数百万人编程导师学C语言!>,介绍的是泽德 A. 肖大神的新书<"笨办法"学C语言>很多用户在后台留言,<"笨办法"学Python 3>什么时候出版?今天这本书终于在六月初与大家见面啦,与作者其他的图书风格一样,<"笨办法"学Python 3>也不仅仅是一本书,随书附赠5个多小时充满激情的视频,这是一套完整的Python语言视频课程! 纯正的美式发音,中文字幕,边看边练

一个新手的Python自学之旅 #MacBook #《“笨办法”学Python》#第四章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门之较复杂的命令

第四章:言归正传讲Python:Mac系统的终端Terminal命令行快速入门之"较复杂的命令" 在写第三章的时候,发现自己已经忘记了好多命令.其实我并没有按照Zed A.Shaw的提示,将这些命令做成小卡片,然后每天去记忆.可能源于我的目的并非是为了掌握并精研Python,我写博客并不是单纯为了分享自己的学习经验.而是希望自己能够通过学习python和写博客的形式,让自己以后养成这样的学习和记录习惯,有助于以后技能的掌握和积累.Python起到抛砖引玉的作用. 闲话少说,下面开始介绍

运维新手们,别再问需不需要学PYTHON了!!!

经常有人在群里问,运维人员需不需要学开发?需不需要学PYTHON?PYTHON和SHELL有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲,求求新手们,以后别他妈瞎问了.现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试.优化开发人开发的程序,开发人员有的时候很少关注性能的问题,这些问题就得运维人员来做,一个业务上线了,导致CPU使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用

30薪的高级Python开发者告诉你,为什么要学Python!

能用到Python 的地方非常多.无论是从入门级小白到专业级的大佬,数据挖掘.科学计算.图像处理.人工智能,Python 都可以胜任. 或许是因为这种万能属性,现在有很多的小伙伴都开始学习 Python. 而现在 Python 的火爆已经来到了程序员的圈子外,进入了×××<新一代人工智能发展规划的通知>里. Python 也已经走进了小学生的课程里,其实不是小学生,为了你自己的发展前景,或许我才是最该学 Python 的人. 1.Python都被用在哪儿? 自Python由Guido van

Python语言和标准库(第七章:文本处理)

7.1文本处理的用途 总的来说,文本处理背后的全部思想是找到目标文本.当然,有的情况下数据以结构化的方式组织,这就是所谓的数据库.然而有些数据资源包含的信息完全不是有序和规整的,例如成百上千的文件的目录结构.当需要查找这种类型的数据或者以某种方式处理它们,文本处理就非常实用.也可以同RDBMS(关系数据库管理系统)结合起来查找. 文本处理领域的两个主要的工具是目录导航和一种称为正则表达式的神奇技术. 目录导航:是一个不同的操作系统真正给简单的程序带来大量麻烦的领域,因为三个主要的操作系统的家族都

Python重要文献参考_摘自从零开始学Python

开发相关网站: stackoverflow.com --在这里可以提问,可以查看答案.一般如果有问题,先在这里查找,多能找到非常满意的结果,至少有很大启发:在某国有时候有些地方可能不能访问,需要科学上网.好东西,一定不会让你轻易得到,也不会让任何人都得到. Python 中的 staticmethod 和 classmethod 的差异(题名). 原载: http://pythoncentral.io/difference-between-staticmethod-and-classmethod

9岁玩转Python,11岁创作游戏,学python从娃娃抓起!!!

近日,一份上海幼升小孩子的简历,吸引了不少关注."比不过一个五岁小孩",成为了网友评论中的一大热门关键句.而在河南省漯河市,也有一位05后"程序员",在别人还在学习拼音时,他已经开始玩转Python,在11岁时独立创作了一款小游戏.他是怎么学习的?又是如何走上编程之路的? 学编程从娃娃抓起,11岁用Pyhton创作游戏 我们都知道Python容易学,但是就是不知道如何去学,去×××资料,机器学习,人工智能,深度学习,都在这学习,小编推荐一个学习平台 欢迎加入pyth