python反射

Python 最常见的 170 道面试题解析:2019 最新

删除回忆录丶 提交于 2019-11-28 01:07:22
Python 今年还是很火,不仅是编程语言排行榜前二,更成为互联网公司最火热的招聘职位之一。伴随而来的则是面试题目越来越全面和深入化。有的时候不是你不会,而是触及到你的工作边缘,并没有更多的使用,可是面试却需要了解。 所以我结合自己的面试经历以及各大厂的面试题库,准备了 170 道 2019 年最新的 Python 面试题解析,很多老旧的问题已经帮你剔除,直接看这份最新的即可。让你最短时间内掌握核心知识点,更高效的搞定 Python 面试! 点击查看全部答案:https://gitchat.csdn.net/activity/5cf8ca61da0c2c41ee4697ff?utm_source=blog0715 语言特性 1.谈谈对 Python 和其他语言的区别 2.简述解释型和编译型编程语言 3.Python 的解释器种类以及相关特点? 4.说说你知道的Python3 和 Python2 之间的区别? 5.Python3 和 Python2 中 int 和 long 区别? 6.xrange 和 range 的区别? 编码规范 7.什么是 PEP8? 8.了解 Python 之禅么? 9.了解 docstring 么? 10.了解类型注解么? 11.例举你知道 Python 对象的命名规范,例如方法或者类等 12.Python 中的注释有几种? 13

python常见问题

混江龙づ霸主 提交于 2019-11-28 00:20:47
1、 __new__.__init__区别,如何实现单例模式,有什么优点 __new__是一个静态方法,__init__是一个实例方法 __new__返回一个创建的实例,__init__什么都不返回 __new__返回一个cls的实例时后面的__init__才能被调用 当创建一个新实例时调用__new__,初始化一个实例时调用__init__ 2、深浅拷贝 浅拷贝只是增加了一个指针指向一个存在的地址,而深拷贝是增加一个指针并且开辟了新的内存,这个增加的指针指向这个新的内存,采用浅拷贝的情况,释放内存,会释放同一内存,深拷贝就不会出现释放同一内存的错误 3、HTTP/IP相关协议,分别位于哪层 http协议是超文本传输协议,http协议是基于TCP/IP通信协议来传递数据 http协议工作与c/s架构上,浏览器作为http的客户端通过URL向http服务端即web服务器发送所用请求。web服务器收到所有请求后,向客户端发送响应信息, http特点是短连接,无状态 地址栏键输入URL,按下回车之后经历了什么? 1.浏览器向DNS服务器请求解析该URL中的域名所对应的IP地址 2.解析出IP地址后,根据IP地址和默认端口80,和服务器建立TCP连接 3.浏览器发出读取文件的http请求,该请求报文作为TCP三次握手的第三个报文的数据发送给服务器 4.服务器对浏览器请求做出响应

python面向对象--反射机制

空扰寡人 提交于 2019-11-27 20:48:05
class Black: feture="ugly" def __init__(self,name,addr): self.addr=addr self.name=name def sell_house(self): print("[%s] 正在卖房子"%self.name) def rent_house(self): print("[%s]正在租房子,傻逼才租呢?"%self.name) b1=Black("dream","北京海淀") print(hasattr(Black,"feture")) #b1.name--->b1__dict__["name"] # print(hasattr(b1,"name"))#b1.name # print(hasattr(b1,"sell_house")) # # # print(getattr(b1,"name")) # print(getattr(b1,"sell_house")) # # func=getattr(b1,"rent_house")#没有报错 # func() # # # print(getattr(b1,"rent_house11","没有这个属性")) # b1.sb=True # setattr(b1,"sb",True) # setattr(b1,"name","alex") setattr(b1,"func"

python反射的简单应用

