我想调用一种方法给我一个所有“非私有”的词典(我在这里使用“私有”一词,因为它在

Python中并不存在)和非内置属性(即那些在类上不要以单个或双下划线开头.像vars(MyClass)这样的东西只能返回该类的“公共”属性.

我知道

from M import *

不会导入名称以下划线开头的对象. (http://www.python.org/dev/peps/pep-0008/#id25)导入如何实现?通过内置函数或仅通过检查下划线?什么是pythonic方法呢?

例:

class MyClass(object):

def __init__(self):

do_stuff()

def _private(self):

print 'private'

def __gets_name_mangled(self:

print 'becomes _MyClass__gets_name_mangled()'

def public(self):

print 'public'

如果我做

vars(MyClass).keys()

我明白了

['_MyClass__gets_name_mangled','__module__','_private','__doc__','__dict__','__weakref__','public','__init__']

我怎么才能得到

['public']

或者我只是需要自己检查下划线?看起来似乎会有一种pythonic方式来做到这一点.

python的类里的属性是否可以为列表_是否有Python方法可以访问类的所有非私有和非内置属性?...相关推荐

  1. Python学习10 内置属性 对象属性 类属性 私有属性 私有方法 对象方法 类方法 静态方法

    内置属性 创建类时系统自动创建的属性 # 内置属性:dir(对象),列出所有的内置属性 class Person(object):'''Person类1'''# Person类2__slots__ = ...

  2. python描述符魔术方法_学习笔记-Python基础9-面向对象编程OOP-类的成员描述符(property)、类的常用内置属性、类的常用魔术方法、类和对象的三种方法...

    一.类的成员描述符(property) 类的成员描述符是为了在类中,对类的成员属性进行相关操作而创建的一种方式,大部分属于数据清洗 属性有三种操作:get获取属性值.set修改或添加属性.delete ...

  3. python内置属性与内置方法

    一.类方法 类方法:把类看作成一个对象 #语法: #@classmethod----由@开头的叫做装饰器或者修饰器 #def 类方法名(cls,形参): 类方法可以直接使用----->类对象.类 ...

  4. Python- 反射 及部份内置属性方法

    @property 类的静态属性,封装内部具体实现细节,调用的时候类似调用数据属性.既可以访问类属性,也可以访问实例属性 ![](https://s1.51cto.com/images/blog/20 ...

  5. Maven内置属性及使用

    Maven共有6类属性: 内置属性(Maven预定义,用户可以直接使用) ${basedir}表示项目根目录,即包含pom.xml文件的目录; ${version}表示项目版本; ${project. ...

  6. es6 Symbol 的内置属性

    Symbol 的内置属性 除了定义自己使用的 Symbol 值以外,ES6 还提供了 11 个内置的 Symbol 值,指向语言内部使用的方法. Symbol.hasInstance 对象的Symbo ...

  7. Maven系列(四):Maven内置属性,pom属性

    Maven系列(四): 今天博主将为大家分享一下Maven系列(四):Maven内置属性,pom属性,不喜勿喷,如有异议欢迎讨论! 以下所写内容均与以前的文章有联系可以前往博文查看,陈永佳的博客 内置 ...

  8. UnityEditor扩展 - 编辑器中的内置属性Attribute

    Unity内置属性[Attribute]是一种类似修饰功能的标签.可以对OnSceneGUI,InspectorGUI,MenuGUI,WindowGUI等实现各种各样的GUI扩展.在这一章里将举例介 ...

  9. Ant 脚本打印系统属性变量、ant内置属性

    Ant 脚本打印系统属性变量.ant内置属性 作用 编写ant脚本的时候,经常会引用到系统属性,本脚本用于打印系统常用属性(System.getProperties)与环境变量(Environment ...

最新文章

  1. Android 属性动画(Property Animation) ObjectAnimator的介绍
  2. linux中使用net方式连接网络,如何使用 Netplan 从终端连接到无线网络?
  3. 面试python开发_python开发面试问题
  4. linux增量安装tomcat_linux与windows下tomcat的java内存设置
  5. 如何校验内存数据的一致性,DynamicExpresso 算是帮上大忙了
  6. mysql全局变量和局部变量的区别_详细讲解mysql全局变量与局部变量
  7. CSS3属性calc函数(CSS3)
  8. [转载]MyISAM InnoDB 区别
  9. 在字符串中标红_在C ++中标记字符串
  10. Atitit 遍历文件夹算法 autoit attilax总结
  11. Redhat 7.2 安装网卡驱动
  12. 逻辑学学习.14 --- 谓词逻辑(六):数量量词和摹状词
  13. 基于vue transform: translateY 上下滑动实现
  14. 职称最新消息:2022年开始湖北全面实行职称电子证书
  15. 【Flex】“安装的AdobeFlashPlayer不是调试器”解决办法之详解
  16. package.json 文件详解
  17. JavaWeb登陆成功后跳转到上一个页面
  18. 一名菜鸟程序猿对前端的简单理解及介绍
  19. CAD 开发实现不重启CAD软件修改代码调试
  20. 【转】旅游推荐系统的演进

热门文章

  1. GridView自动序号
  2. vue使用Echart跟随窗口大小改变而重新绘制时出现读取窗口大小不及时的问题
  3. PHP 文件与目录操作
  4. 网站微端服务器,微端服务器
  5. 北林oj-算法设计与分析-Simple Count(C++,思路+代码)
  6. VS2019-C++警告-C6385读取数据无效
  7. 表达式计算:后缀表达式求解 以及 中缀表达式转换为后缀表达式
  8. 菜鸟学了SpringBoot后,撸了个博客项目(大神跳过哈)
  9. java中的 ok_java okhttp包的类特点
  10. api 微信内置浏览器js_微信小程序和HTML的区别