1.__doc__:表示类的描述信息

 class Person(object):
'''定义人的类'''
def func(self):
pass print(Person.__doc__)
结果为:定义人的类

2.__module__ :表示当前操作的对象在那个模块

__class__ :表示当前操作的对象的类是什么

#定义一个test.py文件,键入如下代码:
class Person(object):
def __init__(self):
self.name = 'laowang' #定义一个01.py文件,键入如下代码:
from test import Person obj = Person()
print(obj.__module__) # 结果 test 即:输出模块
print(obj.__class__) # 结果 test.Person 即:输出类

3.__del__:当对象在内存中被释放时,自动触发执行

说明:__del__的调用是由解释器在进行垃圾回收时自动触发执行的。一般无需自定义

4.__init__ 和 __call__

定义一个类,当将此类实例化,即创建一个具体的对象时,就会触发__init__方法;而__call__是在给之前创建的对象加上括号时触发,可以按如下方式理解;

#coding=utf-8
class Person(object):
def __init__(self):
self.ability1 = 'eat'
self.ability2 = 'sleep'
def __call__(self,*args,**kwargs):
print('你好,python') people = Person() #此处执行__init__方法
people() #此处执行__call__方法

5.__dict__ :显示类或对象中属性的方法

class Person(object):
ability = 'think'
def __init__(slef,name,sex,age):
self.name = name
slef.sex = sex
self.age = age def func(self,*args,**kwargs):
pass
# 获取类的属性,即:类属性、方法
print(Province.__dict__)
# 获取 对象person1 的属性
person1 = Person(Tom,man,10)
print(person1.__dict__)

6.__str__:在类中定义了__str__方法,在应用print函数打印实例对象是,会默认输出__str__方法的返回值

class Person(object):
def __str__(self):
return 'Tom'
obj = Foo()
print(obj)
# 输出:Tom

python魔法属性的更多相关文章

  1. python进阶之类常用魔法方法和魔法属性

    前言 前面我们总结过了python的关键字.运算符.内置函数.语法糖等与python魔法方法之间的关系,现在我们更细一点,看看python的面向对象编程有哪些常用的魔法属性和魔法方法. 魔法属性 对于 ...

  2. python进阶之函数和类内建魔法属性

    前言 关于对象的魔法方法我们已经讲得太多,但是对于类或函数内建的魔法属性和功能我们涉及较少,下面系统了解一下类和函数的内建属性. 查看内建属性 class Person(object): pass d ...

  3. Python类属性访问的魔法方法

    Python类属性访问的魔法方法: 1. __getattr__(self, name)- 定义当用户试图获取一个不存在的属性时的行为 2. __getattribute__(self, name)- ...

  4. Python高级笔记(七)魔法属性

    1. 私有属性 名字重整 print(Test.__dict__) {'__weakref__': <attribute '__weakref__' of 'Test' objects>, ...

  5. 『无为则无心』Python面向对象 — 60、魔法属性

    目录 1.魔法属性__name__ 2.魔法属性__bases__ 3.魔法属性__mro__ 4.魔法属性__doc__ 5.魔法属性__module__ 和__class__ 6.魔法属性__di ...

  6. Python魔法 - MetaClass

    Python魔法 - MetaClass metaclass The class of a class. Class definitions create a class name, a class ...

  7. Python魔法方法总结及注意事项

    1.何为魔法方法: Python中,一定要区分开函数和方法的含义: 1.函数:类外部定义的,跟类没有直接关系的:形式: def func(*argv): 2.方法:class内部定义的函数(对象的方法 ...

  8. python魔法方法:__getattr__,__setattr__,__getattribute__

    python魔法方法:__getattr__,__setattr__,__getattribute__ 难得有时间看看书....静下心来好好的看了看Python..其实他真的没有自己最开始想的那么简单 ...

  9. python魔法方法大全

    1.python魔法方法详解: python魔法方法是可以修改重载的,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而 ...

随机推荐

  1. 【Qt开发】【Linux开发】调试记录:QFontDatabase::loadFromCache Error

    最近做嵌入式的Qt界面,在移植成功后遇到了一个问题:QFontDatabase::loadFromCache: Font path doesn't match.后面跟着便是两个路径. 解决方案就是对比 ...

  2. [转帖]22款让Kubernetes锦上添花的开源工具

    22款让Kubernetes锦上添花的开源工具 http://soft.zhiding.cn/software_zone/2019/0506/3117650.shtml 找时间尝试一下. 至顶网软件频 ...

  3. 使用foreach一次性添加多个单选按钮

    <?php //这个函数创建一个单选按钮 //函数接收一个论据:值 //函数也会让按钮有"黏性"-->记住你是如何填写它的. function create_radio ...

  4. python学习第五十四天hashlib模块的使用

    hash算法 hash也做散列,也称为哈希,主要用于信息安全领域中加密算法,hash就是找一种数据内容和数据存放地址直接的映射关系. md5算法 md5讯息算法,广泛使用密码函数 md5算法的特点 1 ...

  5. [LOJ 6253] Yazid 的新生舞会

    link $solution:$ 不知道为什么别人的代码能写的非常短,难道就是写差分的好处? 这种题肯定是算每个众数的贡献,考虑通过暴力众数求出个数. 现在考虑众数 $x$ ,则在序列 $a$ 中将等 ...

  6. hdu1465不easy系列之中的一个(错排)

    版权声明:本文为博主原创文章,未经博主同意不得转载. vasttian https://blog.csdn.net/u012860063/article/details/37512659 转载请注明出 ...

  7. 100行代码撸完SpringIOC容器

    用过Spring框架的人一定都知道Spring的依赖注入控制反转;通俗的讲就是负责实例化对象 和 管理对象间的依赖 实现解耦. 我们来对比两段代码: UserController{ UserServi ...

  8. 2019-8-31-MobaXterm-使用代理

    title author date CreateTime categories MobaXterm 使用代理 lindexi 2019-08-31 16:55:58 +0800 2018-02-13 ...

  9. python2和3的一些区别,编码方式

    python2与python3的区别: #python2 print() print'abc' #range() xrange()生成器 #raw_input()#python3 #print('ab ...

  10. 管线命令(Pipe)

    管线命令接受|前面传来的stdout,管线示意图如下所示: 管线两个需要注意的地方: 1.管线仅会处理stdout,忽略对stderr的处理 2.管线必须接受前个指令的stdin才是 那么,如果我想接 ...