前言
虽然是搞IT类工作的,但是工作中比较少涉及到编程,偶尔因为数据分析或者运维的需要会写一些SQL语句或者脚本,却没有正正经经地完整学个编程语言。虽然老早就想学学python搞个爬虫,去网上抓些漂亮小姐姐的照片了,却一直没有腾出手来。现在趁着疫情比较闲,决定开始打卡学习。下面就是我的每日打卡心得,请大家监督,与大家一起共勉。
Python的一个重要特色就是拥有在各种各样丰富的模块,通过调用其中的函数就可以实现很多功能。今天看到两个涉及模块功能调用的例子,学习的过程中产生了一些困惑,最后搞明白了,可能很多初学者也都会有,特此记录备查。
先谈下对于“模块”我的理解。一个完整的程序,我们可以把它理解成乐高搭起来的机器人,构成这个机器人功能的各个乐高部件,可以理解成“函数”,而模块就是就是装着这些乐高积木的,每个模块是不同的,就好像各种不一样的桶,桶里面装着或多或少的积木块(函数)。
我现在就用python标准库的一个模块来举例。这个模块名字叫OS,作用是跟操作系统进行交换。例子里面我们要调用模块里面的函数getcwd,用途是返回你的当前工作目录信息。
写法一:
写法二:
两种写法都可以,最后都能得出同样准确的结果。
写法一 是 import....., 意思就是导入整个OS模块,就好比你把某个装乐高积木的桶整个拿过来了。但是你实际上只是想用桶里面的其中一个功能的积木,在python里面它需要你每次在使用这个积木必须提到是那个桶,就像这样“【蓝色桶】里面的【L型积木】”,在例子语句里面的表现就是【OS】.【getcwd】。(注:【】只是为了突出,不是正常语句的部分)。
写法二 是from...... import ...... ,意思就是从OS模块中只导入getcwd函数,就好比你自从某个桶里面拿过来了你所需要的部分,并没有把相关的桶整个提过来。这种方式下,python不需要你每次在使用这个函数时,还需要挂上模块前缀,直接使用函数就行,就像例子中表现的那样【getcwd】。
至于,这两种写法有什么优缺点。因为我也是刚开始第一天,所以还不能说出真正的所以然来。有一点猜测就是,导入整个模块会占用更多的内存,直接导入函数可能更省运行空间吧。
我就是那个在科技领域特别垂直的小米6钉子户-挨踢栋哥。希望我的文章对您有所帮助。有什么问题,大家可以在评论里面留言,我会及时回复大家。谢谢您来过。有什么不足之处,敬请斧正。