打印变量db的类(class):
[root@fuel ~]# python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from nailgun.db import db
2016-01-28 15:33:57.512 DEBUG [7fa46d13f700] (settings) Looking for settings.yaml package config using old style __file__
2016-01-28 15:33:57.512 DEBUG [7fa46d13f700] (settings) Trying to read config file /usr/lib/python2.6/site-packages/nailgun/settings.yaml
2016-01-28 15:33:57.733 DEBUG [7fa46d13f700] (settings) Trying to read config file /etc/nailgun/settings.yaml
2016-01-28 15:33:57.752 DEBUG [7fa46d13f700] (settings) Trying to read config file /etc/fuel/version.yaml
>>> print db.__class__
<class 'sqlalchemy.orm.scoping.scoped_session'>
>>> print db.__class__.__name__
scoped_session
>>> exit()

# vi a.py
----------------------------------------------------------------
import re
from sqlalchemy.orm.scoping import scoped_session
d = scoped_session.__dict__
for var in d:
    p = re.compile("__.*__")
    m = p.search(var)
    if m == None:
        print "object.%s=%s" % (var, d[var])
----------------------------------------------------------------
# python a.py
object.add_all=<function do at 0x22a8050>
object.no_autoflush=<property object at 0x22a7310>
object.expunge_all=<function do at 0x22a8578>
object.scalar=<function do at 0x22a8938>
object.query=<function do at 0x22a87d0>
object.close_all=<classmethod object at 0x22a9398>
object.add=<function do at 0x22a5f50>
object.rollback=<function do at 0x22a88c0>
object.configure=<function configure at 0x22a5cf8>
object.query_property=<function query_property at 0x22a5d70>
object.is_active=<property object at 0x22a7260>
object.is_modified=<function do at 0x22a86e0>
object.info=<property object at 0x22a7368>
object.execute=<function do at 0x22a8398>
object.expunge=<function do at 0x22a8500>
object.refresh=<function do at 0x22a8848>
object.autoflush=<property object at 0x22a72b8>
object.merge=<function do at 0x22a8758>
object.dirty=<property object at 0x22a7100>
object.begin_nested=<function do at 0x22a8140>
object.delete=<function do at 0x22a8320>
object.remove=<function remove at 0x22a5c80>
object.flush=<function do at 0x22a85f0>
object.close=<function do at 0x22a81b8>
object.new=<property object at 0x22a71b0>
object.begin=<function do at 0x22a80c8>
object.identity_key=<classmethod object at 0x22a9478>
object.deleted=<property object at 0x22a7158>
object.identity_map=<property object at 0x22a7208>
object.expire=<function do at 0x22a8410>
object.object_session=<classmethod object at 0x22a9408>
object.bind=<property object at 0x22a70a8>
object.expire_all=<function do at 0x22a8488>
object.connection=<function do at 0x22a82a8>
object.commit=<function do at 0x22a8230>
object.get_bind=<function do at 0x22a8668>

python 打印类的属性、方法的更多相关文章

  1. Delphi中TStringList类常用属性方法详解

    TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...

  2. python 面向对象类成员(字段 方法 属性)

    一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 countr ...

  3. python:类3——魔法方法

    一.魔法方法特点 被双上下滑线包围 魔法方法是面向对象的Python的一切,如果你不知道魔法方法,说明你还没能意识到面向对象的Python的强大(不是说Python脚本) 通过对制定方法的重写,完全可 ...

  4. python tips:类的绑定方法(bound)和非绑定方法(unbound)

    类属性只有类及其实例能够访问,可以理解为一个独立的命名空间. Python中类属性的引用方式有两种: 1. 通过类的实例进行属性引用,称为绑定方法(bound method),可以理解为方法与实例绑定 ...

  5. Python的类实例属性访问规则

    一般来说,在Python中,类实例属性的访问规则算是比较直观的. 但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此. 在这里,我们需要明白以下几个地方: 1.Pytho ...

  6. python基础-类的属性(类属性,实例属性,私有属性)

      一:类的属性 类的属性分为:类属性(公有属性),实例属性和私有属性. 1)类属性(公有属性(静态字段): 类定义时直接指定的属性(不是在__init__方法中),可以通过类名直接访问属性,并且保存 ...

  7. day 1类 对象 属性 方法

    1. 解决吃啤酒鸭的问题 第一种方式(面向过程): 1)养鸭子 2)鸭子长成 3)杀 4)作料 5)烹饪 6)吃 7)卒 第二种方式(面向对象): 1)找个卖啤酒鸭的人 2)给钱 交易 3)吃 4)胖 ...

  8. C#-类 字段 属性 方法 特性

    方法的签名 包括参数个数.参数类型.方法返回值 base和this关键字 1.使用base关键字,就可以使用父类中的字段.属性.方法 2.一旦父类中存在有参数的构造函数,那么子类就必须使用base来覆 ...

  9. python:类4——魔法方法(定制序列、迭代)、生成器、推导式

    一.定制序列(容器类型) http://bbs.fishc.com/forum.php?mod=viewthread&tid=48793&extra=page%3D1%26filter ...

随机推荐

  1. CSS3秘笈:第一章

    1.<div>和<span>标签: <div>和<span>标签:就像是一个空的容器,我们要往里面填充内容.一个div就是一个块,意味着它的前后都要空一 ...

  2. javascript克隆一个对象

    /* * 克隆一个对象 */ com.ty.repairtech.JsonOperation.clone = function(obj) { // Handle the 3 simple types, ...

  3. [code]最长回文子串

    分析: 不能用scanf("%s"),因为碰到空格或者Tab就会停下来. 解决输入中有空格 方法一:使用fgetc(fin),读取一个打开的文件fin,读取一个字符,然后返回一个i ...

  4. doclint in jdk8

    http://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html Turning off doclint in JDK 8 ...

  5. auto ash v1

    startdate=$1enddate=$2#reporttype=$3#reportformat='text'oraclehome=`echo $ORACLE_HOME` dbid=`sqlplus ...

  6. RS485 介绍

    一.RS485总线介绍: RS485总线是一种常见的串行总线标准,采用平衡发送与差分接收的方式,因此具有抑制共模干扰的能力.在一些要求通信距离为几十米到上千米的时候,RS485总线是一种应用最为广泛的 ...

  7. 格式化格林威治时间(Wed Aug 01 00:00:00 CST 2012)

    1.如果格林威治时间时间是date类型.(这种格式最简单)       SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd") ...

  8. PHP 上传图片,生成水印,支持文字, gif, png

    //admin_upfile.php <html> <meta http-equiv="Content-Type" content="text/html ...

  9. C语言客户端服务器代码

    /* sockclnt.c*/ #include <stdio.h>#include <string.h>#include <stdlib.h>#include & ...

  10. AndroidGradle--瘦身apk(转发)

    apk瘦身一般有两条线, 去除无用的代码,例如引用一个比较大的lib,只使用了其中很少的功能.其他无用的代码可以想办法去掉 去除无用的资源文件,可能是第三方lib中的,也有可能是开发中引入了无用的资源 ...