【Python】动态获取python类名、函数名&多线程

import time
import random
import threading
import inspect

def get_current_function_name():
    return inspect.stack()[1][3]

class Inclass:
    def __init__(self):
        print ‘Inclass 初始化‘
    def execIn(self,i):
        rand = int(random.random() * 10)
        print i,‘【%s.%s】---%s--开始执行,暂停%d秒‘ % (self.__class__.__name__, get_current_function_name(),time.ctime(),rand)
        time.sleep(rand)
        return i

class MyThread(threading.Thread):
    def __init__(self,func,args,name = ‘‘):
        threading.Thread.__init__(self)
        self.name = name
        self.func = func
        self.args = args
    def getResult(self):
        return self.res
    def run(self):
        self.res = self.func(*self.args)

class Outclass:
    def __init__(self):
        print ‘OutClass初始化‘
    def execOut(self):
        InC = Inclass()
        length = 1000
        threadlen = 10
        k = 0
        i = 0
        while i < length:
            nloops = range(threadlen)
            threads = []
            for j in range(threadlen):
                t = MyThread( InC.execIn, (i,))
                i += 1
                threads.append(t)
            for i in nloops:
                threads[i].start()
            for i in nloops:
                threads[i].join()

            for i in nloops:
                print ‘-----result:‘,threads[i].getResult()

            print k,‘【%s.%s】--%s--开始执行多线程第%d个小循环‘ % (self.__class__.__name__, get_current_function_name(),time.ctime(),k)
            k += 1

OC = Outclass()
OC.execOut()
            
时间: 2024-10-26 13:46:20

【Python】动态获取python类名、函数名&多线程的相关文章

Python如何获取到当前函数名和通过字符串调用函数

获取当前函数名: 应用环境: 某些时候, 为了简化和更好扩展程序,我们需要获取到当前运行的函数名字 方法1(不推荐) import sys def I_want_to_know_my_name(): print(sys._getframe().f_code.co_name) #你懂得,下划线开头的不应该使用的 方法2 import traceback def who_am_i(): return traceback.extract_stack()[-2][2] def I_want_to_kno

类名+函数名(参数1,参数2.....){.......return this;}

下述的函数是这样定义的: 类名+函数名(参数1,参数2.....){.......return this;} int +函数名(参数1,参数2.....){.......return int;} short+函数名(参数1,参数2.....){.......return short;} double+函数名(参数1,参数2.....){.......return double;} String+函数名(参数1,参数2.....){.......return String;} int[]+函数名(

python 动态获取当前运行的类名和函数名的方法

一.使用内置方法和修饰器方法获取类名.函数名 python中获取函数名的情况分为内部.外部,从外部的情况好获取,使用指向函数的对象,然后用__name__属性 复制代码代码如下: def a():passa.__name__ 除此之外还可以: 复制代码代码如下: getattr(a,'__name__') 尽管有些脱裤子放屁,总之,从外部获取的方法是非常灵活的. 有些同学需要从函数内部获取函数本身的名字,就需要用些技巧了.1.使用sys模块的方法: 复制代码代码如下: def a():print

python 获取当前调用函数名等log信息

import sys funcName = sys._getframe().f_back.f_code.co_name #获取调用函数名 lineNumber = sys._getframe().f_back.f_lineno #获取行号 print sys._getframe().f_code.co_name # 获取当前函数名 import inspect def get_current_function_name(): return inspect.stack()[1][3] class

python动态获取对象的属性和方法 (转载)

首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding:utf-8 import sys def foo():pass class Cat(object): def __init__(self, name='Kitty'): self.name = name def sayHi(self): print self.name, 'says Hi!' cat = Cat() print Cat.sayHi print cat.sayHi 有时候我们会碰到这样的需求,需要执行对象的某

python动态获取对象的属性和方法

http://blog.csdn.net/kenkywu/article/details/6822220首先通过一个例子来看一下本文中可能用到的对象和相关概念.01     #coding: UTF-802     import sys #  模块,sys指向这个模块对象03     import inspect04     def foo(): pass # 函数,foo指向这个函数对象05      06     class Cat(object): # 类,Cat指向这个类对象07    

AS3动态获取对象类名及类的方法,getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName

首先先告诉大家,我要讲的是flash.utils包中的 getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName 可能帮助文档写的过于专业,程序底子差的不一定能看明白,我用我理解的,通俗的讲一遍给大家听.. 1.getDefinitionByName 如果你已知这个类的类名类路径,但是你又没办法得到这个类的原型,那么可以通过该函数,将已知的类名类路径转换为类的原型,然后还可以将得到的类原型进行实例化,比如: var

【转】python中获取python版本号的方法

原文 python3 #!/usr/bin/python # 第1种方法 import platform print(platform.python_version()) # 第2种方法 import sys print(sys.version) print(sys.version_info) >>> import sys >>> sys.version '3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900

python中获取python版本号的方法【转】

1 2 3 4 #!/usr/bin/python  # 第1种方法 import platform  print(platform.python_version()) 1 2 3 >>> import platform >>> print(platform.python_version()) 3.6.3 1 2 3 4 # 第2种方法 import sys  print(sys.version) print(sys.version_info) 来自:https://b