python反射

Python进阶编程 反射

孤街醉人 提交于 2019-11-26 10:30:51
1.7反射 python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射) class Foo: f = '类的静态变量' def __init__(self,name,age): self.name=name self.age=age def say_hi(self): print('hi,%s'%self.name) obj=Foo('egon',73) #检测是否含有某属性 print(hasattr(obj,'name')) print(hasattr(obj,'say_hi')) #获取属性 n=getattr(obj,'name') print(n) func=getattr(obj,'say_hi') func() print(getattr(obj,'aaaaaaaa','不存在啊')) #报错 #设置属性 setattr(obj,'sb',True) setattr(obj,'show_name',lambda self:self.name+'sb') print(obj.__dict__) print(obj.show_name(obj)) #删除属性 delattr(obj,'age') delattr(obj,'show_name') delattr(obj,'show_name111')#不存在,则报错

python面试题

橙三吉。 提交于 2019-11-26 10:12:40
为什么学习Python 爱好 通过什么途径学习Python 首先看视频自学,然后看书自学,最后报班学。 谈谈Python和其他语言的区别 Python属于解释型语言,当程序运行时,是一行一行的解释并运行,调试程序简单,开发效率高。 特点: 语法简洁优美,功能强大,标准库与第三方库都非常强大。具有很强大的可移植性、可扩展性、可嵌入性。 缺点:运行速度慢 简述解释型和编译型编程语言 解释型:就是边解释边执行 编译型:编译后再执行 Python的解释器种类以及相关特点 CPython 当我们从Python官方网站下载并安装好Python 3.6后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。 CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。 IPython IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。 CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。 PyPy PyPy是另一个Python解释器,它的目标是执行速度

python之封装、多态、反射

落花浮王杯 提交于 2019-11-26 07:29:18
一、封装 1.1封装的定义 在程序设计中,封装是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其含义是其他程序无法调用。 要了解封装,离不开“私有化”,就是将类或者是函数中的某些属性限制在某个区域之内,外部无法调用。 1.2封装的用处 封装数据的主要原因是:保护隐私(把不想别人知道的东西封装起来) 封装方法的主要原因是:隔离复杂度 注意:在编程语言里,对外提供的接口(接口可理解为了一个入口),就是函数,称为接口函数,这与接口的概念还 不一样,接口代表一组接口函数的集合体。 1.3封装的两个层面 (1)类就是麻袋,这本身就是一种封装 (2)类中定义私有的,只有类的内部使用,外部无法访问 class People: _star='earth' #单下划线表示被隐藏起来 def __init__(self,name,id,age,salary): self.name=name self.id=id self.age=age self.salary=salary def get_id(self): print('[%s的身份证号是%s]'%(self.name,self.id)) p1=People('czd','62012393208',18,100000) print(p1._star) class People: __star='earth' #双下划綫 def _

第十三章:python基础面试80题

女生的网名这么多〃 提交于 2019-11-26 07:17:56
文章目录 1. 为什么学习Python 2. 通过什么途径学习的Python 3. Python和Java、PHP、C、C#、C++等其他语言的对比 4. 简述解释型和编译型编程语言 5. Python解释器种类以及特点 6. 位和字节的关系 7. b、B、KB、MB、GB 的关系 8. 请至少列举5个 PEP8 规范 9. 通过代码实现如下转换 10. 请编写一个函数实现将IP地址转换成一个整数 11. python递归的最大层数(次数) 12. 求结果 13. ascii、unicode、utf-8、gbk 区别 14. 字节码和机器码的区别 15. 三元运算规则以及应用场景 16. 列举 Python2和Python3的区别 17. 用一行代码实现数值交换 18. Python3和Python2中 int 和 long的区别 19. xrange和range的区别 20. 文件操作时:xreadlines和readlines的区别 21. 列举布尔值为False的常见值? 22. 字符串、列表、元组、字典每个常用的5个方法? 23. lambda表达式格式以及应用场景? 24. pass的作用? 25. *arg和**kwarg作用 26. is和==的区别 27. 简述Python的深浅拷贝以及应用场景? 28. Python垃圾回收机制? 29.

python之模块和包

限于喜欢 提交于 2019-11-25 16:57:27
一 Python模块简介 1 模块化 一般来说,编程语言中,库,包,模块是同一种概念,是代码组织方式 python中只有一种模块对象类型,但是为了模块化组织的便利,提供了一个概念: 包 模块(module):指的是python的源代码文件 包(package):指的是模块组织在一起放入和包名同名的目录及相关文件 可以将代码量较大的程序分割成多个有组织,彼此间独立但又能互相交互的代码片段,这些自我包含的有组织的代码段就是模块 模块在物理形式上表现为以.py 结尾的代码文件 一个文件被看做一个独立的模块,一个模块也可以被看做是一个文件 模块的文件名就是模块的名字加上扩展名.py 2 模块名称空间 每个模块都有自己的名称空间 Python 允许“导入”其他模块以实现代码重用,从而也实现了将独立的代码文件组织成更大的程序系统 Python 中,模块也是对象 在一个模块的顶层定义(全局变量)的所有变量都在被导入时成为了被导入模块的属性 3 顶层文件和模块文件 一个Python程序通常包括一个顶层文件和其他的模块文件(0个,1个或多个) 顶层文件:包含了程序的主要控制流程 模块文件:为顶层文件或其他模块提供各种功能性组件 模块首次导入(或重载)时,Python会立即执行模块文件的顶层程序代码(不在函数内的代码),而位于函数体内的代码直到函数被调用后才会执行