在学习完Python的基础知识之后,有很多朋友为自己接下来要干什么感到迷茫。不知道应该通过什么样的项目来锻炼自己编程水平和思维能力。接下来我就给大家说几个适合Python的新手项目和练手项目,Python练手项目有哪些 跟我往下看。以下是小编为你整理的自学python教程
Web方向的练手项目
这个其实是肯定不用多少的了。Python的练手项目就是可以做一个网站了。我们可以做一个属于自己的博客。在做博客的时候,我们可以巩固的知识点是
Html+CSS+JS的基础知识,以及熟练的运用Python的Web开发框架(例如Django或者Flask)做出一个属于自己的网站。
做一个网络数据抓取工具
也就是我们常说的网络爬虫。可以找到一个自己喜欢的网站。试着抓取一些网站数据,在抓取数据的过程中,你会遇到例如 反抓取 需要登陆 验证码验证以及IP检测等多种问题。但这恰恰不就是提高的过程么。或许,你也可能写一个自己的“小百度”呢、
做一个图像识别的项目
不要觉得太难。我们可以从一个简单的项目开启。验证码就是一个图片。我们是不是可以试着识别一下验证码上面的文字?不要觉得麻烦,也不要觉得太过简单。所有复杂的事情都是从简单开始的。学习验证码识别对于我们写网络爬虫是不是特别有用呢?在后期深入的过程中,你还可以做一个图像识别软件。
做一个Python聊天机器人
是不是觉得现在手机软件中的智能聊天软件很神奇。你同样可以做一个属于自己的聊天机器人。前期我们可以做一个应答式的,也就是所有的会话就是存储在数据库中。后期的话可以学习人工智能学习。让你的机器人更加智能。
指令的调用
有的时候我们可以有其他的方法需要调用类中的信息,但是每次都执行一次就会感觉很繁琐 比如:
def Print_score(std): print ('%s:%s'% (std.name ,std.score))print Print_score(bat)
上面我们可以看出通过定义成绩表我们调用到了学生的姓名和成绩,我们可以通过函数来访问这些数据。但是每个实例都有的话执行起来就要写很多的代码。我们可以通过封装的方式把类中需要的给直接封装在类中进行调用。
好的 是这样,我们可以从外部直接调用类中的方法。相当于是封装了逻辑,直接在类的内部定义好了,调用会感觉比较容易。封装的另外一个好处,我们可以给Student这个类增加新的方法,比如get_grade:
def get_grade(self): if self.score > 90: return 'A' elif self.score >= 60: return 'B' else: return 'C'
python应用特性
数据类型
常用的数据类型:数字(number),字符串(string),list(数组),tuple(元组),dict(字典)
数字(number)
数字主要有:int(有符号整型),long(长整型),float(浮点数),complex(复数)
var1 = 1(int)
var2 = 51924361L(long)
var3 = 1.2(float)
var4 = 3e+26J(complex)
字符串
字符串是使用单引号或者双引号标识起来的,单引号或者双引号内部可以放数字、字母、下划线
str1 = "123456789"
str2 = '我们都在学Python'
数组和元组
List(列表)和Tuple(元组) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 标识,是 python 最通用的复合数据类型。
元组用()标识 , 内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
List(列表)和Tuple(元组) 区别:List是可变序列,Tuple是不可变序列
说白了就是List增删改查都可以,但是tuple只能查看(不可变嘛)
字典
字典嘛,就是根据键(key)去查找值(value)
开发环境准备 这里我选用Visual Studio 2017作为Python的开发工具,要求在Visual Studio中安装Python环境支持
在进行机器学习开发时我们需要给python环境安装所需要的外部依赖包
sklearn,numpy,spicy
引入sklearn包,创建数据特征模型
from sklearn import tree
#特征模型数据,[身高,胡子] 1-有 0-无
feature =[[178,1],[155,0],[180,1],[166,0],[168,1],[152,0]]
#特征标签值
label=['male''female','fale','female','fale','female']
我们采用决策树进行分类预测
#创建一个决策树对象
clf = tree.DecisionTreeClassifier();
#将特征数据交个决策树进行判断
clf = clf.fit(feature,label)
进行新的数据预测
#预测一组新的数据
clf.predict([[158,0]])
clf.predict([[190,1]])
完成的Python的代码如下:
from sklearn import tree
#特征模型数据,[身高,胡子] 1-有 0-无
feature =[[178,1],[155,0],[180,1],[166,0],[168,1],[152,0]]
#特征标签值
label=['male','female','fale','female','fale','female']
#创建一个决策树对象
clf = tree.DecisionTreeClassifier();
#将特征数据交个决策树进行判断
clf = clf.fit(feature,label)
#预测一组新的数据
r1=clf.predict([[158,0]])
print("Data[158,0] is label for:")
print(r1)
r2=clf.predict([[190,1]])
print("Data[190,1] is label for:")
print(r1)