基础理论知识(三)


1. 简述类和对象的概念,并举例说明,列举你经常使用的几种pyhton内置类

 

具有相同属性和行为方法的事物的抽象的集合

类的实例化

 

List dict tuple int string float  lxml  requests

 

 

2. 3.详细说说tuplelistdict的用法,它们的特点?

 

1. 元组中存放的数据有顺序,每个数据都有自己的索引 ,元组中的数据一旦确定 不可修改\

2. 列表中存放的数据有顺序,每个数据都有自己的索引,列表中的数据可以进行增删改查

append  insert extend pop remove sort  reverse  index count

3. 字典中存放的数据无需,没有索引,key:value的形式存储数据,所有的增删改查都可以通过key来完成,key必须是不可变的,唯一的

Keys  values  items get  clear pop  popitem  

 

3. def eat(a,b=2,*args,**kwargs) 简述该函数中各个参数的类型及传递方式

a  必备参数,该参数在调用函数时,必须传递

b  缺省参数,调用函数时可以传递(取传过来的值)也可以不用传递(取默认值)

*args  不定长参数,在函数中,以元组的形式传递参数

**kwargs 不定长关键字参数,传递参数时,必须以key=value来进行传递,在函数中以字典形式传递参数

4. 6.简述map()filter()reduce()函数的作用

Map()函数,让列表中的每个元素都执行一次某个函数.并且把执行返回的所有结果放在结果列表中返回

Filter()函数,让列表中的每个元素,都执行一次某个函数,会把函数执行结果不为None或条件为真的放在结果列表中返回

Reduce(),让列表的前两个元素进行运算,将运算结果和第三元素预算,以此类推,最终返回所有运算结束后的结果

5. 简述类函数、静态函数、对象函数的声明方式及区别

@classmethod 类函数需要在函数前添加该装饰器,类函数可以由类和对象调用,并在类函数中有一个隐形参数cls,类调用class指这个类,如果是对象调用,cls指对象的类

@staticmethod 静态函数需要函数前添加该装饰器,静态函数可以由类和对象调用

在类声明中函数前没有添加任何的装饰器,该函数默认为对象函数.,对象函数可以由类和对象调用,但是必须要有一个对象才可以调用,类调用,需要将对象传入函数中,如果是对象调用,就不用进行传递,隐形参self, 对象A调用该函数,self指对象A,如果对象B调用,self指对象B

 

 

 

6. 简述@property装饰器的作用及用法

@property  将函数属性化,可以将函数的调用,通过类似于属性的调用方式执行

 

@property

Def eat():
pass

@eat.setter

Def eat(a):

 

对象.eat = 100  

作用:在类声明外部可以通过调用属性的形式调用函数,设置私有属性函数和获取私有属性函数

7. Python中如何做异常捕获?有几种写法?列举你遇到的一些错误

 

Try:  IndexError  TypeError NameError KeyError ImportError

Pass

Except Exception as e:

Pass

Else:

Pass

Finally:

pass

8. 简述get请求和post请求的区别

1. 参数位置    

get请求参数放在url地址之后,?问好分割地址和参数,参数以key=value的形式书写,多个参数之间用&符号链接

Post请求参数放在请求体中,也就是请求报文中的请求数据部分

2. 参数长度

Get请求,因为参数是放在url之后,理论上长度是没有限制,限制取决浏览器,一般浏览器都有url的长度限制,不同的浏览器限制不同

Post请求,请求数据时放在请求体中的,理论上长度也是没有限制,但是一般服务器端会对上传的数据做出限制,但是post请求参数比get请求参数传递数据量多

3. 安全性

Get请求参数放在url之后,而且是明文显示,不够安全,只要得到url,既可以分析出参数,不适合传输私密数据

Post请求 请求参数不会放在url,是放在请求体中,所以相对get来说更加安全,比较适合传输私密数据,其实两者都不安全

4. 使用场景

一般get请求使用来获取服务器资源数据的,post请求一般用来上传数据

 

 

 

9. 简述cookiesession作用区别,简述是如何利用cookiesession做到登陆之后的免登陆访问?

Cookie 可以用来存储用户简单信息,登录状态,历史记录等

Session 可以根据cookie存储用户的详细信息,缓存等数据

区别:
1.存储位置

Cookie存储在客户端\浏览器,session存储在服务器端

2,存储数据大小

Cookie可以存储少量的数据,因为数据是放在客户端,session是放在服务器端的,服务器本身就是用来存储数据的,所以可以存储大量数据

3安全性,cookie是放在客户端,并且cookie可以通过手段获取到,一旦私密数据的cookie被拿到,用户的账户可能会受到威胁,session是放服务器的,相比较来说比cookie安全

Cookiesession是共存亡的关系

 

客户端发起登录请求,服务器端验证账户是否合法,如果合法会生成对象cookie信息,并将cookie保存在session中备用,将数据和cookie返回给客户端,客户端接收之后将cookie保存起来,展示数据,第一次请求链接结束,当客户端再次发起请求时,会携带cookie,服务端接收到请求之后,会验证携带cookie信息,如果验证cookie已经登陆过,直接返回客户端想要的数据,如果验证失败,返回登录信息

 

10. 列出常用的爬虫网页分析库,写出具体名称及简单使用方式

Lxml   re  bs4

 

Lxml.etree.HTML()  

Bs4.BeautifulSoup().selec()  find()  findall()

Re.complie()  re.find  findall  search  match sub

11. 简述反爬虫措施及应对方案

 

 

 

 

12. 说出bs.xpath(//div[contains(@class, red)]/a/@href)的含义

 

 

找到class中包含reddiv标签下的a标签的href属性值

 

 

 

13. 简述Python中对象的内存是如何管理的

Python中自动管理内存的,是通过引用计数的形式进行管理的,当创建一个对象时,引用数据为1,当该对象被其他对象引用时,引用计数会+1,当引用被删除时,引用计数-1,当对象的引用计数为0,对象所在内存会被系统在合适的时间回收

 

14. HTTP请求报文和响应报文格式,分别由哪几个部分组成?

 

请求报文   请求行  请求头 空行  请求数据

响应报文   状态行  响应头 空行  响应数据

 

请求行  请求方法  url地址 协议版本

状态行  协议版本  状态码  状态短语

 

会话层 物理层 链路层 网络层 传输层  表示层 应用层

15. 什么是URL\DNS\IP\域名,域名和IP地址之间有什么关系?

URL 统一资源定位符

DNS 域名解析服务

IP   网络协议,IP每一台互联网中电脑的地址

域名 是一串字符,这串字符映射到某一个IP地址,通过访问域名即可访问IP地址下的计算机,方便记忆

 

域名可以通过DNS解析服务,转换为IP地址,然后进行访问

 

16. 写一个用于匹配手机号的正则表达式

^13\d|14[7,8]|15.....\d{8}$

 

 

 

17. 列举一些常见的响应状态码,及其所表示的含义

200 请求成功

302 重定向

404 URL地址有问题\请求参数有问题

403 没有访问权限

503 服务器暂时无法提供服务

18. 正则表达式match()search()函数的区别是什么?

Match() 必须是是以正则开头匹配开头的字符串,才可以匹配成功

Search() 匹配的字符串可以在任意位置

 

 

 

 

 

 

 

19. 从下列代码中 使用正则表达式,将小说名称,点击次数,文件大小,书籍类型等数据提取出来,写出具体代码

Html = ‘<div class="detail"><div class="detail_pic"><img src="/files/article/image/36/36895/36895s.jpg" οnerrοr="this.src='/modules/article/images/nocover.jpg'" /></div>                <div class="detail_info"><div class="detail_right">                        <h1>《吹神》全集</h1><ul><li class="small">点击次数:23671</li>                            <li class="small">文件大小:1.14MB</li><li class="small">书籍类型:ZIP+Txt</li><li class="small">更新日期:2018-03-09 09:04:19</li>                            <li class="small">连载状态:连载中</li><li class="small">书籍作者:辰机唐红豆</li><li >运行环境:安卓/iPhone/iPad/Kindle/平板</li>                            <li class="small">最新章节:<a href="/du/36/36895/">今天又是五更,说两句吧</a></li><li >动作:<a class="btn_box" style="color: white;" href="javascript:;" οnclick="addbookcase(36895);">加入书架</a></li>                            <li class="link"></li></ul></div></div>’

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20. 分别使用bs4和xpath将上题中的数据提取出来,写出具体代码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

附加题:

谈谈你过年之后学习的状态,自己有哪些知识点学的不好,谈谈自己对未来的职业规划

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值