我想问一下如何在python中调用带有两个参数的函数。例如,
下面的代码是我想调用颜色函数的一个例子。
def color(object):
return '\033[1;34m'+object+'\033[1;m'
tes = 'this must be blue'
print color(tes)
但这仅仅是针对一个论点。 那么我想把这两个论点与选择不同的颜色结合起来。 以下是我的虚拟代码。
def color(object,arg2):
blue = '\033[1;34m'+object+'\033[1;m'
red = '\033[1;31m'+object+'\033[1;m'
tes = 'this must be blue'
tes_2 = 'i wanna this string into red!!'
print color(tes,red)
好吧,那只是我的虚拟代码,这将是一个像这样的错误..
print color(tes,red)
NameError: name 'red' is not defined
你能告诉我如何在python中运行良好吗? TY
答案 0 :(得分:2)
第二个区块中的小但基本错误:
object
和arg2
。 object
是一个保留的python单词,这两个单词都不是那么解释,而且(真正的错误)你从不在函数中使用arg2
。return
值。color(tes,red)
color(tes,tes_2)
。我已经重写了这个块,看看(经过一些修改,你可以稍后进行微调)
def color(color1,color2):
blue = '\033[1;34m'+color1+'\033[1;m'
red = '\033[1;31m'+color2+'\033[1;m'
return blue, red
tes = 'this must be blue'
tes_2 = 'i wanna this string into red!!'
for c in color(tes,tes_2):
print c
实现你想要的另一个建议是:
def to_blue(color):
return '\033[1;34m'+color+'\033[1;m'
def to_red(color):
return '\033[1;31m'+color+'\033[1;m'
print to_blue('this is blue')
print to_red('now this is red')
编辑:根据要求(这只是开头; oP。例如,您可以使用颜色名称和颜色代码字典来调用该函数)
def to_color(string, color):
if color == "blue":
return '\033[1;34m'+color+'\033[1;m'
elif color == "red":
return '\033[1;31m'+color+'\033[1;m'
else:
return "Are you kidding?"
#should be 'raise some error etc etc.'
print to_color("this blue", "blue")
print to_color("this red", "red")
print to_color("his yellow", "yellow")
答案 1 :(得分:1)
def color(object,arg2):
blue = '\033[1;34m'+object+'\033[1;m'
red = '\033[1;31m'+arg2+'\033[1;m'
return blue + red
tes = 'this must be blue'
tes_2 = 'i wanna this string into red!!'
print color(tes,tes_2)
我认为你应该访问Python2.7 Tutorial
答案 2 :(得分:1)
red
变量是在color
内定义的,因此您无法在color
之外使用它。
相反,您定义了变量tes
和tes_2
,因此对color
的调用应该看起来像print color(tes, tes_2)
。