您的位置:首页 > 编程语言

编程学习第四天,更多的打印,以及初步的输入

2016-03-07 22:18 232 查看
好的!今天来到了编程学习的第四天,说起来一边看斗鱼直播一边学习,我是有多重的孤独症?但是对于自己这样反而觉得负担不是很重,可以轻松点学习了。

那么今天的习题应该是继续打印,还是练习为主,心得为辅吧。

习题8:打印,打印

习题9:打印,打印,打印

习题8运用了%r,观察到%r对于字符串输出是用单引号,即使我定义字符串是用双引号。另外假如在格式化字符串内输入了格式化字符,如果我直接输出该字符串,而没有定义应该替换的字符串,那么输出的就直接是该格式化字符串的内容,

比如:

formatter = "%r %r %r %r"

print formatter

直接输出了"%r %r %r %r"

或者

print formatter2 % (formatter, formatter, formatter, formatter)

那么就是:'%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r'

四次输出,另外注意各个字符串之间的空格。

习题9则运用了两个新东西:\n , """三个双引号

\n是转义字符,转换之后的意思是换行,昨天的学习中有一个博客已经提到了,这里再发一遍:

python格式化字符串和转义字符

三引号则是用来输入多行文本的,在三引号之间的文本会被原样保留,但是转义字符和格式化字符串也会正常输出,好处是可以替换一些多行的文本,也就是代替\n的用途了。

另外如果用%r来输出转义字符,那么就将直接输出\n这种字符,因为%r是用来debug的,他打印出来的是我们写出来的方式(或近似方式)。

本节习题是两种多行输出的方式,用\n或者"""三引号都可以。

习题10那是什么?

本节学习了在字符串中输出"引号,当我们正常输出类似"abc is "abc."",Python会认为"abc."前后双引号是字符串的边界,从而把字符串弄错,那么正确的方法有两种,一种是把要输出的双引号写成\",也就是转义字符“\”加上",另一种是"""三引号包围。

另外值得注意的是三引号并非全是双引号,单引号也一样,跟定义字符串一样,都是风格问题,另外在Python里是这样,但在另外的语言里双引号和单引号所指可能会有不同。

习题11提问

终于结束了输出的学习部分,本节开始学习输入了。

一般软件做的事情主要是下面几条:

1.接收人的输入。

2.改变输入。

3.打印出改变了的输入。

那么本节学习的是raw_input()的应用,加分练习中提到了去网上搜一下raw_input()的用法,下面将我搜到的用法总结一下:

该函数的作用是读取控制台的输入,有两种函数可以实现输入:raw_input()、input(),input()实际上还是raw_input()来实现的,只是调用完raw_input()后再调用eval()函数,所以我们可以将表达式作为input()的参数,它会计算表达式的值并返回。

两者的用法:

两者都可以在括号内写上需要在输入前显示的字符,例如:

raw_input = raw_input("please input your name:")

回车后就会显示:

please input your name:

然后就可以进行输入了,input()用法同样。

也可以不在括号内写上字符串,那就直接进入输入功能。

两者的不同:

input()调用了eval()函数,因此input()函数希望能读取到合法的Python表达式,比如我们需要输入字符串时,就必须用引号将其包围。

另外input输入的值,使用type()获取类型时,类型即为输入的类型,字符串就是str,数值型就是int或其他,而raw_input()则将输入的所有值转化为str类型,比如输入了一串数字,最后获取类型仍然为str。

个人觉得input()函数对于输入类型有严格限制,在需要确定类型时很好用,而raw_input()对输入类型没有严格限制,所有输出全都是str类型,在不规范的环境下,比如我们做练习的时候,可以有更广泛的应用。

关于两者的扩展阅读:python中input和raw_input用法及区别

raw_input() 与 input() __ Python

在常见问题回答部分提到了:input()会将输入的东西当作Python代码进行处理(也就是eval()函数的作用),因此会产生安全问题,所以应该避开这个函数,如果想转换raw_input(),那么我们可能需要用int(raw_input())这样的方法将输入的字符转换为int或其他需要的类型。

所以为了安全性,还是使用raw_input()最好。

还有代码风格问题一处:在Python代码中,一行不要超过80个字符,这样代码不至于太凌乱,我想本身在所有编程风格里,一行代码太长都是很丑的代码,这样的程序可读性太差,并不是一件好事。

那么今天就到这了。。仍然是四个习题,用了两个多小时吧,我觉得每天这样挺好,只是觉得有点慢,心略急,听说本书后面跳跃性特别强,特别是46题左右开始,那很可能出现前半部分学习的非常平稳,后面的难度和学习收获呈现上升趋势,那么我们就稍微的期待一下吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: