首页
我的博客
写文章
登录
注册
网站导航
互站首页
源码集市
服务市场
域名交易
网站交易
任务大厅
商家专区
互站社区
Python面试题,python知识点汇总
转载
沐雪源码交易网
2018-10-29 12:57:37
评论(1)
阅读(447)
填空题 1. Python中的编码格式你用过哪些?utf-8, gbk, gb2312, ascii, gb18030 2. 列举使用过的装饰器@classmethod、@staticmethod、@property 3. 参数*args和**kwargs的区别 *args不定长参数,传入函数中是一个元组, **kwargs 不定长关键字参数,以key=value形式传递参数,传入函数中是一个字典 4. list1 = [x for x in range(10) if x%2 ==0],则打印list1的结果是[0,2,4,6,8] 5. 匿名函数的关键字是: lambda,声明函数的关键字def ,声明类的关键字class 6. 书写以下CSS样式代码:1. div边框为1像素、红色、虚线:border: 1px red _dalish 2. div边框圆角、半径为20像素:border-radius:20px; 3. div盒子阴影,向右下角偏移、黑色、模糊度10像素: box-shadow: 1px 1px 10px black 7. 相对定位和绝对定位的区别:1. 相对定位相对自己原来的位置做位置微调,本身不会被浮动到上层2. 绝对定位相对浏览器边框做位置调整,本身会被浮动到上层 8. 书写以下在CSS中查找标签的方式:1. 查找id为current的p标签:#current 2. 查找class为list-item的所有div标签:.list-item 3. 查找div下所有的span标签:div span 4. 查找div下所有的的直接子标签section: div > section 9. Scrapy创建项目、创建爬虫、运行爬虫的命令分别为scrapy startproject 项目名,scrapy genspider 爬虫名 主机域名,scrapy crawl 爬虫名 10. 列举常用的数据解析方式及解析用到的包 1. 正则表达式 re 2. xpath lxml 3. json解析 json 4. bs4 BeautifulSoup 11. 写一个用于匹配所有class=>(.*?) 12. 连接MySql数据库的命令为mysql -u用户名 -p密码 13. map()、filter()、reduce()函数的作用 1. map(lambda x:x*x, [1,2,3,4,5,6,7,8,9]) 让可迭代对象中的每一个元素都执行一次某个函数,并将执行函数返回的结果放入新的列表中 2. Filter()让可迭代对象中的每一个元素都执行一次某个函数,并将函数返回为真(不是None、空字符串、0、False)的数据放入新的迭代器对象中 3. Reduce() 让可迭代对象中的每两个个元素都执行一次某个函数,并将执行结果和下一个元素进行再次运算,直至没有元素为止,返回的是一个结果 14. 列举你使用过的数据库sqlite3、mysql、mongodb、redis及操作对应数据库的第三方包sqlite、pymysql、pymongo、redis 15. 写一句代码计算1到100的和 sum(range(1,101)) reduce(lambda x,y:x+y, [x for x in range(1,101)]) 16. 列举网络爬虫所用到的网络请求包urllib|requests、解析包re|bs4|json|lxml、数据抓包工具fiddler及使用方法:手机和电脑连同一个网段,设置手机wifi代理为电脑ip,手机端安装证书,开启fiddler进行抓包 17. 有两个变量x=5,y=8,给出不使用第三个变量实现交换x与y变量的值的方法x,y=y,x 18. 有列表a = [1,2,3,4,5,6,7,8,9],给出得到列表a中偶数列表b=[2,4,6,8]的一行代码map(lambda x: if x%2==0, a) ,给出不使用for循环能够生成列表a的一行代码range(1,10) [x for x in range(1,10)] 19. 给出同时遍历字典a的key,vlaue的办法for key,vlaue in a.items() 20. 给出同时遍历列表a的index,value的办法for idx ,value in enumerate(a) 21. 如果模块test.py是被导入的,__name__的值是test,如果模块test.py是被直接执行的,__name__的值是__main__ 22. 表达式[1,2,3]*3的执行结果为[1,2,3,1,2,3,1,2,3] 23. 表达式int(4**0.5)的值为__2___ 24. Django创建项目命令django-admin startproject 项目名创建application命令python manage.py startapp app名称 运行项目命令python manage.py runserver 25. 简述你使用过的Python中的装饰器,并说明它们的作用 1. @classmethod 类函数装饰器,装饰的函数可以由类和对象调用,默认参数cls表示类 2. @staticmethod 静态函数装饰器,装饰的函数可以由类和对象调用,没有默认参数 3. @property 描述装饰器 装饰的函数可以通过对象.函数(不加括号) 直接调用 4. @eat.setter 对象.eat = 值 会调用该函数 简答题 1. 面向对象的特点是?封装、继承、多态 2. 简述类和对象的概念,并举例说明 1. 类:具有相同属性和行为方法的事物的抽象集合,人类、植物类.... 2. 对象:类的具体的实例 人类中的你自己..... 3. 简述类继承的特点 1.子类继承父类,子类可以使用父类的所有属性和函数 2.子类继承父类,子类可以添加自己的属性函数,父类不能使用子类添加的属性函数 3.子类继承父类,子类可以重写父类的函数:1.部分重写 2.完全重写 4. 详细说说list、dict的用法,它们的特点和区别? 1. list存储任意类型的数据,按照索引进行排序,第一个元素索引为0,第二个为1...依次类推, 2. dict存储任意类型的数据,数据以key:value的形式存放在字典中,key是唯一且不可变的 3. list和dict中的数据都可以进行增删改查 5. 分别写出list、dict中常用的五个函数及作用 list: append()追加 insert()插入 clear()清空 pop()移出 remove()删除 copy()拷贝 sort()排序 reverse()反向排序 extends()扩展 dict: clear()清空 pop()移出 popitem()移出一个key个value keys()获取所有key values()获取所有值 items()获取所有key和值 update()更新 get()根据key获取值 6. pass的作用是什么? 保证代码完整性,若函数或代码块中暂无要执行的功能代码,可以使用pass占位,保证代码不出错 7. def eat(name, money=10): 函数中两种参数形式有什么不同? 1. name是必要参数,这个参数在调用时必须传递 2. money 是缺省参数,调用函数时可以选择传递,也可以不传递,默认值为10 8. GET请求方式和POST请求方式的区别是什么? 1. 参数位置 get请求参数放在url之后,以?分割,多个参数之间用&符号链接 Post请求参数放在请求体中,每个参数之间用&符号链接 2. 安全性 get请求参数直接在url地址中明文显示,只要能获取到url地址,就可以将隐私数据提取,不安全 Post请求,由于参数是放在请求体重的,不会明文显示,相对来说比较安全 3. 请求参数长度 理论上url地址没有长度限制的,但是浏览器会对url做长度限制,一般的浏览器url地址长度不能超过2048个字节,所以get请求参数是有长度限制的 post请求,请求数据放在请求体中,没有长度限制,但实际情况会根据服务器端的要求作出限制 4. 应用场景 get请求一般用于获取服务器资源 Post请求一般用于向服务器提交资源 9. 请求报文和响应报文结构 请求报文 请求方法 请求地址 协议版本 请求行部分 请求头部分 请求数据 响应报文 协议版本 状态码 原因短语 状态行 响应头 响应数据 10.简述反爬虫措施及应对方案(反爬虫指服务器采用的检测爬虫,禁止爬虫的方式) 1. User-Agent 中如果携带python标识,禁止访问 2. 模拟浏览器的User-Agent,可以搜索多个浏览器请求头,每次发请求随机取一个 3. 要求用户登录后进行访问 解决:登录之后找到cookie,每次发送请求携带上cookie 4. 封ip, 使用代理ip 11.简述如何应对目标服务器对爬虫程序的限制 12.try语法的作用是什么?列举你遇到的至少3中错误类型 判断请求头中的部分内容,是否符合要求 模拟请求头 假设同一个ip段访问太过频繁,限制ip访问速度或封杀整个ip段 使用代理ip 如果访问频繁,会要求用户登录之后进行访问。模拟登陆,获取登陆后的cookie,每次请求携带cookie即可 如果同一个用户访问频繁,会限制该用户访问,甚至封禁帐号 申请多账户,爬虫之前登陆所有帐号,获取登陆帐号的cookie,每次请求随机取出一个cookie 爬虫中需要进行验证码验证, 云打码 解决验证码 字母数据 滑块\点触\倒立文字\拼图滑块 数据加密,直接返回的数据时加密后的数据 尝试解密 使用selenium完全模拟用户行为,爬取数据(比较慢) 反爬成本太高,放弃.... 1. try用来做异常捕获,程序运行期间一旦代码运行出现错误,会导致程序直接终止运行,通过异常捕获可以在程序运行期间,一旦出错,在except中处理这个错误,程序可以继续向下执行,不会影响后续代码的运行 Try: 要检测异常的代码 Except Exception as e : 出现异常、处理异常的代码 Else: 没有出现异常执行的代码 Finally: 无论是否出现异常,最后都会执行这段代码 2. IndexError 索引错误 KeyError key错误 ValueEroor 值错误 TypeError类型错误 AttrError 属性错误........ 13. 简述python如何管理内存 Python是自动管理内存的,通过引用计数进行管理,当对象被创建时,引用计数为1,当对象被引用时,引用计数+1,当引用结束时,计数-1,计数为0时,对象被释放 14. *args和**kwargs的区别是什么? *args 不定长参数 传递到函数中是一个元组类型,可传递多个参数 **kwargs 关键字不定长参数 传递到函数中是一个字典类型,可传递多个参数,传递参数形式 key=value 15. 简述map()、filter()、reduce()函数的作用 Map() 让可迭代对象中的每一个元素都执行一次函数,并将函数返回的结果放入一个新的可迭代对象中,并返回这个可迭代对象 Filter()让可迭代对象中的每一个元素都执行一次函数,将函数返回的结果进行筛选,把所有为真的结果放入一个新的可迭代对象中,并返回这个可迭代对象 Reduce() 让可迭代对象中的每两个个元素执行一次函数,将两个元素计算的结果和第三个元素继续调用函数,依次类推,直到计算出最后一个结果,并返回这个结果 16. 正则表达式match()和search()函数的区别是什么? Match() 某个字符串必须以正则表达式开头,才会查找到 Search() 无论正则表达式匹配的字符串在任何位置,都可以搜索到 17. 用列表生成式实现下列功能 1. 创建list1,存放1-100(包含100)中既是2又是3倍数的数字 方法一:[x for x in range(1,101) if x % 2==0 and x%3 == 0] 方法二:[x for x in range(1,101) if x % 6 == 0] 2.现有列表list1=[‘张三’,’李四’.....],请将list1中所有以’张’开头的名字放到list2中 方法一:[name for name in list1 if name.startsswith(‘张’)] 方法二:[name for name in list1 if name[0] == ‘张’] 18. 请以字符串格式化输出的形式输出以下内容, name=”张%哈哈%三” age=20 address=”河南郑州”, 输出格式为: ”我叫***,我今年***岁,我家在***” Print(‘我叫%s,我纪念%s岁,我家在%s’ % (name,age,address)) Print (‘我叫{},我纪念{}岁,我家在{}’.Format(name,age,address)) 19. 请用reduce()函数+匿名函数实现100以内数字求和 Def calc(x,y): Return x +y S = reduce(calc, [for x in range(100)]) 或者: S = reduce(lambda x,y:x+y, [for x in range(100)]) 20. 用列表推导式实现下列功能 a)创建list1,存放1-100(包含100)中既是2又是3倍数的数字 [x for x in range(1,101) if x%6==0] [x for x in range(1,101) if x%2==0 and x%3==0] b)现有列表list1,请将列表1中所有以’张’开头的名字放到list2中 list1 = [’张三’,’李四’] list(filter(lambda x:x if x.startswith(’张’) else None ,list1 )) 21. 在scrapy中如何自定义随机请求头?需要实现什么函数? fake_useragent 第三包 自定义middleware ,在middleware中process_request()函数中,通过fake_useragent设置request的请求头 From fake_useragent import UserAgent Def RandomUAMiddleware(obje-ct): Def __init__(self): Self.ua = UserAgent() Def process_request(self, request, spider): Request.headers.setDefault(b’User-Agent’, self.ua.random) 在settings中Download_MIDDLEWARE 中配置定义的RandomUAMiddleware,取消默认使用的scrapy.downloadermiddleware.useragent.UserAgentMiddleware,设置为None即可 22. 写出下列SQL语句 1. 创建一张学生表,包含姓名,年龄,学号(主键),性别,成绩等五个字段,类型自己定义 CREATE TABLE stuednts(name text,age integer ,id integer primary key,sex text,score integer) 2. 向表中插入1条数据,张三,20,10086,男,95 INSERT INTO students(name,age,id,sex,score)values(........) 3. 查询年龄大于20的学生的姓名和学号 Select name ,id from students where age>20 4. 更新姓名为张三的学生姓名为李四 Update students set name=’李四’ where name=’张三’ \ name like ‘张三’ 5. 删除所有姓名以张开头的学生信息 Delete from student where name like ‘张%’ 6. 按成绩降序排序,查询学号、姓名、年龄字段 Select id ,name ,age from student order by score DESC 7. 写出Python操作MySQL的用法,并分别写出创建表、插入数据、删除数据、修改数据、查询所有数据的SQL语法 Import pymysql Db = pymysql.connect( Host=’127.0.0.1’, Port=3306, Db=’’, User=’’, Password=’’. Use_unicode=True, Charset=’’ ) Curosor = db.cursor() Cursor.execute(sql) Db.commit() Cursor.close() Db.close() CREATE TABLE 表名 (字段 类型 约束, 字段 类型 约束.....) INSERT INTO 表名(字段,字段...)VALUES(值,.....) SELECCT * FROM 表名 UPDATE 表名 SET 字段=值,字段=值.....WHERE 修改条件 DELETE FROM 表名 WHERE 条件 --------------------- 作者:木易小猿 来源:CSDN 原文:https://blog.csdn.net/A_fool_Program_ape/article/details/83420230 版权声明:本文为博主原创文章,转载请附上博文链接!
关注下面的标签,发现更多相似文章
本文TAG标签:
分享
QQ分享
微博分享
微信扫一扫
收藏
python
上一篇:为什么越“low”的产品越容易崛起?为什么越“low”的产品越容易崛起?
下一篇:同样是程序员,为什么别人比你更优秀?为什么越“low”的产品越容易崛起?
您好,
请先
登录
!请文明评论,不得违反国家法律法规!
已有
1
条评论
回复
港务梦幻科技
2019-01-27 15:49:18
走过路过 决定还是错过
沐雪源码交易网
关注
TA的店铺
44
文章
27141
人气
32
评论
2
粉丝
专注.net技术,专注沐雪微店SaaS系统
Ta的最新文章
一岁的瑞幸,在争议中狂奔
C# 产生真随机数(RNGCryptoServiceProv
win10远程桌面连接,要求的函数不受支持 解决方法
这个领域诞生了市值130亿美元的独角兽,国内刚刚起步,腾讯也
在东南亚,双11和双12哪个更受欢迎?
最近评论
港务梦幻科技
走过路过 决定还是错过
港务梦幻科技
走过路过 决定还是错过
港务梦幻科技
走过路过 决定还是错过
港务梦幻科技
走过路过 决定还是错过
港务梦幻科技
走过路过 决定还是错过
标签大全
小程序
(4)
网站建设公司
(3)
微信小程序
(3)
微信小程序开发
(3)
网站建设
(3)
网站
(2)
程序员
(2)
搜索引擎
(1)
区块链
(1)
电商
(1)
酒店小程序
(1)
新零售
(1)
小程序开源框架
(1)
手机网站搭建
(1)
ai
(1)
微信公众平台开发 沐雪微信多用户商城系统
(1)
产品
(1)
沐雪微信 saas 商城系统源码
(1)
python
(1)
沐雪微信 saas商城
(1)
阅读目录
已有 1 条评论