首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从0学习写bug(四)

今天继续~

习题6:字符串(string)和文本

以前咱们已经写过几节课的代码了,其中涉及变量字符串啥的,但是还不明白用处,这节主要是用复杂的字符来简历一系列变量。

首先解释一下字符串,这个以前提到过,就是你想要从程序里“导出”的一小段字符。Python 可以通过文本里的双引号" 或者单引号 ' 识别出字符串来,单引号不用按shif,输入快,但是如果字符串里有相同的字符时要使用\进行转义,同时字符串可以包含格式化字符%s,如果想要在字符串中通过格式化字符放入多个变量的时候,则需要将变量放到()圆括号中,而且变量之间用,逗号隔开。具体可以看前面几篇。

本节的代码如下:

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)

输出结果如下:

There are 10 types of people.

Those who know binary andthose who don't.

I said:'There are 10 types ofpeople.'.

I also said:'Those who knowbinary and those who don't.'.

Isn't that joke so funny?!False

This is the left side of...astring with a right side.

我们也注意到了前面出现了“%s”和“%d”,这两个的区别详细介绍一下,就是%r用rper()方法处理对象,%s用str()方法处理对象,下面举个栗子:

例一:

print ("I am %d yearsold." % 22)

print ("I am %s yearsold." % 22)

print ("I am %r yearsold." % 22)

结果是:

I am 22 years old.

I am 22 years old.

I am 22 years old.

Emmmm…没啥不一样,这是因为都是处理的int型对象。

例二:

text = "I am %d yearsold." % 22

print ("I said: %s."% text)

print ("I said: %r."% text)

输出结果是:

I said: I am 22 years old..

I said: 'I am 22 years old.'.

这次的结果不一样了,%r给第二个的字符串加了单引号。

例三:

import datetime

print ("%s" %d)

print ("%r" %d)

结果是:

2019-02-20

datetime.date(2019, 2, 20)

从上面几个例子可以看出来%r打印时能够重现它所代表的对象,也就是rper()方法应该尽可能的表示出一个对象来源的类以及继承关系,方便程序员们了解这个对象。而str()方法就简单的表示对象,而不要让不懂编程的以为输出的是 bug。

下面看加分习题:

1)在每一行上写一行注释;

2)找到所有“把一个字符串放进另一个字符串”的位置。共有四处;

3)解释一下为什么w和e用+连起来就可以生成一个更长的字符串。

答案:

1)每行加注释我懒就不加了,介绍一个东西,关于第二行的,就是Python中的数值类型(Numeric Types)共有5种:布尔型(bool)、整型(int)、长整型(long)、浮点型(float)和复数(complex)。布尔型数据只有两个取值:True和False,分别对应整型的1和0。

2)四处,第四、七、八行。

3)字符串相加就是简单的将两个字符串连接到一起合成一个字符串。举个栗子:

A="fan"

B="xian"

C="sheng"

D=A+B+C

print(D)

结果就是:

Fanxiansheng

下面进入闲聊时间,今天被一篇文章刷屏了:大江大河40年:改变命运的七次机遇。就是2018年有个电视剧叫《大江大河》火了,口碑爆棚,讲三个贫穷青年考大学、办窑厂、卖馒头、做生意等,一路从底层拾级而上的奋斗历程。以前还有人给我安利,忘了是哪位小姐姐了。这篇文章呢讲到的七次机遇分别是:高考归来、乡镇企业、双轨生意、九二下海、资源巨潮、楼市疯狂、网络红利。很正能量主旋律,看的热血沸腾的。但是仔细想想,就算让你每个机遇出现的时代都转悠一遍又能抓住几个,哪怕抓住一个。身处其中的大多数人还是会浑然不知,后知后觉的都不一定多。改变命运的机遇都是要回过头来看才能总结出来的,人被裹挟在当时的时代洪流中并不能清晰地看到。

所以写过去的机遇是什么意图

告诉我们当下的呀

机遇的门槛越来越高

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190220G1D9FW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券