牧云@^-^@ 提交于 2019-11-27 20:47:38
class Cartoon(object): def __init__(self): self.name = "哪吒" def func(self): return "魔童降世" # 创建要操作的类的对象 obj = Cartoon() # 1. 查看属性 print(obj.name) # 2. 判断类中是否有该成员,当找到第二个参数时返回true,否则返回false have_1 = hasattr(obj, "func") have_2 = hasattr(obj, "drink") print(have_1) print(have_2) # 3. 获取对象的值. res_name = getattr(obj, "name") # 返回属实际性值. 如果没有此属性,程序报异常 # res_wrong1 = getattr(obj,"job") # 如果获取没有的属性或方法,会报错: AttributeError: 'Cartoon' object has no attribute 'job' res_method = getattr(obj, "func") # 返回方法的内存地址 r = res_method() # 执行方法 print(res_method) print(res_name) print(r) # 4. 设置属性值 res = setattr(obj,

创建虚拟环境,以方便管理

我们两清 提交于 2019-11-27 17:54:46
目录 一、计算机基础 二、Python基础 三、函数 四、常用模块 五、模块和包 六、面向对象 七、网络编程socket 八、数据库 九、前端 十、Python Web框架 十一、版本控制--GIT 十二、爬虫 十三、前端框架之VUE 十四、量化投资与Python 十五、算法 十六、设计模式 十七、restful framework 十八、linux基础 十九、权限管理 一、计算机基础 计算机基础知识 计算机的发展史及多道技术 计算机网路知识的简单介绍 二、Python基础 Python学习【第0篇】:window环境下安装Python2和Python3   Python学习【第1篇】:Python简介以及入门 Python学习【第2篇】:Python之数据类型 Python学习【补充篇】:Python之字符串切片 Python学习【第3篇】:Python之运算符 Python学习【第4篇】:Python之可变数据类型与不可变数据类型 Python学习【第5篇】:Python之字符编码问题 Python学习【第6篇】:Python之文件操作 Python学习【补充篇】:map函数和reduce函数的区别 三、Python之函数 Python学习【第7篇】:Python之函数(自定义函数,内置函数,装饰器,迭代器,生成器) Python学习【第7篇】:Python之函数(参数的介绍)

Python面向对象:反射(hasattr和getattr和setattr和delattr)

谁都会走 提交于 2019-11-27 16:06:11
一、反射在类中的使用 反射就是通过字符串来操作类或者对象的属性 反射本质就是在使用内置函数,其中反射有以下四个内置函数: hasattr:判断一个方法是否存在与这个类中 getattr:根据字符串去获取obj对象里的对应的方法的内存地址,加"()"括号即可执行 setattr:通过setattr将外部的一个函数绑定到实例中 delattr:删除一个实例或者类中的方法 ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' class People: country = 'China' def __init__(self, name): self.name = name def eat(self): print('%s is eating' % self.name) peo1 = People('nick') print(hasattr(peo1, 'eat')) # peo1.eat True print(getattr(peo1, 'eat')) # peo1.eat <bound method People.eat of <__main__.People object at 0x1043b9f98>> print(getattr(peo1, 'xxxxx',

Python基础更新

别等时光非礼了梦想. 提交于 2019-11-27 15:36:44
Python的基础认知 1. 计算机基础知识 2. Python的应用和历史 3. Python是一门什么语言 4. Python的优缺点 5. Python的种类 Python基础知识 1. Python的安装和环境配置 2. 第一个Python程序 3. 变量 4.常量 5. 注释 6. 基础数据类型初识 7. 字符串的格式化输出 8. while循环 9. 运算符 10. 初识编码 11. 整数 int 12. 布尔值 13. 字符串 1.索引 (下标) [ ] # 从0计数 2.切片 3.字符串常用的方法 14. for循环 15. rang范围 16. list列表 认识list列表 列表的作用 列表的增删改查 增 删 改 查 17. 元组 认识元组 18. dict字典 认识dict字典 字典的用处 字典的增删改查 增 删 改 查 一些操作举例 字典的嵌套 19. set集合 -天然去重 认识集合 集合的增删改 增 删 改 去重 其他操作 20. 深浅拷贝 浅拷贝 深拷贝deepcopy 21. 小数据池 22. 数据类型转换 23. 坑 24. 编码解码 25. 文件操作 一般书写格式格式 写 非文本操作b r+ ,w+ , a+ 断点续传 光标 truncate() 截断文件 文件修改 26. 三种格式化输出 函数和模块 1. 函数 - 面向过程编程 初识函数

