00_Python面试题_迭代更新
一、Python是什么类型的语言,以及和其他语言对比
1.Python是一种解释性语言,他和C语言以及C衍生的语言不通,在Python运行之前不需要编译,其他解释语言还有Ruby、PHP。
2.Python还是动态类型语言,在声明变量期间,不要指定变量的类型,诸如:x = 100 name='Zhang San' ,程序不会报错
3.Python非常适合面向对象的编程(OOP),因为它支持通过组合(composition)与继承(inheritance)的方式定义类(class)。Python中没有访问说明符(access specifier,类似C++中的public和private),这么设计的依据是“大家都是成年人了”。
4.在Python语言中,函数是第一类对象(first-class objects)。这指的是它们可以被指定给变量,函数既能返回函数类型,也可以接受函数作为输入。类(class)也是第一类对象。
5.Python代码编写快,但是运行速度比编译语言通常要慢。好在Python允许加入基于C语言编写的扩展,因此我们能够优化代码,消除瓶颈,这点通常是可以实现的。numpy就是一个很好地例子,它的运行速度真的非常快,因为很多算术运算其实并不是通过Python实现的。
6.Python用途非常广泛——web开发、人工智能、爬虫、云计算应用,等等。它也常被用作“胶水语言”,帮助其他语言和组件改善运行状况。
7.Python让困难的事情变得容易,因此程序员可以专注于算法和数据结构的设计,而不用处理底层的细节。
二、逻辑运算符
1.逻辑运算符 两边都是比较运算
and : 两个都为真,才为真,一个为假即为假
or : 两个有一个为真,即真;都为假,才假
not : 相反,真not为假,假not 为真

逻辑运算符的 运算优先级: () > "> == < " > not > and > or
1,3>4 or 4<3 and 1==1 False 2,1 < 2 and 3 < 4 or 1>2 True 3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1 True 4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 False 5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 False 6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 False
逻辑运算符
2.逻辑运算符 量表都为数字

