- 浏览: 1312195 次
- 性别:
- 来自: 江苏
最新评论
-
honey_fansy:
的确,不要自己的支持就说完美支持,我的就不行,别说我的不是fi ...
无js实现text-overflow: ellipsis; 完美支持Firefox -
fanchengfei:
事件长微博,欢迎转发:http://weibo.com/332 ...
《在路上 …》 写代码也需要一点演技 – python2.6 的 class decorator -
blued:
没有报错,但排版效果一点都没有 咋回事。请指教
python排版工具 -
szxiaoli:
耍人呀,效果在哪儿呀
滑动效果 -
accaolei:
这个能监到控子目录吗?,我测试了一下,发现子目录里的文件监控不 ...
windows监控目录改动
##1.如何还原函数的参数调用
##什么也不说了,copy and run
##有什么用,自己想象吧
def show_para(func):
func_id="%s.%s"%(func.__module__,func.__name__)
varnames=func.func_code.co_varnames
if func.func_defaults:
varnames_len=len(varnames)
defaults=[repr(i) for i in func.func_defaults]
def get_id(args,kwds):
paras=[repr(i) for i in args]
len_args=len(args)
pos=len_args-varnames_len
if kwds:
for i in varnames[len_args:]:
paras.append(
repr(kwds.get(i,defaults[pos]))
)
pos+=1
else:
paras.extend(defaults[pos:])
return "%s(%s)"%(func_id,",".join(paras))[-250:]
else:
def get_id(args,kwds):
paras=[repr(i) for i in args]
if kwds:
for i in varnames[len(args):]:
paras.append(
repr(kwds[i])
)
return "%s(%s)"%(func_id,",".join(paras))[-250:]
def _func(*args,**kwds):
print get_id(args,kwds)
print len(get_id(args,kwds))
return _func
@show_para
def xxx(a,b,c,d="张",e="沈",f="鹏",g=2):
pass
@show_para
def ooo(a,b,c):
pass
xxx(1,2,3,f=121)
ooo(1,2,3)
########################################################################
##2.元类与缓存
#coding:utf-8
##同样,copy and run
##不做解释,自己想象
from types import ClassType
class mc(object):
__cache={}
@staticmethod
def get(id):
r=mc.__cache.get(id,None)
print "mc.get\t%s = %s"%(id,r)
return r
@staticmethod
def set(id,value):
print "mc.set\t%s = %s"%(id,value)
mc.__cache[id]=value
@staticmethod
def delete(id):
print "mc.delete \t%s"%(id)
mc.__cache.pop(id)
class MetaMc(type):
"""
使用该元类的类
如果自定义__init__必须第一个参数必须是id
否则,生成的__init__第一个参数默认是id
"""
def __new__(cls,classname,bases,classdict):
class_id="%s.%s:"%(classdict['__module__'],classname)
def init_maker(init):
if init:
for i in bases:
if isinstance(i,MetaMc):
def __init__(self,id,*args,**kwds):
return init(self,id,*args,**kwds)
return __init__
def __init__(self,id,*args,**kwds):
self.__id=int(id)
self.__mc_id="%s%s"%(class_id,id)
self.__profile=mc.get(self.__mc_id) or {}
init(self,id,*args,**kwds)
else:
if bases:
if isinstance(bases[0],MetaMc):
return None
else:
def __init__(self,id,*args,**kwds):
self.__id=int(id)
self.__mc_id="%s%s"%(class_id,id)
self.__profile=mc.get(self.__mc_id) or {}
return bases[0].__init__(self,*args,**kwds)
else:
def __init__(self,id,*args,**kwds):
self.__id=int(id)
self.__mc_id="%s%s"%(class_id,id)
self.__profile=mc.get(self.__mc_id) or {}
return __init__
__init__=init_maker(classdict.get("__init__",None))
if __init__:
classdict["__init__"]=__init__
@property
def id(self):
return self.__id
classdict["id"]=id
if "__repr__" not in classdict:
def __repr__(self):
return self.__mc_id
classdict["__repr__"]=__repr__
if "__str__" not in classdict:
def __str__(self):
return self.__mc_id
classdict["__str__"]=__str__
def mc_clean(self):
self.__profile={}
mc.delete(self.__mc_id)
classdict["mc_clean"]=mc_clean
def get_maker(k,v):
def get(self):
profile=self.__profile
if k in profile:
result=profile[k]
else:
result=v.get.im_func(self)
profile[k]=result
mc.set(self.__mc_id,profile)
self.__profile=profile
return result
return get
def set_maker(k,v):
def set(self,value):
result=v.set.im_func(self,value)
self.__profile[k]=value
mc.set(self.__mc_id,self.__profile)
return result
return set
for k,v in classdict.iteritems():
if isinstance(v,ClassType):
has_get=hasattr(v,"get")
has_set=hasattr(v,"set")
if has_set and has_get:
classdict[k]=property(get_maker(k,v),set_maker(k,v))
elif has_get:
classdict[k]=property(get_maker(k,v))
elif has_set:
classdict[k]=property(fset=set_maker(k,v))
return type.__new__(cls, classname, bases, classdict)
class db:
name=1
amount=0
class A:
__metaclass__=MetaMc
class name:
def get(self):
return db.name
def set(self,value):
db.name=value
class amount:
def get(self):
return "amount %s"%db.amount
def set(self,value):
pass
class B(A):
pass
b=B(1)
print b.name
print b.name
print b.name
b.name+=1
print b.name
print b.name
b.mc_clean()
print b.name
print b.id
print type(b.id)
发表评论
-
关于"Google限制Python"事件我的看法
2009-11-17 15:11 8426本来做一个勤勤恳恳的 ... -
python排版工具
2009-10-15 14:22 3524http://pypi.python.org/pypi/pyt ... -
Fast Asynchronous Python Web Server (Fapws is short)
2009-08-15 12:12 1873http://github.com/william-os4y/ ... -
python奇技淫巧
2009-07-23 22:27 2527http://wiki.python.org/moin/By ... -
跨平台 获取系统信息的python库 http://support.hyperic.com/disp
2009-06-12 11:49 3663The Sigar API provides a portab ... -
频繁集统计 python 封装
2009-05-29 15:49 2676封装的是附件这篇paper的count 因为对比发现这个的综合 ... -
libsvm (python封装) 学习笔记 1
2009-05-19 14:28 42532009-05-19 14:10:38 #!/usr/bin ... -
lcs.py 最长公共子串算法
2009-05-05 15:50 2994感觉用来匹配相似文件比最短编辑距离更靠谱,最短编辑应该是用来纠 ... -
lrucache.py 最近最少使用算法
2009-05-04 13:23 2928lrucache.py 最近最少使用算法 2009-05-04 ... -
史上最快 异步消息队列zeromq 简介
2009-04-30 21:40 27303是的,我喜欢Z开头的东西. http://www.zer ... -
相似单词
2009-03-18 00:54 1786给你一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词 ... -
is_cn_char
2009-03-14 13:39 1360unicode码 def is_cn_char(i): ... -
写一个python的urldecode
2009-03-03 10:57 5138from urllib import unquote def ... -
今天才发现python的sort有个key参数,我好圡...
2009-02-28 20:59 3141>>> a=range(10) >& ... -
发一个山寨版python的Orm
2009-02-24 23:49 2256发一个山寨版的Orm 大概用法见 http://docs. ... -
pyrex学习笔记
2009-02-24 03:36 17120. easy_install pyrex 1.写pyrex ... -
python的一个有趣的细节
2009-02-24 02:00 1385python3.0一个有趣的细节 2009-02-24 01: ... -
python备玩候选者
2009-02-24 00:34 1716* 张沈鹏 推荐网址当然要有一个部署的东西 Exs ... -
python读取mp3 ID3信息
2009-02-18 16:57 2665pyid3不好用,常常有不认识的. mutagen不错,不过 ... -
又写了一个python的route模块
2009-01-14 01:18 2115是的 我很无聊
相关推荐
Python-trick,上传的事pdf文档
### python中SVM分类的参数详解 #### 一、引言 SVM(Support Vector Machine,支持向量机)作为一种强大的机器学习算法,在文本分类、图像识别、生物信息学等领域有着广泛的应用。尤其是在处理高维数据时,SVM能够...
Python技巧是Python社区中一种独特的交流方式,它通过简短而具有教学性的代码片段来传授Python语言的特性。这些技巧通常是在Twitter上分享的,它们可以是简单的示例,用以解释Python的某个特定概念,也可以是复杂的...
YOLOv5|YOLOv7|YOLOv8改各种IoU损失函数:YOLOv8涨点Trick,改进添加SIoU损失函数、EIoU损失函数、GIoU损失函数、α-IoU损失函数-CSDN博客.mhtml
同时,SVM也可以通过调整参数进行调优,如使用网格搜索(GridSearchCV)来寻找最优的核函数参数和惩罚项。 总结来说,Python中的SVM算法主要涉及以下几个关键点: 1. 最大间隔分类器的概念与构造。 2. 核函数的使用...
Python在数据处理方面有许多技巧(tricks),可以帮助提高效率和简化任务。以下是一些常用的Python数据处理技巧: 使用Pandas的read_*函数:Pandas库提供了多种读取数据的功能,如read_csv(), read_excel(), read_...
3. **核函数(Kernel Trick)**:SVM可以使用核函数将数据从原始空间映射到高维特征空间,使得非线性可分问题变得线性可分。常用的核函数有线性核、多项式核、RBF(高斯核)和Sigmoid核。 **使用Python的SVM步骤:*...
3. 遗传算法和粒子群优化:这些全局优化方法可以用于寻找更好的核函数参数,以提高模型性能。 4. 处理大规模数据:对于大量样本,可以采用稀疏矩阵存储数据,或者使用在线学习算法,如Stochastic Gradient Descent...
理解Python的基本语法、数据类型、函数、类以及异常处理等概念是必要的。 3. **elem.data和elem_trick5po**:这两个可能是指特定的项目命名或者文件夹名称,它们可能是存放爬取到的数据或者项目特定技巧的地方,...
Slope Trick 主要针对一类特定的问题——即目标函数为凸函数的动态规划问题。这类问题的特点在于状态转移方程中含有绝对值或分段线性函数等复杂表达式。而Slope Trick 就是用来简化这些复杂表达式的计算过程,通过...
这本书涵盖了多种Python语言的精华,包括但不限于元编程、高级数据结构、函数式编程、错误处理以及优化策略等。 在Python的世界里,元编程是一种强大的工具,它允许程序员在运行时自动生成或修改代码。书中可能会...
1. Python编程哲学:Python的设计哲学是强调代码的可读性和简洁的语法,它鼓励使用英文关键字,并在可能的情况下减少代码的长度。Python的语法允许程序员用极少的代码行来表达概念,其中的空格使用、缩进等规则对...
基于python实现的水下机器人算法+源码+开发文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 基本网络模型 cascade rcnn resnext101 pretrained on...
2. **核函数(Kernel Trick)**:LIBSVM支持多种核函数,如线性核、多项式核、高斯核(RBF)等,通过非线性映射将数据转换到高维空间,使得原本难以分隔的数据在新的空间中变得容易区分。 3. **C-SVM与ε-SVR**:C-...
基于python实现手写痕迹文档图像摩尔纹消除源码+项目运行说明.zip 二、数据分析 **数据划分**:使用1000张做为训练集,81张作为验证集。 官方提供了训练集1081对,测试集A、B各200张。包含以下几个特征: 1.图像...
核函数参数`gamma`,影响核函数的宽度。可以通过交叉验证和网格搜索(`GridSearchCV`)来优化这些参数。 6. **训练模型**:使用`fit`方法拟合模型到训练数据。 7. **预测**:用`predict`方法对测试集进行预测。 8. *...
此外,Scikit-Learn还提供了`GridSearchCV`工具来进行参数调优,寻找最优的核函数参数和正则化参数。 总之,Python中的支持向量机是一个强大的工具,适用于各种机器学习问题。通过合理选择核函数、调整参数,我们...
这使我可以调用简单的方法,例如killing_intervention()并传递上述任何一个参数,但不能同时实现这两个方法的覆盖率和开始时间。 如果您在命令行上运行脚本,它将仅创建一堆这些字典并将其写入控制台。 test_...
当数据不是线性可分时,可以使用核函数(Kernel Trick)将数据映射到高维空间,使得在高维空间中数据变得线性可分。常见的核函数有线性核、多项式核、高斯核(RBF)等。高斯核函数(RBF)表达式为: (, ′) = exp...
### 利用Python实现支持向量机:源码与详细注释 #### 一、支持向量机(SVM)简介 支持向量机(Support Vector Machine, SVM)是一种广泛应用于机器学习领域的监督学习算法,主要用于解决二元分类问题。其核心思想...