精华内容
下载资源
问答
  • python获取方法名称

    千次阅读 2019-08-08 11:07:47
    python方法获取方法名称可以调用__name__ 在内部获取当前方法名称: f_code和co_name可以参考python源码解析的pyc生成和命名空间章节。 获取注释直接调用__doc__即可,注意在方法内,用上述方法得到...

    python在方法外获取方法名称可以调用__name__

    在内部获取当前方法名称:

    f_code和co_name可以参考python源码解析的pyc生成和命名空间章节。

     

    获取注释直接调用__doc__即可,注意在方法内,用上述方法得到方法名后,方法名为一个字符串,而__doc__返回的是调用它的对象的文档,所以此时我们获取到的实际是个字符串对象,不是我们想要的对象,为了让python能把它当做我们想要的对象,调用eval方法即可

     

    展开全文
  • getattr函数 (1)使用 getattr 函数,可以得到一个...// 该语句获取列表的 pop 方法的引用,注意该语句并不是调用 pop 方法,调用 pop 方法的应该是 li.pop(), 这里指的是方法对象本身。 >>> getattr(li, "pop") <built>
  • 实例教你用Python获取当前函数名称

    千次阅读 2019-10-10 18:15:25
    今天为大家带来的内容是实例教你用Python获取当前函数名称,具有一定借鉴价值,希望对大家有所帮助! 提示: python 具有强大的自省能力,在函数运行时,可以在函数内部获取到当前所在的函数名称,请看示例代码 ...

    前言:

    今天为大家带来的内容是实例教你用Python获取当前函数名称,具有一定借鉴价值,希望对大家有所帮助!

    提示:

    python 具有强大的自省能力,在函数运行时,可以在函数内部获取到当前所在的函数名称,请看示例代码

    12192974-bd528ccf89898e38
    实例教你用Python获取当前函数名称
     class MyClass: 
     def function_one(self): 
     print '3',inspect.stack()[0][3] 
     print '4', sys._getframe().f_code.co_name 
     print "6 %s.%s invoked"%(self.__class__.__name__, get_current_function_name()) 
    
    12192974-4665d0d1c3865dab
    实例教你用Python获取当前函数名称

    示例演示了两种获取当前所在函数名称的方法,一种是用sys内置模块,一种是使用inspect模块。运行结果如下:

     1. my_name 
     2. my_name 
     3. function_one 
     4. function_one 
     5. get_current_function_name 
     6. MyClass.function_one invoked
    

    sys.getframe().f_code.co_name 方法永远获取当前所在的函数名称,inspect.stack()方法相对更灵活一些,在get_current_function_name函数中,sys获取的函数名称是get_cu

    rrent_function_name,而inspect方法返回的结果是function_one。inspect.stack记录了当前的栈内信息,想进一步了解可以打印inspect.stack()信息。

    在function_one函数中调用了get_current_function_name,因此inspect.stack()返回的list中的第一个元组是有关get_current_function_name信息的,

    第二个元组才是function_one的相关信息。

    以上就是本文的全部内容啦!

    python交流群:877562786(群里含大量学习资料,面试宝典等)

    展开全文
  • 定义:tag对象的get()方法,让我们很容易从元素中获取属性值。向该方法传入一个属性名称的字符串,它将返回该属性的值。 博大精深的汉语:主语是tag对象。主要的事情说三遍。 看代码: soup.select(‘span’) ...

    定义:tag对象的get()方法,让我们很容易从元素中获取属性值。向该方法传入一个属性名称的字符串,它将返回该属性的值。

    博大精深的汉语:主语是tag对象。主要的事情说三遍。
    看代码:
    这是example.html 代码内容。

    在这里插入图片描述

    soup.select(‘span’) 传值给spanElem,但是spanElem 很显然是list 。不是tag。怎么用tag?

    在这里插入图片描述
    在这里插入图片描述

    记录自己的小发现

    展开全文
  • Python通过getattr获取对象引用

    千次阅读 2017-01-16 12:38:13
    getattr函数(1)使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用。>>> li = ["Larry", "Curly"] ...// 该语句获取列表的 pop 方法的引用,注意该语句并不是调用 pop 方法,调用 pop 方法的应该是 li.p

    getattr函数

    (1)使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用。

    >>> li = ["Larry", "Curly"]
    >>> li.pop
    <built-in method pop of list object at 0x7fb75c255518>
    // 该语句获取列表的 pop 方法的引用,注意该语句并不是调用 pop 方法,调用 pop 方法的应该是 li.pop(), 这里指的是方法对象本身。
    
    >>> getattr(li, "pop")
    <built-in method pop of list object at 0x7fb75c2556c8>
    // 该语句也是返回 pop 方法的引用,但是此时,方法名称是作为一个字符串参数传递给 getattr 函数的, getattr 是一个有用到令人无法致信的内置函数,可以返回任何对象的任何属性。在这个例子中,对象是一个 list, 属性是 pop 方法。
    
    >>> getattr(li, "append")("Moe")
    >>> li
    ['Larry', 'Curly', 'Moe']
    // 如果不确信它是多么的有用,试试这个: getattr 的返回值是 方法, 然后你就可以调用它,就像直接使用 li.append("Moe") 一样, 但是实际上你没有直接调用函数, 只是以字符串形式指定了函数名称。
    
    >>> getattr({}, "clear")
    <built-in method clear of dict object at 0x7fb75c273b40>
    // getattr 也可以作用于字典。
    
    >>> getattr((), "pop")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'tuple' object has no attribute 'pop'
    // 理论上, getattr 可以作用于元组,但是由于元组没有方法,所以不管你指定什么属性名称 getattr 都会引发一个异常。
    

    (2)用于模块的 getattr : getattr不仅仅适用于内置数据类型,也可作用于模块。

    // odbchelper.py
    def buildConnectionString(params):
        """Build a connection string from a dictionary of parameters. 
        Returns string."""
        return ";".join(["%s=%s" % (k, v) for k, v in params.items()])
    
    if __name__ == "__main__":
        myParams = {"server":"mpilgrim",\
                    "database":"master",\
                    "uid":"sa",\
                    "pwd":"secret"
                   }
        print buildConnectionString(myParams)
    // end
    
    >>> import odbchelper
    >>> odbchelper.buildConnectionString
    <function buildConnectionString at 0x7fb75c26e848>
    // 该语句返回 odbchelper 模块中 buildConnectionString 函数的引用
    
    >>> getattr(odbchelper, "buildConnectionString")
    <function buildConnectionString at 0x7fb75c26e848>
    // 使用 getattr, 你能够获得同一函数的同一引用, 通常, getattr(object," attribute ")等价于 object.attribute, 如果 object 是一个模块的话,那么 attribute 可能是定义在模块中的任何东西:函数、类或者全局变量。
    
    >>> object = odbchelper
    >>> method = "buildConnectionString"
    >>> getattr(object, method)
    <function buildConnectionString at 0x7fb75c26e848>
    // object 作为一个参数传递给函数, method 是方法或者函数的名称字符串。
    
    >>> type(getattr(object, method))
    <type 'function'>
    >>> import types
    >>> type(getattr(object, method)) == types.FunctionType
    True
    // method 是函数的名称,通过获取 type 可以进行验证。
    
    >>> callable(getattr(object, method))
    True
    // 由于 method 是一个函数, 所以它是可调用的。

    (3)getattr 作为一 个分发者

    getattr 常见的使用模式是作为一个分发者。举个例子, 如果你有一个程序可以以不同的格式输出数据,你可以为每种输出格式定义各自的格式输出函数, 然后使用唯一的分发函数调用所需的格式输出函数。

    例如, 我们假设有一个以 HTML、XML 和普通文本格式打印站点统计的程序。输出格式在命令行中指定, 或者保存在配置文件中, statsout 模块定义了三个函数: output_html 、 output_xml 和 output_text , 然后主程序定义了唯一的输出函数, 如下:

    import statsout
    
    def output(data, format="text"):        (1)
        output_function = getattr(statsout, "output_%s" % \
                        format, statsout.output_text)     (2)
        return output_function(data)        (3)       

    (1) output 函数接收一个必备参数 data, 和一个可选参数 format, 如果没有指定 format 参数, 其缺省值是 text 并完成普通文本输出函数的调用。

    (2) 你可以连接 format 参数值和 “output_” 来创建一个函数名称作为参数值, 然后从 statsout 模块中取得该函数, 第三个参数是一个缺省返回值, 如果第二个参数指定的属性或者方法没能找到, 则将返回这个缺省返回值。这种方式允许今后很容易地扩展程序以支持其它的输出格式,而且无需修改分发函数。所要做的仅仅是向 statsout 中添加一个函数,比如 output_pdf, 之后只要将 “pdf” 作为 format 的参数值传递给 output 函数即可。

    (3) 现在你可以简单地调用输出函数,就像调用其它函数一样, output_function 变量是指向 statsout 模块中相应函数的引用。

    展开全文
  • python获取对象信息

    千次阅读 2016-11-09 19:43:56
    拿到一个变量,除了用 isinstance() 判断它是否是某种类型的实例外,还有没有别的方法获取到更多的信息呢? 例如,已有定义: class Person(object): def __init__(self, name, gender): self.name = name self...
  • python面向对象

    千次阅读 多人点赞 2018-01-18 13:20:47
    Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。如果你以前没有接触过面向对象的编程语言,那你可能...
  • python Class:获取对象类型

    千次阅读 2018-07-19 12:09:17
    获取对象类型:一、type#!/usr/bin/env python3# -*- coding: utf-8 -*-class Animal(object): def __init__(self, name, score): self.name = name self.score = score def run(self):...
  • python获取命令行参数的方法

    万次阅读 2018-09-19 17:27:30
    介绍python获取命令行参数的方法:sys,getopt,argparse。 一、sys模块 sys.argv[] 包含命令行参数的字符串列表,通过下标获取参数。 例如: #!/usr/bin/python # Filename: using_sys.py import sys print ...
  • 2.1 Python面向对象

    万次阅读 2019-05-21 10:15:14
    2.1 Python面向对象 2.1.1 面向对象编程概述: Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的. 面向对象技术简介 类(Class): 用来描述具有相同的属性和...
  • B.__base__.__name__ 可以获取到父类的名字。 没有的话就是 object,object 就是一切对象的父类。 Python 面向对象-如何查看类的父类,外部如何获取类的名字
  • Python 获取一个对象的名字

    千次阅读 2016-09-01 00:02:00
    Note: 这里的对象是广义的,一个列表也算 有name的不在讨论之列, 因为可以直接输出 没有name的,可以参考如下代码,使用到的是globals() except_word是用于过滤掉那些不想要的结果的,比如下面的例子中的for...
  • Python面向对象基础

    千次阅读 2021-02-23 11:44:04
    添加和获取对象属性 魔法方法 一. 理解面向对象 面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管他内部的情况。而编程就是设置事物能够做什么事 二. 类和对象 在面向对象编程过程中,有...
  • python基础系列教程——python面向对象编程全解

    万次阅读 多人点赞 2017-12-04 19:32:54
    面向对象技术简介类(Class):用来描述具有相同的属性和方法对象的集合。它定义了该集合中每个对象所共有的属性和方法对象是类的实例(对象是类实例化之后的结果)。类变量:类变量在整个实例化的对象中是公用的...
  • python 获得对象的所有属性和方法

    万次阅读 2017-06-26 14:41:17
    例如:XBLOCK对象有下例属性和方法,可以通过dir(self) 获得 dir[self]=['__class__', '__delattr__', '__dict__', '__doc__', '__fo rmat__', '__getattribute__', '__hash__', '__init__', '__metaclass__', '__...
  • python获取文件后缀名We can use Python os module splitext() function to get the file extension. This function splits the file path into a tuple having two values – root and extension. 我们可以使用...
  • python 获取环境变量

    千次阅读 2019-01-15 16:07:22
    Python Shell设置或获取环境变量的方法: 一、设置系统环境变量 1、os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型 2、os.putenv('环境变量名称', '环境变量值') 二、获取系统环境...
  • python获取xml中的数据

    千次阅读 2018-12-20 14:27:34
    文章目录一、xml中节点包含的属性:二、节点类型三、python获取xml节点:实例1 打印根节点信息 一、xml中节点包含的属性: nodeName——节点名称 nodeValue——节点值 nodeType——节点类型 nodeType为1说明...
  • Python面向对象编程指南

    万次阅读 多人点赞 2014-04-16 14:30:54
    虽然Python是解释性语言,但是它是面向... 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法。  类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义:
  • 本文通过两种方法给大家介绍了把JSON数据格式转换为Python的类对象,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下 JOSN字符串转换为自定义类实例对象 有时候我们有这种需求...
  • python获取函数名

    千次阅读 2012-08-09 15:18:14
    python获取函数名的情况分为内部、外部 从外部的情况好获取,使用指向函数的对象,然后用__name__属性 def a():pass a.__name__ 除此之外还可以: getattr(a,'__name__') 尽管有些脱裤子放屁,...
  • python获取Pandas列名的几种方法

    千次阅读 2019-12-30 10:18:42
    2.通过columns字段获取,返回一个numpy型的array print ( data . columns . values ) # 打印结果 [‘COUNT’ ‘SUCC’ ‘FAIL’ ‘WAIT PAY’ ‘SUCCRatio’ ‘time’] 3. 直接使用 list 关键字,返回一个...
  • Python面向对象@property用法

    千次阅读 2018-04-16 18:32:12
    def __len__(self): #这个方法可以使实例化后的对象被len()使用并返回自己想要的长度 return 100 t = Test_len() print(len(t)) ''' 访问限制:私有属性,私有方法,类属性,实例属性, 双下划线意思是私有变量/...
  • Python3 面向对象

    千次阅读 2017-05-01 15:28:07
    Python3 面向对象Python3 面向对象 面向对象技术简介 类定义 类对象 self代表类的实例而非类 类的方法 继承 多继承 方法重写 类属性与方法 类的私有属性 类的方法 类的私有方法 实例 类的专有方法 运算符重载Python...
  • Python面向对象详解

    万次阅读 2011-10-25 13:05:02
    引言 提到面向对象,总是离不开几个重要的术语:多态(Polymorphism),继承(Inheritance)和封装(Encapsulation)。...类:对具有相同数据和方法的一组对象的描述或定义。 对象对象是一个类的实例。
  • 3.4Python对象数据库ZODB

    千次阅读 2016-09-25 15:22:41
    一、基本概念关系数据库并不是Python程序员唯一可用的解决方案。通常,对象数据库可能更适合解决某些问题...二、ZODB使用建立和断开与ZODB的连接连接到ZODB的标准方法设计创建四个对象:存储数据库数据的方法、围绕...
  • Day03 : python面向对象编程(一)

    千次阅读 多人点赞 2020-05-19 17:05:30
    python中面向对象的一些细节 ------人生苦短,python当歌
  • Python的Code对象

    千次阅读 2019-06-29 19:38:26
    Code对象表示字节编译的可执行Python代码或字节码。 Code对象和函数对象之间的区别在于: 函数对象包含对函数的全局变量(定义它的模块)的显式引用,而Code对象不包含上下文 ...code对象可以用来获取python程序运...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 128,528
精华内容 51,411
关键字:

python获取对象方法名称

python 订阅