半大孩边玩边学编程之—内置函数(2)

上一节我们说了“函数(function)”:一个爆米花机器或或神奇的“加工厂”,输入原材料后进行加工、处理然后便会输出(return返回)一个“产品”。

其实我们上一节教程讲的函数是“自定义函数”——自己写的一个函数,来实现某个功能。还有另外一种函数称为“内置函数”——数量非常多,3.5版本有将近70个内置函数。这些函数我们拿来就用即可。Python里面还要“内置标准模块”,这些模块也随着安装Python的时候一起装在你的电脑里了,这些模块里也有许多有用的函数!当然你不可能记住所有这些函数,但是你应该知道一些常用的。

当你编程的时候想实现一个功能,你应该怎么做呢?下面的Python代码就告诉你如何做了:当你想解决一个问题的时候,首先想想是不是有“内置函数”呢?如果有就使用内置函数;没有内置函数是不是有标准模块可以解决这个问题?如果有就使用标准模块的函数解决问题;如果还没有,那没有办法了,只能自己写自定义的函数解决了(事实上你还可以去论坛看下有没有别人写的第三方模块实现了你想要的功能)。

常用内置函数

能做数学题

·abs():求绝对值

不管是正整数还是负整数,用这个就求出它的绝对值(去掉负号),如abs(-2) = 2

·max():求最大值

它求取一个列表的最大值,如在命令行下输入max([1,2,3,100]),得到结果100

·min():求最小值

它求取一个列表的最小值,如在命令行下输入mix([1,2,3,100]),得到结果1

·divmod():返回两个数的商和余数

参数是2个,比如divmod(100,21)会得到结果(4,,16)——就是100除以21,商是4,余数是16

·sum():求总和

可以求一个数值的列表list的总和,如想计算1+2+...+10的和那就在提示符下输入sum([1,2,3,4,5,6,7,8,9,10]),得到结果55

·round():四舍五入

它的参数是2个,第一个是小数,第二个是“要保留的小数点位数”比如round(1.231,2)得到寄过为1.23

能转换类型

·int():转换为整数型

将字符串表示的数字变成纯的数字,比如“123”(加引号了就是字符串啊),我们在提示符下输入int('123')输出123

·str():转换为字符型

操作和int()函数正好相反:将数字表示成字符串,比如123这个数字,我们在提示符下输入str(123)输出结果为‘123’(注意:两边加个引号了)

·list():转换列表

将一个序列转换成列表,比如list((1,2,3))输出结果[1,2,3];list(range(3))输出[0,1,2];list( 'abcd' )输出结果[ 'a','b','c','d' ]

·bin():转换为二进制

将一个10进制整数转为二进制数,如bin(10)=0b1010。二进制我们已经讲过了“逢二进一”。除了2进制,还有8进制和16进制。相应的将10进制数转为8进制就用函数oct(),如oct(8)=0o10;将10进制数转为16进制就用函数hex(),如hex(17)=0x11。(相关学习:点击《半大孩应知计算机知识》第四节:二进制0和1)

其他的一些操作函数

·help():调用内置的帮助系统

这个太有用了!我们在学习编码的时候看到一个函数不知道是什么意思,怎么用?只要用help()函数就行了,比如我看到了上面说的divmod函数,不知道它什么意思,你就可以在提示符下这么写了:

下面就列出了这个函数的用法:这个函数有两个参数:x和y,"Return the tuple (x//y, x%y)."——返回一个元组(整除后的数,余数)是不是一看就明白了?(当然,前提是你要知道一些英语哦!)

模块及函数

Python的强大体现在“模块自信”上,因为Python不仅有很强大的自有模块(标准库),还有海量的第三方模块(或者包、库),并且很多开发者还在不断贡献着自己开发的新模块(或者包、库)

“Python自带‘电池’”,这种说法流传已久。在Python被安装的时候,就有不少模块也随着安装到本地的计算机上了。这些东西就如同“电力”一样,让Python拥有了无限生机,能够轻而易举地免费使用很多模块。所以称其为“自带电池”。

pprint模块

Pythonl里常用的标准模块有很多,不可能一一介绍,这里给先给大家介绍两个标准库模块:pprint和calenar。pprint模块能够“漂亮的打印列表、元组及字典等”,使打印在屏幕上的东西让人们看起来顺眼、舒服。

·pprint模块用法·

pprint模块实现的“漂亮的打印”——从上面例子看就是使字典的内容由原来的一行显示变成了多行显示,每一行显示一个“键-值对”,这样人们查找起来就很舒服了(相关学习:点击《半大孩应知计算机知识》:什么是字典)。

calendar模块

Python里的calendar模块显示处理与“日历相关”的内容:这个模块里有很多函数实现计算、显示日历等功能。下面我们编程设计一个小程序给你的父母长辈展示下:计算机提示你输入任何哪一年和哪一个月,计算机就显示出那个月的日历。

程序代码1:

import calendar

print("显示某年某月的日历")

yy = int(input("Enter Year(想看哪一年请输入): "))

mm = int(input("Enter month(想看哪一月请输入): "))

print(calendar.month(yy,mm))

将上面的代码键入一个新的文件里并保存为rili.py这个文件名,然后按F5执行程序,它会依次让你输入年份和月份,然后就显示出日历了,是不是很酷!

程序运行结果

向你的朋友们展示下这个程序,当然你可以输入任何年份,10000年是不行的,9999年是可以的,当然你乱输入的话,比如13月就会报错了,因为根本没有13月。当然你可以把整个一年的日历都显示出来(比如2018年全年),按下面的方法做(这里面就用上了上面说的pprint模块实现漂亮的输出):

程序代码2:

>>>import calendar

>>>import pprint

>>>pprint.pprint(calendar.calendar(2018))

上面的程序不用新建文件,直接在IDLE的提示符下输入即可。我们不光引入了calendar模块,还引入了pprint模块,注意最后一行代码:显示了调用这两个模块里的函数的方法:“模块名.函数名”,第一个calendar是模块名,第二个calendar是函数名,python程序都是这种玩法哦,输出结果如下:

由于采用了pprint模块的pprint函数,所以输出漂亮顺眼好多,如果不用pprint函数呢,你当然可以自己尝试下,最后一行代码直接输入“calendar.calendar(2018)”,你就能对比出来用了pprint后的好处了。

喜欢这篇文章的人也喜欢 · · · · · ·

▶ 《半大孩边玩边编程(python版)之(六)》-乌龟拉线

▶ 《半大孩边玩边编程(python版)之(七)-乌龟又作画

▶ 《半大孩边玩边编程(python版)之(十一)-while循环

▶ 《半大孩边玩边编程(python版)之(十二)-用while循环让乌龟画画

转载请留言|获得授权方可转载

本平台所使用的图片归相关权利人所有,因客观原因造成不当使用请随时与本平台联系,以协商授权事宜

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

扫码关注云+社区

领取腾讯云代金券