【Python函数中定义参数的四种方式】教程文章相关的互联网学习教程文章

python – 如何以表格形式打印多个对象的参数?【代码】

参见英文答案 > Line up columns of numbers (print output in table format) 7个我有一个对象列表,我想在一个漂亮的表中打印每个参数. 我的代码在这里:class item(object):def __init__(self, thing, owner, color):self.thing = thingself.owner = ownerself.color = colorbin = [] bin.append(item('shirt', 'John', 'red')) bin.append(item('skirt', 'Jane', 'blue')) ## Need help h...

类方法中的Python关键字参数【代码】

我正在尝试编写一个带有3个关键字参数的类方法.我之前使用过关键字参数,但似乎无法让它在我的班级内部工作.以下代码:def gamesplayed(self, team = None, startyear = self._firstseason,endyear = self._lastseason):totalGames = 0for i in self._seasons:if((i.getTeam() == team or team == "null") andi.getYear() >= startyear and i.getYear() <= endyear):totalGames += i .getGames()return totalGames产生错误:NameErr...

Python函数参数类型解析【代码】

Python函数参数类型解析 python参数类型一共有五种:POSITIONAL_OR_KEYWORD VAR_POSITIONAL VAR_KEYWORD KEYWORD_ONLY POSITIONAL_ONLY(1)POSITIONAL_OR_KEYWORD:可以通过定位(位置)参数和关键字参数传入的形参,这是最常见的一种参数。 def power(x, n=2):"""return x^n"""sum = 1for i in range(n):sum *= xreturn sum#x与n都是Positional_or_keyword参数,可通过定位或关键字传参 power(5,2) #定位参数传参 power(x=2,n=10...

Bash“参数扩展”的Python等效/模拟器【代码】

我有一个bash脚本,我用它来更新我家里的几台电脑.它利用deborphan程序识别我的系统不再需要的程序(显然是Linux). bash脚本使用bash的参数扩展,这使我能够将deborphan的结果传递给我的包管理器(在本例中为aptitude): aptitude purge $(deborphan –guess-all)-y deborphan的结果是:python-pip python3-all我想将我的bash脚本转换为python(部分作为一个学习机会,因为我是python的新手),但我遇到了一个重大障碍.我对python脚本的明显...

python – 利用函数参数的一次性绑定是一个坏主意吗?【代码】

新的python用户经常被可变参数默认值绊倒.有意使用这个“功能”有什么问题和其他问题,例如,在运行时获得可调整的默认值,通过help()继续在函数签名中正确显示?class MutableString (str):def __init__ (self, value):self.value = valuedef __str__ (self):return self.valuedef __repr__ (self):return "'" + self.value + "'"defaultAnimal = MutableString('elephant')def getAnimal (species=defaultAnimal):'Return the given...

python – 使用optimize.fmin_l_bfgs_b进行参数误差估计

有没有办法估计使用scipy.optimize.fmin_l_bfgs_b(或scipy.optimize包中的任何其他有界优化例程)计算的估计优化参数的误差?解决方法:L-BFGS-B不会为您计算误差估计值,因为您可以看到in its documentation. 但是,您可以通过优化器返回的最小值计算(数值或分析)目标函数的粗体来自己估计错误:http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/DAVIES1/rd_bhatt_cvonline/node9.html 您可以在Python中以数字方式计算Hessia...

python – 在传递对象作为参数时,如何在使用“yield”时更新其变量?【代码】

仅在出于演示目的使用以下代码时:from uuid import uuid4class router(object):def route(self):res = response(jid=str(uuid4()))worker = resource()worker.dispatch(res)print '[jid: %s, status: %s]' % (res.jid, res.status)class response(object):def __init__(self, jid):self.jid = jidself.status = 0class resource(object):def __init__(self):self.status = 200def dispatch(self, res):res.status = self.statusrs...

Python 2.x optionnal subparsers – 参数错误太少【代码】

