Python底层
文章平均质量分 81
关于python底层的实现原理
SteveKenny
分享每天的学习内容,展示成长历程,愿有所帮助哦!!!
展开
-
Python实现常量
很多高级编程语言都提供了定义常量的方法,一个常量一旦被定义,就无法再修改,这样做的意义在于防止其他人修改一些关键参数和配置。在C++,C#, php可以使用const关键字,java可以使用final,python没有提类似供定义常量的关键字,但我们可以通过一些技术手段实现类似的效果。常量的命名必须都是大写字母,可以使用下划线连接单词变量一旦赋值后,不可再修改思路上,定义一个Const类,重写魔法方法, 这个方法可以对对象的属性赋值进行干预。原创 2022-10-24 22:22:50 · 2027 阅读 · 1 评论 -
Python元类详解
Python从设计之初就是一门面向对象的语言,它有一个重要的概念,即一切皆对象。Python与java的区别:Java虽然也是面向对象编程的语言,但是血统没有Python纯正。比如Java的八种基本数据类型之一int,在持久化的时候,就需要包装成Integer类对象。但是在python中,一切皆对象。数字、字符串、元组、列表、字典、函数、方法、类、模块等等都是对象,包括你的代码。MetaClass元类,本质也是一个类,但和普通类的用法不同,它可以对类内部的定义(包括类属性和类方法)进行动态的修改。原创 2022-10-22 23:08:00 · 3204 阅读 · 1 评论 -
Python中的类成员
文章目录成员分类私有成员和公有成员区别其他成员实例方法类方法双下方法类方法实例静态方法实例属性实例类的约束成员分类类大致可以分为两大部分静态属性动态方法class A: # 类对象 # 静态属性部分 name, age = "Make", 12 # 静态属性,类属性,在__init__外部定义 __gender = "boy" # 私有静态属性 # 动态方法部分 def __init__(self, name, age): # 双下划线原创 2022-01-13 21:14:07 · 3219 阅读 · 0 评论 -
Python魔法方法
从入门到进阶,一个很重要的点就是Python中的魔法方法,魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。它们经常是两个下划线包围来命名的(比如__init__/__new__等等),Python的魔法方法是非常强大的。原创 2022-10-19 21:56:03 · 2869 阅读 · 4 评论 -
Python钩子函数
hook,又称钩子,在C/C++中一般叫做回调函数。钩子是从功能角度描述这种编程模式,回调则是从函数调用时间角度描述的。通常理解的hook是在一个已有的方法上加入一些钩子,使得在该方法执行前或执行后另在做一些额外的处理。如我们熟知的windows系统消息响应事件,鼠标点击对程序产生的影响是有程序自己决定的,但是程序的执行是受制于框架(windows系统),框架提供了一些通用的流程执行,但是往往框架或流程在设计时无法完全预料到以后的使用会有什么新需求,或者有些行为只有在运行时才能确定的。...原创 2022-08-10 19:58:39 · 4197 阅读 · 2 评论 -
Python反射机制
上面我们实现了动态输入模块名,从而使我们能够输入模块名并且执行里面的函数。但是上面有一个缺点,那就是执行的函数被固定了。那么,我们能不能改进一下,动态输入函数名,并且来执行呢?python的反射,它的核心本质其实就是利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员,一种基于字符串的事件驱动!那我们现在有一个需求,我需要动态输入一个模块名,然后导入,这应该怎么做呢?反射就是用于解决上面两个问题而产生的,所谓反射,按我的理解就是反过来告诉我字符串是什么,是变量或者是方法。...原创 2022-08-10 13:50:58 · 419 阅读 · 0 评论