李宏毅-人工智能2017笔记8.HW0


HW0 Q1 矩阵运算

image-20220123111952475

image-20220123112030038

Q1-code

image-20220125102735474

详析

  • 使用 with open() as 读写文件

? 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符'r'表示读,这样,我们就成功地打开了一个文件,如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存。

? 由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来实现,但每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法。

? 代码呈现如下:
try: f = open('/path/', 'r') print(f.read()) finally: if f: f.close()

等价于

with open('/path/to/file', 'r') as f: print(f.read())

  • lines.read().split(',')

    数据中遇到‘,’,就读取。Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。

  • map函数

    Python中的map函数是很简单的。意为将第二个参数(一般是数组)中的每一个项,处理为第一个参数的类型

  • list函数

    list()函数是Python的内置函数。它可以将任何可迭代数据转换为列表类型,并返回转换后的列表。当参数为空时,list函数可以创建一个空列表。

  • readlines()

    作为列表返回文件中的所有行,其中每一行都是列表对象中的一项。

  • strip()

    删除字符串中开头、结尾处的字符

  • np.sort()

    np.sort()函数的作用是对给定的数组的元素进行排序
    a:需要排序的数组
    axis:指定按什么排序,默认axis = 1 按行排序, axis = 0 按列排序

    行排列举例

    img

    列排列举例

    在这里插入图片描述

本例中无sort()的结果

image-20220125102549983

本例中有sort()的结果

image-20220125102649047

  • np.savetxt("ans_one.txt",C,fmt="%d")

    第一个参数可以指定保存的路径以及文件名,注意指定的文件路径必须存在,它不会为你新建新的文件,会报错。

    第二个参数为需要存的数组(一维或者二维)

    第三个fmt表明指定保存的文件内容格式

HW0 Q2 图片处理

image-20220123112135013

image-20220123112323710

Q2-code

image-20220125104810724

详析

  • PIL

    PIL,全称 Python Imaging Library,是 Python 平台一个功能非常强大而且简单易用的图像处理库。但是 PIL 仅支持到Python 2.7,现在我们可以通过安装 Pillow 来使用 PIL。

  • getpixel()

    getpixel()函数是用来获取图像中某一点的像素的RGB颜色值,getpixel的参数是一个像素点的坐标。对于图象的不同的模式,getpixel函数返回的值不同。

  • putpixel()

    putpixel()修改x,y处的像素。对于单波段图像,颜色作为单个数值给出;对于multi-band图像,颜色作为元组给出