python的变量与java的不一样,java的变量是固定类型的,而python的变量也是对象引用。以下是小编为你整理的python数据挖掘入门与实践
首先是理解对象引用,对象引用就是映射关系
比如,你在超市的储物柜1号放了个包裹,那么你得到一张票据,上面写着A
那么,这个A就是引用了这个格子
标识符-等号-对象,比如,A = 123
那么,A是标识符,123是对象
注意:标识符的大小写是区分的,ABC与Abc与abc,是不同的标识符
如果之前接触过java,这个理解起来会有点不一样,python的变量就是对象引用,与java的变量存储在栈内存是不一样
比如A=1,B=A,那么结果是A和B都指向1
假如这时候,A=2,那么A会指向2,B不会跟着改变,则还是指向1
所以说,A指向另外一个引用的时候,是直接指向另外一个引用所引用的对象的
换成代码,则是下面这样,首先A指向1号,然后B指向A,再把A的指向2号
这样的情况下,B不会跟着改变
还有重要的一点,就是对象不会随着没有被引用而马上消失,假设A和B都是指向1,然后A和B又指向2,那么1没有被引用了,但是还是会存在的
用代码演示就是
A=1,打印A的内存地址
A=2,打印A的内存地址
A=1,打印A的内存地址
A=2,打印A的内存地址
如果对象没有被清除,那么4次打印内存地址,13次地址数值是相同的,24次也一样
底部的内存地址,即使对象再次被引用的时候,还是原来的地址。
如何搭建环境学习爬虫首先学习Python,建议通过**mooc和《笨方法学Python》来实现入门,那本书的内容可以有所取舍。通过这两个途径再上网上针对性地查找相关内容完全可以入门,重点在于理解“面向对象”。
爬虫入门首先要明白一些网络技术,了解TCP/IP参考模型,并且对应用层的HTTP协议的方法和工作原理有一定的认识。爬虫爬取网页内容,大多数网页服务由HTTP协议实现。
正式学习爬虫库urllib和正则表达式,urllib灵活性很高,并且和你所学的网络原理、HTTP原理非常贴合,利于新手学习,正则表达式看看内容,再看几个实例就应该会用了,不推荐看乱七八糟的教程和MOOC(效果非常差,讲的跨度太大),推荐书籍《精通Python网络爬虫 核心技术、框架与项目实战 》(韦玮)。同样是选择性的阅读。
学习完成之后,多加实践,推荐实战项目:1、爬取漫画网上的一部漫画的所有图片,并用PowerPoint做成PDF 2、爬取电影下载网站上的所有电影下载链接并整理到Excel。能独立完成这两个实战项目,恭喜你已经成功入门!
构造一个三维数组
import numpy as npa = (3,3,5)
是一个ufunc函数,它是一个一元函数——取整函数,可以做用于a里面的每一个数字,且保持数组结构不变,仍旧是三维的3*3*5的数组:
类似的一元ufunc函数还有很多,比如所有的初等数学函数:
print((b),'n',(b))
是一个多元的ufunc函数:
b = (a)
这里,reduce的作用,是把add函数作用于数组a的*层每一个子数组,计算这些元素的和。
具体的作用结果是:
c = []for j in range(3): d = [] for i in range(5): #print(a[:,j,i],'t',sum(a[:,j,i])) (sum(a[:,j,i])) (d)print((c))
b = (a,axis = 1)
这里指定了add作用于a的第二层子数组,具体如下:
c = []for j in range(3): d = [] for i in range(5): #print(a[j,:,i],'t',sum(a[j,:,i])) (sum(a[j,:,i])) (d)print((c))
b = (a,axis = 2)
将add函数作用于a的第三层子数组:
print(sum(a[0,0]))
给出一个一维数组:
import numpy as npa = ((6)*10)
从左往右累计a里面的元素之和:
b = (a)
具体的类似于:
c = 0d = []for i in range(6): c = c+a[i] (c) print((d))
数据类型
常用的数据类型:数字(number),字符串(string),list(数组),tuple(元组),dict(字典)
数字(number)
数字主要有:int(有符号整型),long(长整型),float(浮点数),complex(复数)
var1 = 1(int)
var2 = L(long)
var3 = (float)
var4 = 3e+26J(complex)
字符串
字符串是使用单引号或者双引号标识起来的,单引号或者双引号内部可以放数字、字母、下划线
str1 = ""
str2 = '我们都在学Python'
数组和元组
List(列表)和Tuple(元组) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 标识,是 python 最通用的复合数据类型。
元组用()标识 , 内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
List(列表)和Tuple(元组) 区别:List是可变序列,Tuple是不可变序列
说白了就是List增删改查都可以,但是tuple只能查看(不可变嘛)
字典