上回说到,妹子们要经常换老公。所以用了一个叫变量的东西来存老公的名字、照片的数量等:
name="胡歌"first=1count=28现在我们要把他们替换到url中相应的地方。想想在数学上的变量,x = 1,y=2,z = 1+2,现在要把1和2分别换成x和y,那是很简单的,就是z=x+y。但是问题来了,x和y都是我们上期说的整数,他们之间是可以加的。但是,url是一个字符串类型,怎么办呢,还有其他类型的变量之间的操作,又该怎么办呢?且听我慢慢道来。
上期说到,基本变量类型有五种:整型(int)、浮点型(float)、字符串(str)、布尔型(bool)、空值(None),我们分情况来说。
整型(int)
int就是整数,加减乘除余不解释。
浮点型(float)
float就是小数,也不解释。
嗯,其实我还是会解释的:
有没有发现奇怪的地方?为什么4.5-3.7是0.7999999999999998而不是0.8,4.5*3.7是16.650000000000002而不是16.65。这主要是有限长度的二进制没法精确表达浮点数导致的,解释起来比较复杂,实际上这个情况出现的不多,误差也比较小,大部分时候对计算结果影响可以忽略。有兴趣了解具体原因的同学请在微信公众号回复关键字“float”获取。
字符串(str)
字符串的操作比较多,这里暂时只讲一个我们要用到的,就是字符串的拼接。字符串的拼接用加号(+)。比如:
str1 = "我是一个"str2 = "兵"str3 = str1 + str2那么str3是什么呢?有一点要记住,字符串不能用减号
布尔型(bool)
布尔型只有两个值,True和False,运算符也只有三个not,and,or。还记得集合与或非的同学们就不用我讲了,一看就明白。不记得我也不讲了,因为两个值三个运算符,排列组合下来的情况也就那么几种,在演示里面看的比较清楚。
演示:
空值(None)
空值也可以参与运算?是的,不信你看:
不过实际上很少直接拿None这么运算,所以这里只是拿出来让同学们看看,空值,他也是可以参与运算的。
看完上面数据类型的运算,是不是已经不记得我们要干什么了,我来提醒一下,要把name,first,count替换到url里面的相应的地方去。url是字符串,字符串的拼接用什么?加号!
所以:url = "http://cn.bing.com/images/search?q=" + name + "&first=" + first +"&count=" + count来验证一下:
可惜,出错了,错误信息:TypeError: Can't convert 'int' object to str implicitly。数据类型错误,不能将int类型的对象隐式转换成str类型。现在是不是想起来了,name是str类型,这么加进去,是没有问题的。但是first和count都是int类型,要想和str类型拼接,得先把他们转换成str类型,而且错误提示我们了,隐式转换(就是啥都不干让系统自己去转)是不行的。毛主席教导我们说,喜欢就表白,不行就强X。软的不行,就来硬的,上强制转换。int强制转换成str怎么办?用str()
看出来num和numStr的区别了吧!
str()是一个函数,那么函数是什么呢?
数学里面是f(x)=3x + 111,那如果a=f(4),那么a的值是多少呢。现在我们用的函数numStr = str(num),形式上是不是跟数学上的函数一模一样!只不过,这里的str()这个函数,python已经给我们定义好了,我们只需要调用就可以了。
这样python已经给我们准备好的函数,叫内建函数BIF(built-in functions)。要查看python里面所有的BIF,使用dir(__builtins__),注意前后各有两个下划线。dir()也是一个内建函数哟。我用的python版本一共提供了152个内建函数,我怎么知道的?反正我不是一个个数的。
看到了吗,len也是一个内置函数,用来量长度。量什么的长度呢,请用help(len)看len的帮助文档。
请同学们自己去探索一下每个内建函数是做什么的,怎么用吧。
看到这,是不是又一次忘了,我们是要干什么的?对了,是为了方便换老公的。知道了str()函数可以将int类型转换成str类型,我们的url就可以改成这样啦。
url = "http://cn.bing.com/images/search?q=" + name + "&first=" + str(first) +"&count=" + str(count)
来,测试一下:
这次对了吧。
为了抓老公,经过两期的努力,我们已经写了四行代码了,可是要是软件一关,就什么都没留下,怎么办呢?我们可以新建一个扩展名是py的文件。
然后将我们的代码写在新建的这个文件里面
看到了吧,在Visual Studio Code里面,不同部分的代码有不同的颜色,比我们在终端管理器里面好看多了。而且看gif图里面,我在粘贴完url后前面留了一个空格,我把他删掉了,这不是强迫症,是一定要删掉的,在python里面是靠缩进来识别逻辑层次的。
现在我们运行代码。
注意在运行之前先用了一个内建函数exit(),退出了python的交互式环境,所谓交互式嘛,就是我输入一句代码,就可以让他显示一句代码,用于测试,要运行整个py文件只需要python命令后面加py文件名就可以了,一次运行完文件里的所有代码,就不跟他交互了。
但是,我们发现运行了代码文件,什么效果都没有,为什么?因为我们的代码什么都没干,我们定义了变量name、first、count、url,就只是定义了而已。如果同学们想看url,在代码后面加一行PRint(url),保存后再运行一次,url的值就可以显示出来了。print()又是一个内建函数,用于将某个对象打印在屏幕上。
这期我们说了运算符和内建函数,还使用了str、print、len、dir、help等内建函数。python好用,很大程度上在于他提供了特别多内建函数,但是,再多的内建函数,也不可能穷尽所有人的需求呀,所以一定有办法自建函数,下期,我们就来讨论自建函数。
欢迎关注我的微信公众号获取最新文章:
新闻热点
疑难解答