8 or 4 8 0 and 3 0 0 or 4 and 3 or 7 or 9 and 6 3
逻辑运算符两边都是数字
三、Python 2 和 Python 3区别
1.语法差异 Python2中raw_print() 在Python3中是print().等等
2.编码差异:Python2中默认编码是ASCII ;Python3中默认编码是UTF-8
四、ASCII、UTF-8、Unicode、GBK区别
ASCII
上个世纪六十年代,美国制定了一套字符编码,对二进制和英语符号之间的关系,被称为ASCII
ASCII一共制定了256个字符编码。第一位全为0,只占用一个字节的后7位
Unicode
随着越来越多的编码方式的出现,急需一种能够包含全世界所有符号的编码系统来消灭乱码,这种编码系统就叫做Unicode。
Unicode只是一套编码系统,包含所有字符集,却并不规定编码后的二进制代码如何存储。
使用4个字节存储每一个字符,但是对于英文字符来说,使用ASCII编码只需1个字节即可存储,这极大的浪费了存储空间。
UTF-8
因此出现了一种变长的编码方式UTF-8,UTF-8是使用得最广泛的Unicode编码实现方式,使用1-4个字节表示一个字符,根据不同的字符变化长度。比如对于英文字符,1个字节就够了,但是对于中文,可能需要2-4个字节才能存储。
五、表达式
5.1 a = 1 ,b = 3一行代码, 让a,b值互换
a,b = b,a
六、Python什么情况下会产生浅拷贝:
- [:]切片操作
- 使用工厂函数
- 使用copy模块中copy()函数
七、send()和__next__()的区别
1.send()拥有__next__()一样的功能
2.send()可以放第一行,前提send(None)才行
3.send()可以给最后一个yield传值,但是获取不到
八、手写个装饰器 - 简单的万能装饰器
def wrapper(func):
def inner(*args,**kwargs):
ret = func(*args,**kwargs)
return ret
return inner
@wrapper
def func():
pass
func()
九、终极-万能装饰器
flag = False
def wrapper_out(flag):
def wrapper(func):
def inner(*args,**kwargs):
if flag:
'''函数执行前的操作'''
ret = func(*args,**kwargs)
'''函数执行后的操作'''
return ret
else:
'''函数执行前的操作'''
ret = func(*args, **kwargs)
'''函数执行后的操作'''
return ret
return inner
return wrapper
@wrapper_out(flag)
def func():
pass
func()
00_Python面试题_迭代更新的更多相关文章
- 【前端面试】Vue面试题总结(持续更新中)
Vue面试题总结(持续更新中) 题目参考链接 https://blog.csdn.net/weixin_45257157/article/details/106215158 由于已经有很多前辈深造VU ...
- 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的
===============eoeAndroid社区推荐:======================= 1.Android开发新浪面试题[开发者必看哦]下载地址 http://www.eoeand ...
- MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)
MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本 ...
- 一些有意思的面试题(持续更新) .C语言编程技巧札记
一些有意思的面试题(持续更新) http://blog.csdn.net/wangyuling1234567890/article/details/38565239 C语言编程技巧札记 http:// ...
- Python_面试题_更新中
Python-面试题 线上操作系统 centos py2和py3的区别 每种数据类型,列举你了解的方法 3 or 9 and 8 字符串的反转 is 和 == 的区别? git流程 v = (1) / ...
- 史上最全的Unity面试题(持续更新总结。。。。。。) 包含答案的Unity面试题
这个是我刚刚整理出的Unity面试题,为了帮助大家面试,同时帮助大家更好地复习Unity知识点,如果大家发现有什么错误,(包括错别字和知识点),或者发现哪里描述的不清晰,请在下面留言,我会重新更新,希 ...
- python面试题(实时更新)
1.以下代码输出为: list1 = {':2} list2 = list1 list1['] = 5 sum = list1['] print(sum) 解析:10 b = a: 赋值引用,a 和 ...
- SpringCloud 面试题 (持续更新、吐血推荐)
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
- Python 面试题_未完
基础部分 1. 为什么学习Python 家里有在这个IT圈子里面,也想让我接触这个圈子,然后给我建议学的Python, 然后自己通过百度和向有学过Python的同学了解了Python,Python这门 ...
随机推荐
- KinectFusion解析
三维重建是指获取真实物体的三维外观形貌,并建立可复用模型的一种技术.它是当下计算机视觉的一个研究热点,主要有三方面的用途:1)相比于二维图像,可以获取更全面的几何信息:2)在VR/AR中,建立真实 ...
- Wannafly模拟赛 A.矩阵(二分答案+hash)
矩阵 时间限制:1秒 空间限制:131072K 题目描述 给出一个n * m的矩阵.让你从中发现一个最大的正方形.使得这样子的正方形在矩阵中出现了至少两次.输出最大正方形的边长. 输入描述: 第一行两 ...
- 2017ecjtu-summer training #3 POJ3264
...
- WEB 小案例 -- 网上书城(一)
距离上次写博客有两周了吧,最多的原因就是自己期末考试了,上课没听就只能在期末狠狠的复习了,毕竟已经挂科了.当然还是因为自己懒吧!!!废话不多说开始我们今天的正题,网上书城! 一. 新建数据表(MySQ ...
- Win10没有以太网图标如何找回?以太网适配器不见了怎么恢复?
Win10以太网适配器不见了怎么恢复?以太网其实就是Win7系统中常说的"本地连接"假若用户发现网络适配器中的以太网适配器图标不见了,可以在设备管理器中添加一些这类适配器,具体过程 ...
- 基于ARM的车牌识别技术研究与实现
在云盘里包含了我本科毕业设计的全部资料和代码.主要涉及下面摘要中的几个部分.虽然系统无法实用,但是适合机器视觉和嵌入式方向的入门.希望能对有志从事相关方向的朋友有所帮助.本人现在在深圳从事机器视觉算法 ...
- [国嵌笔记][019][Eclipse集成开发环境]
Eclipse集成开发环境的作用 可以编译程序,也可以对程序进行在线调试 集成开发环境 1.JLink连接开发板的JTAG 2.JLink连接PC的USB 3.eclipse软件 4.gdb serv ...
- 通过Git Gui Here上传本地项目到GitHub上
要使用此种方法上传本地项目到GitHub上,前提得是你已安装Git for window工具. Git for window下载地址:http://www.xp510.com/xiazai/Appli ...
- AMD规范学习笔记
背景 NodeJS的一套比较简洁 Moudles 规范, 使得在服务器端的模块化变得更加简单.很长一段时间,很多公司或者项目都有自己的一套模块化机制, 却未能形成一套统一的标准, NodeJS的Mou ...
- 电脑如何防蹭网?使用防蹭网功能杜绝未知设备连接WiFi
发布时间:2015-09-27 15:24发布者:系统城-shaojing浏览数:733 网络越来越卡?网页打开越来越慢?如果你有以上疑问,那么就要确认自己是不是被"蹭网"了.尽管 ...