35个高级python知识点

独自空忆成欢 提交于 2019-11-27 11:05:25
No.1 一切皆对象 众所周知,Java中强调“一切皆对象”,但是 Python 中的面向对象比Java更加彻底,因为Python中的类(class)也是对象,函数(function)也是对象,而且Python的代码和模块也都是对象。 Python中函数和类可以赋值给一个变量 Python中函数和类可以存放到集合对象中 Python中函数和类可以作为一个函数的参数传递给函数 Python中函数和类可以作为返回值 Step.1 # 首先创建一个函数和一个Python3.x的新式类 class Demo(object): def __init__(self): print("Demo Class") # 定义一个函数 def function(): print("function") # 在Python无论是函数,还是类,都是对象,他们可以赋值给一个变量 class_value = Demo func_value = function # 并且可以通过变量调用 class_value() # Demo Class func_value() # function Step.2 # 将函数和类添加到集合中 obj_list = [] obj_list.append(Demo) obj_list.append(function) # 遍历列表 for i in obj_list: print

python数据结构面试合集

孤街浪徒 提交于 2019-11-27 10:59:56
为什么学python 答题路线:a、python的优点,b、python的应用领域广 具体: 优点 1、python语法非常优雅,简单易学 2、免费开源 3、跨平台,可以自由移植 4、可扩展,可嵌入性强 5、第三方库丰富 应用领域 1、在系统编程中应用广泛,比如说shell工具。 2、在网络爬虫方面功能非常强大,常用的库如scrapy,request等 3、在web开发中使用也很广泛,如很多大型网站都用python开发的,如ins,youtube等,常用的框架如django,flask等 4、python在系统运维中应用广泛,尤其在linux运维方面,基本上都是自动化运维。 5、在人工智能,云计算,金融等方面也应用非常广泛。 通过什么途径学习python 通过看官方文档 通过哔哩哔哩上的视频教程 通过百度查资料 通过买python相关方面的书 公司线上和开发环境使用的什么系统 线上用的centos和Ubuntu系统 开发环境用的windows,mac,还有Ubuntu。 python和java、php、c、c#、c++ 等其他语言对比? Java C# PHP Python (开发效率高),这些语言本身不需要你去管理内存了。它们都有自己的虚拟机,对于开辟内存、释放内存都由这个虚拟机处理。 C 和 Python、Java、C#等C语言: 代码编译得到 机器码

继承 多态 封装 及内置函数

纵然是瞬间 提交于 2019-11-27 06:12:01
**什么时候用组合什么时候用继承:** 老师类 和 生日类 老师的生日 老师.生日 用组合 老师类 和 人类 老师是人 class老师类(人类) 用继承 另外,有相同属性也可判断要用继承 ### 组合 一个对象的属性值是另外一个类的对象 一个类的属性 用另一个类的对象来描述 两连点:alex.weapon.hand18(jin) alex的weapon属性,因为是一个另类的对象,weapon也有自己的方法,故两连点 ```python # 人狗大战 class Dog: def __init__(self,name,aggr,hp,kind): self.name = name self.aggr = aggr #武力值 self.hp = hp #血 self.kind = kind #咬 def bite(self,person): person.hp -= self.aggr class Person: def __init__(self,name,aggr,hp,sex): self.name = name self.aggr = aggr self.hp = hp self.sex = sex self.money = 0 def attack(self,dog): dog.hp -= self.aggr #获取装备 def get_weapon(self,weapon)