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. 命令行模式和Python交互模式的区别

    1.命令行模式: 在Windows开始菜单选择“命令提示符”,就进入到命令行模式,它的提示符类似C:\Users\>: 2.python交互模式 在命令行模式下敲命令python,就看到类似如下 ...

  2. hive数据去重

    Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能 hive的元数据存储:通常是存储在关系数据库如 mysql(推荐) , derby(内嵌 ...

  3. java面向对象详细全面介绍

    一.面向对象 1.面向过程与面向对象 POP与OOP都是一种思想,面向对象是相对于面向过程而言的.面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做.面向对象,将功能封装进对象,强调具备了功能的 ...

  4. HDU-4857 逃生(反向拓扑排序 + 逆向输出)

    逃生 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  5. HNUSTOJ-1257 You are my brother

    1257: You are my brother 时间限制: 1 Sec  内存限制: 128 MB提交: 39  解决: 15[提交][状态][讨论版] 题目描述 Little A gets to ...

  6. Maven快速安装配置

    环境:windows7_x86  maven3.3.3   maven是管理项目的常用工具,不用安装,直接配置即可.在配置maven前,需要先安装JDK.   1,安装JDK(注意此版本的Maven要 ...

  7. 使用css3的repeating-linear-gradient画虚线

    还在用 border-style: dashed 画虚线吗?虽然也是虚线,但是不能控制每一个虚线的宽度 .dashed { height: 1px; background-image: repeati ...

  8. mysql使用MRG_MyISAM(MERGE)实现水平分表

    在MySQL中数据的优化尤其是大数据量的优化是一门很大的学问,当然其它数据库也是如此,即使你不是DBA,做为一名程序员掌握一些基本的优化信息,也可以让你在自己的程序开发中受益匪浅.当然数据库的优化有很 ...

  9. Nginx 详细介绍

    Nginx 和 Apache 一样是 http 服务器软件.它们的区别是 Apache 的处理速度慢,占用内存资源, nginx 恰恰相反.在功能上 Apache 的所有模块都支持动和静态编译,而 n ...

  10. netdevice - 底层访问 Linux 网络设备

    总览 (SYNOPSIS) #include <sys/ioctl.h> #include <net/if.h> 描述 (DESCRIPTION) 本手册 描述 用于 配置 网 ...