教女朋友学Python(4)——算

来源:互联网 发布:网络销售靠谱吗 编辑:程序博客网 时间:2024/04/19 16:02
我本来不会Python,一边学一边试图以最简单方式来解释编程和Python,让各位理工男可以拿去教自己的女朋友。

上回说到,妹子们要经常换老公。所以用了一个叫变量的东西来存老公的名字、照片的数量等:

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好用,很大程度上在于他提供了特别多内建函数,但是,再多的内建函数,也不可能穷尽所有人的需求呀,所以一定有办法自建函数,下期,我们就来讨论自建函数。

欢迎关注我的微信公众号获取最新文章:


0 0
原创粉丝点击