我一直在尝试使用两个子解析器来设置一个主解析器,这样当单独调用时,主解析器会显示一条帮助消息.def help_message():print "help message"import argparse parser = argparse.ArgumentParser()subparsers = parser.add_subparsers(dest='sp')parser_a = subparsers.add_parser('a') parser_a.required = False #some options... parser_b = subparsers.add_parser('b') parser_b.required = False #some options....args = parser...

python – 什么原因导致“elasticsearch.exceptions.ConnectionError:ConnectionError … error(‘getaddrinfo()参数2必【代码】

使用这个最小的代码:import elasticsearch es = elasticsearch.Elasticsearch([{u'host': u'127.0.0.1', u'port': u'9200'}])# then do anything involving a connection, eg: es.indices.exists_alias('foo')我收到这个错误:Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/home/johnc/.virtualenvs/myproject/local/lib/python2.7/site-packages/elasticsearch/client/utils.py", line 68, in _...

python – scipy linregress:仅计算缩放/斜率参数,截距固定为0【代码】

我试图使用scipy.stats.linregress来计算最小二乘意义上的两组数据之间的比例因子.然而,尽管输入xi变量是矢量而不是n2矩阵,但它给出了截距. 所以,一个简单的代码如下:from scipy import stats from numpy import arrange,arrayy = [0, 11, 19, 28, 41, 49, 62, 75, 81] xi = arange(0,9)scale, intercept, r_value, p_value, std_err = stats.linregress(xi,y)运行它,我得到10.383的比例,但我也得到-0.86的截距.如何判断它只适合缩...

大多数pythonic方式处理用于实例化类的参数组合?【代码】

假设我有一堂课Foo:class Foo(object):@staticmethoddef get_a(b, c):if not b or not c:raise ValueError("Invalid params!")return b + cdef __init__(self, a=None, b=None, c=None):if not a:a = Foo.get_a(b, c)self.a = a用户可以将该类与b和c中的一个或两个一起使用.如果提供了a,则忽略b和c. 更好的是:当提供所有三个参数时出错(确保程序员意识到正在使用哪一个)或将其放入文档中,如果提供了b,c将被忽略? 一方面,错误更明...

如何在python中重写方法默认参数?【代码】

方法默认参数可以显然被覆盖:>>> class B: ... def meth(self, r=True): print r >>> class D(B): ... def meth(self, r=False): print r ... D().meth() False >>> B().meth() True这怎么可能 ?它被认为是不好的风格?解决方法:您可以以任意方式更改重写方法的签名. Python不关心:class Base:def foo(self, x, y):passclass Deriv(Base):def foo(self, blah=100):pass但如果你问Is it considered bad style ?答案是肯定...

python – 使用默认参数传入函数【代码】

我在Python f(a,b)中有一个函数,我试图定义一个新函数g,它接受f已经设置了一个参数,类似于g(f(a = 5)).这将是一个简单的例子:def sum(a, b):return a+bdef g(x, f):return f(x)我希望能够评估g(5,sum(b = 0)).我怎么做?解决方法:使用functools.partial:g(5, partial(sum, b=5))Return a new partial object which when called will behave like func called with the positional arguments args and keyword arguments keywords...

python – publish()至少需要3个参数(给定3个)【代码】

我正在使用ceilometer python API并将数据发布到pubnub.不确定这个错误是什么意思. 这是导致我认为的问题的代码的一部分,def init_Data(data, channel):cpu_sample = cclient.samples.list(meter_name ='cpu_util')for each in cpu_sample:timetamp = each.timestampvolume = each.counter_volumevolume_int = int(volume)data_volume ={'value': volume_int}data=json.dumps(data_volume)print (data)pubnub.publish(channel='or...

python – 如何根据参数创建一个切片数组的函数【代码】

所以假设我有一个2x2x2x2x2 numpy数组G.我想根据参数a和b创建一个切片函数(其中a和b是索引). 例如,如果a = 0且b = 2,我希望函数返回G [0,:,0,:,].这可能吗?解决方法:您可以创建切片列表:idx = [0 if i in axes else slice(None) for i in range(G.ndim)]然后返回G [idx]:import numpy as np np.random.seed(2015)def getslice(G, axes):idx = [0 if i in axes else slice(None) for i in range(G.ndim)]return G[idx]G = np.r...