Python学习_7

这里我们介绍模块。在我看来,模块是和函数类似的东西,可以把模块当成许多函数的组合体,用import导入后,就可以使用模块中的函数。我们在前面文章用到的random模块,就是一个很好的例子。

Python之所以会这么火,一方面是它对0基础并且想学编程语言的人很友好,另一方面就是它有很多模块,许多人写汇聚而成,人工智能、网络爬虫、人脸识别、大数据分析等等许多的应用都要通过导入不同模块,调用一些函数来实现的。

当然,模块不计其数,我们不可能一个个都学会,我们只要学会怎么调用,怎么导入,怎么看懂别人写的函数是干嘛的就行了。

模块

我们安装Python时,Python的配置文件也会安装,安装好之后也将Python自带的库也安装好了,这些库也叫做Python的内置模块(就是不需再去下载,python自带)
对于模块我们需要知道的大概也就这些:
在这里插入图片描述

模块的学习

模块有大有小,想random这类模块就是小模块,可以自己在网上找找资料充实自己的知识储备,而像数据分析用到的pandas和NumPy,以及网页开发用到的Django等等这些模块,最好找个教程(免费当然更好)系统性的学习一下,避免散乱的学习形不成知识体系。

csv模块(示例学习)

Python最近出了很火的自动办公,这里我们可以学习Python的csv模块,来体验一下

这里也给出中文教程的网址:
https://yiyibooks.cn/xx/python_352/library/csv.html#module-csv

这里我们会用到open函数,打开计算机中的文件。我们简单示范一下简单输出。

我们自己在D盘根目录下,创建一个excel文档,输入一些东西,然后把文件后缀名改为csv(csv可以当作简易的excel)
在这里插入图片描述

import csv
with open('D:/test.csv', newline='')  as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)
print('读取完毕!')

若出现乱码,可以把open()那句改成open('D:/test.csv', newline='', encoding='utf-8') as f: ,下面是输出的效果
在这里插入图片描述
好了,上面示范的是输出,下面输入我们就简单提一下,一样的道理(这里用到了文件写入,所以要了解open()函数更多参数如下图)
在这里插入图片描述
在这里插入图片描述
这里我们就不示范了,可以自己试试。

模块的相关语句

在这里插入图片描述
还有from ... import ... as ...语句,eg:from math import pi as PI,as后面是别名,这样在后面的程序中就可以用PI代替math模块中的pi这个常量了。

内置模块

这里我们再简单介绍下内置模块。
Python中常见内置模块有

  1. os模块:(文件和目录)用于提供系统级别的操作;
  2. sys模块:用于提供对解释器相关的操作;
  3. json模块:处理JSON字符串;
  4. logging模块:用于便捷记录日志且线程安全的模块;
  5. time&datetime模块:时间相关的操作,时间有三种表示方式;
  6. hashlib模块:用于加密相关操作,代替了md5模块,主要是提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法;
  7. random模块:提供随机数,在前面文章的例子中出现过random模块中的randint()函数。

常用内置函数

内置模块中也有很多使用方便的内置函数

dir()函数

dir()函数可以输出模块中的所有模块、函数和变量。

import math
print(dir(math))

输出是这个['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc'],太长了我就复制下来了
其中的__name__是指向模块的名字,__file__是指向该模块的导入文件名。

globals()和locals()函数

这两个函数可被用来返回全局和局部命名空间里的名字。若函数内部调用globals(),返回的就是所有在该函数里能够访问的全局名字。如果在函数内部调用locals(),返回的是能够在该函数里访问的局部命名。globals()和locals()两个函数都是以字典的形式返回,所以可以通过keys()等函数摘取。

def Max(a, b):
    if a > b:
        return a
    else:
        print(locals())
        return b

def Min(m, n):
    if m < n:
        print(globals())
        return m
    else:
        return n

a = Min(1, 2)
b = Max(1, 4)
print()
print(globals())
print(locals())

我们来看输出的结果,因为太长就展示部分了。第二行显示的是Max()函数中的locals()函数返回的值,是Max()函数里能够调用的局部变量;
在这里插入图片描述
第一行是Min()函数里面的globals()返回值,我们往后滑(前面我们看不懂是啥),可以看到Min()函数能调用的全局变量有Min()和Max(),没有m和n(局部变量),这段代码可以辅助理解这两个函数的意义。

下面两行是在函数外调用globals()和locals()函数的,可以自己理解一下。
在这里插入图片描述

reload()函数

当一个模块导入到一个脚本中后,程序只会将模块顶层部分的代码执行一次。所以我们如果想再次执行模块顶层部分代码,可以用reload()函数。(也就是重新导入一遍)

使用的格式为reload(模块名),比如重新导入math模块reload(math)

小结

模块主要的要了解怎么学习模块、怎么运用模块就可以了,像后面说的内置模块和内置函数了解就可以了,自己感觉不常用。

这里也说一下,怎么安装其他的库(模块)
window+R(或Start+R)调出运行窗口,输入cmd,回车进入,用cd命令到python安装的Scripts文件夹
在这里插入图片描述
在这里插入图片描述
然后输入pip install requests(这里以requests模块为例子,其他模块把install后面的词换掉就好了)
若出现下载的东西,最后看到了successful就表示安装成功,就可以在pycharm中import导入了,不然python会报错。
在这里插入图片描述
但是,如果出现了Fatal error in launcher:这样的报错,该如何解决?这里我们再说下方法
在这里插入图片描述
找到安装python的程序,双击运行,选择第二个repair
在这里插入图片描述
等他好就可以了
在这里插入图片描述
然后再来试试,就可以了。这里我遇到了很多问题。更多的错误情况的处理我另外放在一个文章来说。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值