勤学教育网合作机构> > 广州叩丁狼教育欢迎您!

python怎么创建数据库

广州叩丁狼教育logo
来源:广州叩丁狼教育

2022-04-15|已帮助:874

进入 >

python的变量与java的不一样,java的变量是固定类型的,而python的变量也是对象引用。以下是小编为你整理的0基础怎么自学python

首先是理解对象引用,对象引用就是映射关系

比如,你在超市的储物柜1号放了个包裹,那么你得到一张票据,上面写着A

那么,这个A就是引用了这个格子

标识符-等号-对象,比如,A = 123


0基础怎么自学python

那么,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 = np.random.rand(3,3,5)

np.floor是一个ufunc函数,它是一个一元函数——取整函数,可以做用于a里面的每一个数字,且保持数组结构不变,仍旧是三维的3*3*5的数组:

类似的一元ufunc函数还有很多,比如所有的初等数学函数:

print(np.sin(b),' ',np.cos(b))

np.add是一个多元的ufunc函数:

b = np.add.reduce(a)

这里,reduce的作用,是把add函数作用于数组a的第一层每一个子数组,计算这些元素的和。

具体的作用结果是:

c = []for j in range(3): d = [] for i in range(5): #print(a[:,j,i],' ',sum(a[:,j,i])) d.append(sum(a[:,j,i])) c.append(d)print(np.array(c))

b = np.add.reduce(a,axis = 1)

这里指定了add作用于a的第二层子数组,具体如下:

c = []for j in range(3): d = [] for i in range(5): #print(a[j,:,i],' ',sum(a[j,:,i])) d.append(sum(a[j,:,i])) c.append(d)print(np.array(c))

b = np.add.reduce(a,axis = 2)

将add函数作用于a的第三层子数组:

print(sum(a[0,0]))



给出一个一维数组:

import numpy as npa = np.floor(np.random.rand(6)*10)

从左往右累计a里面的元素之和:

b = np.add.accumulate(a)

具体的类似于:

c = 0d = []for i in range(6): c = c+a[i] d.append(c) print(np.array(d))

urllib.request

urllib.request 模块期初是用来打开和获取 URL 的。让我们看看你可以用函数 urlopen 可以做的事:

>>> import urllib.request >>> url = urllib.request.urlopen('https://www.google.com/') >>> url.geturl() 'https://www.google.com/' >>> url.info() >>> header = url.info() >>> header.as_string() ('Date: Fri, 24 Jun 2016 18:21:19 GMT/n' 'Expires: -1/n' 'Cache-Control: private, max-age=0/n' 'Content-Type: text/html; charset=ISO-8859-1/n' 'P3P: CP="This is not a P3P policy! See ' 'https://www.google.com/support/accounts/answer/151657?hl=en for more info."/n' 'Server: gws/n' 'X-XSS-Protection: 1; mode=block/n' 'X-Frame-Options: SAMEORIGIN/n' 'Set-Cookie: ' 'NID=80=tYjmy0JY6flsSVj7DPSSZNOuqdvqKfKHDcHsPIGu3xFv41LvH_Jg6LrUsDgkPrtM2hmZ3j9V76pS4K_cBg7pdwueMQfr0DFzw33SwpGex5qzLkXUvUVPfe9g699Qz4cx9ipcbU3HKwrRYA; ' 'expires=Sat, 24-Dec-2016 18:21:19 GMT; path=/; domain=.google.com; HttpOnly/n' 'Alternate-Protocol: 443:quic/n' 'Alt-Svc: quic=":443"; ma=2592000; v="34,33,32,31,30,29,28,27,26,25"/n' 'Accept-Ranges: none/n' 'Vary: Accept-Encoding/n' 'Connection: close/n' '/n') >>> url.getcode() 200

在这里我们包含了需要的模块,然后告诉它打开 Google 的 URL。现在我们就有了一个可以交互的 HTTPResponse 对象。我们要做的第一件事是调用方法 geturl ,它会返回根据 URL 获取的资源。这可以让我们发现 URL 是否进行了重定向。 接下来调用 info ,它会返回网页的元数据,比如请求头信息。因此,我们可以将结果赋给我们的 headers 变量,然后调用它的方法 as_string 。就可以打印出我们从 Google 收到的头信息。你也可以通过 getcode 得到网页的 HTTP 响应码,当前情况下就是 200,意思是正常工作。

如果你想看看网页的 HTML 代码,你可以调用变量 url 的方法 read。我不准备再现这个过程,因为输出结果太长了。

请注意 request 对象默认发起 GET 请求,除非你指定了它的 data 参数。如果你给它传递了 data 参数,这样 request 对象将会变成 POST 请求。部分内容选自《Linux就该这么学》感兴趣的可以看下哦

以上是广州叩丁狼教育整理的python怎么创建数据库全部内容。

热门推荐

更多
勤学培训网 python学习网 python怎么创建数据库