python应用领域:
- 人工智能:专家系统、机器学习、进化计算、模糊逻辑、计算机视觉、自然语言处理、推荐系统等。
- 机器学习:从数据中产生模型算法,即学习算法,然后有新数据提供的适合,模型能够提高相应的判断,进行预测。
机器学习分类:
监督学习:机器学习的数据是有标记的
无监督学习:数据无标记(聚类和降维)
强化学习:正负激励(动态规划)AlphaGo Zero - 深度学习
应用:图像识别、语言识别、自然语言处理
开发机器学习的步骤:
(1)手机数据
(2)准备输入数据
(3)分析输入的数据
(4)训练算法
(5)测试算法
(6)使用算法
python
- 变量与运算符
- 字符串
列表
列表里面也可以写数字、borl值。例如: friends = ["Kevin",2,False]
friends = ["Kevin","Karen","Jim","Oscar","Toby","Mike"]
元组
coordinates = (4,5)#元组一旦创建,其内元素不可改变
coordinates2 = [(4,5),(24,34)]#列表内镶嵌元组
字典
month_conversions = {"Jan":"January",
"Feb":"February",
}
for (多用来遍历)
friends = ["Jim","Karen","Kevin"]
for friend in friends:
print(friend)
if else elif
if statements& comparisons(如果语句与比较)
def max_num(num1,num2,num3):
if num1 >= num2 and num1 >= num3:
return num1
elif num2 >= num1 and num2 >= num3:
return num2
else:
return num3
print(max_num(3,2,1))
while
While loop(while 循环)
i = 1
while i <= 100:
print(i)
i = i + 5
print("done with loop")
函数与模块
模块:将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。
from module_name import function_name
#从module_name.py函数中调用function_name模块
使用as给模块指定别名
import munpy as num
使用星号(*)运算符可让Python导入模块中的所有函数:
from numpy import*
类与对象(对象=属性(特征)+方法(行为)
类:在python中,把具有相同属性和方法的对象归为一个类(class))
Python中,定义类是通过class关键字
类将函数和数据整洁地封装起来,让你能够灵活而高效地使用它们。
class Person(object):#类以class引出,类名的第一个字母大写,(object)也是固定语法
class_name = "人类"
def __init__(self,name,birth):#初始化类
self.name = name
self.birth = birth
self.height = 170
self.legs = 2
def say(self):#定义函数
print("我的姓名:",self.name)
print("我出生于:",self.birth)
def jiafa(self,x,y):#定义函数
return x + y
print(Person.class_name) #看看person类的名称
zhangsan = Person("张三", "1980-01-11")#实例化张三
print(zhangsan.class_name)#打印张三的名字
zhangsan.say()#调用张三say函数
#zhangsan.height
print("my heigth is",zhangsan.height)#打印张三的hight
print("i can plus:",zhangsan.jiafa(5,7))#调用张三jiafa函数
if zhangsan.legs == 2:#判断如果张三两条腿的话即为人类
print(zhangsan.name," is a people")
面向对象编程
- Python应用:常规软件开发、科学计算、自动化运维、云计算、Web开发、网络爬虫、数据分析、人工智能
- pip工具主要用来管理Python扩展库
- 自然语言使用双引号,机器标示使用单引号。
- 模块级函数和类定义之间空两行;类成员函数之间空一行。
数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)
- 字符串"abc" 列表[0,"abcd"] 元组("abc","def",(2,103))都属于序列,即有序。
从左到右方向,第一个索引值为0
字典:映射的类型 {“哈希值”:“对象”} {“weight”:10,“high”:29}
布尔类型只有True和False两种值
数字类型:Python3支持int、float、bool、complex(复数)。数据转换
内置的type()函数可以用来查询变量所指的对象类型。例如:
a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
网络爬虫
分类:服务器侧和客户端侧
网络爬虫是通过网页的链接地址寻找网页,从网站某一个页面开始,读网页的内容,找到再网页中的其他链接地址,然后通过这些链接地址寻找下一个网页,一直循环下去,知道抓取完所有的网页。
深度优先遍历策略:爬虫从起始页开始,一个链接一个链接的跟踪下去,处理完一条线再去处理另一条线。
宽度优先遍历策略:将新下载网页中发现的链接直接插入待抓取url队列的末尾。
爬虫框架:scrapy、xpath
(1)scrapy engine、scheduler、downloader、spiders
(2)
(1)导入模块:
import requests
from lxml import etree
(2)获取源代码:
html = requests.get
html = html.text #转换为text格式
(3)利用Xpath提取感兴趣的内容
Selector = etree.HTML(html) #转换为能用XPath的文本形式
content = Selector.Xpath('一段符号')
(4)显示数据
网友评论