前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2018年8月26日python标准(内建)模块,内建函数,元类

2018年8月26日python标准(内建)模块,内建函数,元类

作者头像
武军超
发布2018-09-27 11:16:00
5320
发布2018-09-27 11:16:00
举报

今天学到的新单词: sequence n数列,序列 reference n参考,v引用 variable adj变化的可变的 meta n元

1.系统标准(内建)模块: PYTHON 标准库中提供了大量的模块,辅助开发人员的软件开发工作,了解 PYTHON 官方标准模块,有助于对 PYTHON 的理解和操作。

***********************************************************************************************************************

2.系统内建函数:

系统内建函数包含大量的操作处理,这里就较为重要功能较为强大的几个函数做简单的介 绍,其他的内置函数请参考官方文档

*******************************************************************************************

3.万物根本:元类:

如果说一切皆对象,那么万物起始就是元类,元类是用来定义和构建类型的

类:也是对象 在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在 Python 中这一点仍 然成立:但是,Python 中的类还远不止如此。类同样也是一种对象。是的,没错,就是对象。只要 你使用关键字 class,Python 解释器在执行的时候就会创建一个对象 这个对象(类对象 ObjectCreator) 拥有创建对象(实例对象)的能力。但是,它的本质仍然是一个对象,于是乎你可以对它做 如下的操作: 你可以将它赋值给一个变量 你可以拷贝它 你可以为它增加属性 你可以将它作为函数参数进行传递

类的动态创建: 因为类也是对象,你可以在运行时动态的创建它们,就像其他任何对象一样。首先,你可 以在函数中创建类,使用 class 关键字即可

class创建类的底层:type  创建类、属性、方法 type(类名,(由父类名称组成的元组(针对继承的情况,可以为空)),{包含属性的字典(名称和值)})

Test2 = type("Test2",(),{}) #定了一个 Test2 类

FooChild = type('FooChild', (Foo,), {'echo_bar': echo_bar}) #让FooChild 类中的 echo_bar 属性,指向了上面定义的函数

可以看到,在 Python 中,类也是对象,你可以动态的创建类。这就是当你使用关键字 class 时 Python 在幕后做的事情,而这就是通过元类来实现的

再说元类: 元类就是用来创建类的“东西”。你创建类就是为了创建类的实例对象, Python 中的类也是对象。 元类就是用来创建这些类(对象)的,元类就是类的类 函数 type 实际上是一个元类。type 就是 Python 在背后用来创建所有类的元类。 你可以通过检查__class__属性来看到这一点。 Python 中所有的东西,注意,我是指所有的东西——都是对象。这包括整数、字符串、函数以及类。它们全 部都是对象,而且它们都是从一个类创建而来,这个类就是 type 元类就是创建类这种对象的东西。type 就是 Python 的内建元类,当然了,你也可 以创建自己的元类

自定义元类: 你可以在定义一个类的时候为其添加__metaclass__属性。 class Foo(object):     __metaclass__ = something…     ...省略... Foo 中有__metaclass__这个属性吗?如果有,Python 会通过__metaclass__创建一个名 字为 Foo 的类(对象) 如果 Python 没有找到__metaclass__,它会继续在 Bar(父类)中寻找__metaclass__属 性,并尝试做和前面同样的操作。 如果 Python 在任何父类中都找不到__metaclass__,它就会在模块层次中去寻找 __metaclass__,并尝试做同样的操作。 如果还是找不到__metaclass__,Python 就会用内置的 type 来创建这个类对象。 __metaclass__中放置些什么代码呢? 可以创建一个类的东西。type,或者任何使用到 type 或者子类化 type的东西都可以 自定义元类的作用: 拦截类的创建 修改类 返回修改之后的类

如果你想让你的模块里所有的类的属性都应该是大写形式。有好几种方 法可以办到,但其中一种就是通过在模块级别设定__metaclass__。采用这种方法,这个模 块中的所有类都会通过这个元类来创建,我们只需要告诉元类把所有的属性都改成大写形 式就万事大吉了

为什么使用元类? 现在回到我们的大主题上来,究竟是为什么你会去使用这样一种容易出错且晦涩的特性? 好吧,一般来说,你根本就用不上它: “元类就是深度的魔法,99%的用户应该根本不必为此操心。如果你想搞清楚究竟是否需要 用到元类,那么你就不需要它。那些实际用到元类的人都非常清楚地知道他们需要做什么, 而且根本不需要解释为什么要用元类。” —— Python 界的领袖 Tim Peters

休闲一刻: 有氧运动和无氧运动的区别: 有氧运动是指人体在氧气充分供应的情况下进行的体育锻炼。即在运动过程中,人体吸入的氧气 与需求相等,达到生理上的平衡状态。简单来说,有氧运动是指强度低且富韵律性的运动,其运 动时间较长(约30分钟或以上),运动强度在中等或中上的程度(最大心率值的60%至80%)。 氧气能充分燃烧体内的糖分,还可消耗体内脂肪,增强和改善心肺功能,预防骨质疏松, 调节心理和精神状态,是健身和减肥的主要运动方式 有氧运动如:步行、慢跑、滑冰、游泳、骑自行车、打太极拳、跳健身舞、做韵律操等。

无氧运动是指肌肉在“缺氧”的状态下高速剧烈的运动。无氧运动大部分是负荷强度高、瞬间 性强的运动,所以很难持续长时间,而且疲劳消除的时间也慢,无氧运动是一些运动非常剧烈 例如赛跑、举重、投掷、跳高、跳远、拔河、肌力训练等。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年08月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档