我是靠谱客的博主 着急蜗牛,最近开发中收集的这篇文章主要介绍python模块的导入以及使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们已经知道定义一次函数而重用代码。如果你想要在其他程
序中重用很多函数,那么你该如何编写程序呢?答案是使用模块。

编写模块有各种各样的方法,但最简单的方法就是创建以 .py 为扩展名的文件,在文件中包含函数和变量。

在Python中有一个概念叫做模块(module),比如要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块。

说的通俗点:模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块(即想用包,先导包。).

import

在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入。

形如: import module1,mudule2
当解释器遇到import语句,如果模块在当前的搜索路径就会被导入。

在调用math模块中的函数时,必须这样引用:

模块名.函数名

sqrt(4)
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)

<ipython-input-2-317e033d29d5> in <module>
----> 1 sqrt(4)
NameError: name 'sqrt' is not defined
import math
math.cos(10) #    -0.8390715290764524
math.sqrt(4) #    2.0

问:为什么必须加上模块名调用呢?

答:因为可能存在这样一种情况:在多个模块中含有相同名称的函数,此时如果只是通过函数名来调用,解释器无法知道到底要调用哪个函数。所以如果像上述这样引入模块的时候,调用函数必须加上模块名

 import math
 #这样会报错
 print (sqrt(2))
 #这样才能正确输出结果
 print (math.sqrt(2))

from 模块名 import 函数名1,函数名2…

有时候我们只需要用到模块中的某个函数,只需要引入该函数即可,此时可以用下面方法实现:

from 模块名 import 函数名1,函数名2
不仅可以引入函数,还可以引入一些全局变量、类等

注意:通过这种方式引入的时候,调用函数时只能给出函数名,不能给出模块名,但是当两个模块中含有相同名称函数的时候,后面一次引入会覆盖前一次引入。也就是说假如模块A中有函数function( ),在模块B中也有函数function( ),如果引入A中的function在先、B中的function在后,那么当调用function函数的时候,是去执行模块B中的function函数。
如果想一次性引入math中所有的东西,还可以通过from math import *来实现

from math import sin # 导入一个函数
sin(10)
from math import cos, tan, sqrt # 一次性导入多个函数
cos(10) #-0.8390715290764524
tan(10)

from math import * # 一次性导入所有函数
floor(3.7) #3
ceil(3.7)  #4

from datetime import datetime
datetime.now()
t = datetime.now()
print(t) #以时间格式打印 2020-05-24 17:41:02.336405
t.year
t.month #    5
datetime.timestamp(t) # 1590313262.336405

as

把模块名称进行简写, 输入起来比较方便一些

import math as m
m.sin(10)

打印模块中的全部属性和函数

import math
print(dir(math))
import datetime
print(dir(datetime))

import calendar
print(dir(datetime))
print(calendar.month(2020, 5))#看2020年5月的日历
print(calendar.calendar(2019)) #查看2019年的日历
calendar.isleap(2020) #判断是否是闰年
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time', 'timedelta', 'timezone', 'tzinfo']
['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time', 'timedelta', 'timezone', 'tzinfo']
      May 2020
Mo Tu We Th Fr Sa Su
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
cal = calendar.month(2011, 11)
print(cal)
calendar.setfirstweekday(calendar.SUNDAY) #默认返回0:星期一
print(cal)

   November 2011
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

   November 2011
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

最后

以上就是着急蜗牛为你收集整理的python模块的导入以及使用的全部内容,希望文章能够帮你解决python模块的导入以及使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部