前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习_第1张图片

随着前面阿法尔go打败了围棋大师,让人工智能、机器学习大火了一把,然后学习人工智能和机器学习前提也需要掌握一定的Python知识点,那么学习这些前,我们究竟应该先掌握哪些Python知识点呢?

第一阶段:python基础

python基本数据结构

1、list: a[1,2,3]

2、tuple: a(1,2,3) 一旦初始化,就不能改变内容

3、dict:{‘a’:1,‘b’:2,‘c’:3} key:value (dict中的key值不能改变)

4、set: a([1,2,3]) (初始化的时候,传入的是list,set中的key也不能重复,set可以看做是数学意义上的无序和无重复元素的集合)

python的for循环

1)for … in 的循环,一次把list或者tuple中的元素迭代出来

2)for x in …的循环,把每个元素带入变量x中进行计算

python的函数参数

默认参数:

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习

必选参数在前,默认参数在后。且默认参数必须指向不变对象(不能是list)

2)可变参数:(传入的参数的个数是可变的)

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习

3)关键字参数:

python的列表生成式

python的列表生成式有点过于强大,能够花式生成各种符合要求的列表,包括全排列,if判断都行。由于内容有点多,这里直接贴一个链接python的列表生成式。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

这里还有一个生成器的概念,现在并不是很懂,还是先把链接放这里,以后用到了看不懂再回过头来看这个。

生成器

python的函数

1)高阶函数:python当中的函数也可以复制给变量

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习

如果一个函数以函数为参变量,那么这个函数称为高阶函数

python当中的map和reduce,还有filter

这两个都是高阶函数,接受两个参数,第一个参数是函数变量,第二个参数是一个list。

map(f,nums)意思是将函数f作用于nums这个list中的每一个元素

reduce(f,nums)的作用类似于归约

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习_第2张图片

同为高阶函数的sorted

sorted要单独拿出来说,因为它的输入和前面所描述的输入正好相反

sorted(nums,func),sorted可以对list直接排序,但是默认升序,我们可以自定义排序函数来实现sorted函数的任意排序功能

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习_第3张图片

将函数作为返回值实现python闭包

这里也没太弄明白用处在哪里,先贴链接,以后遇到了回过头来再看

python闭包

python中的正则表达式

python中的正则表达式lamda也叫做匿名函数

[图片上传失败…(image-fc0493-1629341095228)]

使用匿名函数的好处是因为匿名函数没有名字,不用担心函数名产生的冲突问题

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习_第4张图片

python模块概念

当python文件被当作为模块被其他模块引用时,并不会直接执行test函数,if判断将失败。因此这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习_第5张图片

2)python,实现函数和变量的私有保护,可以通过_前缀来实现

,_前缀表示该变量/函数为此模块私有,其他模块并不应该访问(不应该访问并不能代表不能访问)

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习_第6张图片

在主函数中调用

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习

同样是可以调用的,单数从编程习惯上来说不应该引用private函数

python中的面向对象编程

和普通函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且调用时不用传递该参数。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习_第7张图片

python多进程和多线程

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习_第8张图片

也可以用multiprocessing来创建子进程

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习_第9张图片

创建子进程的时候,只需要传入一个执行函数和函数的参数,创建一个process实例,用start方法启动,这样创建进程比fork还要简单,join()方法可以等待子进程结束后在继续往下运行,通常用于进程间的同步。

多线程VS多进程

多进程:最大的优点就是稳定性高,因为一个子进程崩溃了,不会影响主进程和其他子进程。缺点就是,在windows环境下,创建多个进程开销巨大。

多线程:通常比多进程快一点,但是也块不到哪里去。多线程模型下,任一个线程崩溃都会导致整个程序崩溃,因为所有线程共享进程的内存。

在线程和进程中,应当优选process,因为process更稳定,而且process可以分布到多台机器上,而thread最多只能分布到同一台机器的多个cpu上。

python当中的正则表达式(re模块)

这部分内容涉及到python中独特而又强大的字符串匹配机制,内容比较复杂和庞大,先留个坑

正则表达式

python基础大概就记了这些笔记,当然python编程是很强大的,分布式和网络编程包括python爬虫等都相当强大。

前辈说先学会了这些Python知识点,再谈学习人工智能、机器学习_第10张图片

你可能感兴趣的:(数据分析,python,爬虫,python,java,编程语言,大数据,人工智能)