打印变量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. Centos sudo添加用户

    $ su - # vi /etc/sudoers 在root ALL=(ALL) ALL下 添加 username ALL=(ALL) ALL 输入wq!强制保存.

  2. Shiro 的FilterChain

    /** * Shiro的FilterChain * @see ===================================================================== ...

  3. 第5章 字符串----char与String

    1.java有8种基本数据类型: 数值型:整数类型(byte,short,int,long) :浮点类型(float,double) 字符型:char  布尔型:true,false 2.char:  ...

  4. Java 学习路线

    java 入门到精通  转自:http://forum.hibernate.org.cn作者:robbinJava Learning Path (一).工具篇 一. JDK (Java Develop ...

  5. QQ 自动接收远程连接之关闭了远程桌面

    之前使用都好好的,后来就不知道怎么了突然就不行了,在另外一个远程桌面软件(向日葵)失效后,木有办法,查查查,终于查出来了,是我本机的时间服务停止了,导致我本机的时间和服务器时间不一致,所以连接不上.只 ...

  6. 制作 macOS Sierra 正式版U盘USB启动安装盘方法教程 (全新安装 Mac 系统)

    使用命令行创建制作 macOS Sierra 正式版 USB 安装盘 1.准备一个 8GB 或更大容量的 U盘,并备份好里面的所有资料. 2.下载好 macOS Sierra 正式版的安装程序(app ...

  7. 用GDB调试程序的设置 Segmentation fault(Core Dump)调试

    在写wifi库的时候碰见一个 Segmentation fault(Core Dump) 所以需要用GDB调试下. 在cmake的时候,修改CMakeLists.txt set(CMAKE_C_FLA ...

  8. jquery给html元素添加内容

    append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插入内容 实例 $(& ...

  9. Linux下的编程实战【转】

    一篇比较不错的文章, 降到了 makefile make , gcc编译器,GDB调试器, Linux文件系统,Linux文件API,.C语言库函数(C库函数的文件操作实际上是独立于具体的操作系统平台 ...

  10. Flask architecture

    论文The Flask Security Architecture: System Support for Diverse Security Policies 介绍了Flask architectur ...