Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 定义方法-输出dogdog_Python_Procedure - Fatal编程技术网

Python 定义方法-输出dogdog

Python 定义方法-输出dogdog,python,procedure,Python,Procedure,我试过运行下面的代码。为什么代码不打印DogCatdog?在主程序中,我已经将a to equal dog定义为字符串,将b to equal cat定义为字符串?下面我做错了什么?我的理解是,它会将dog和cat的值分配给A和B,然后打印报税表 当前代码打印出ABBA。如果我把打印方法改为 打印abbaize('dog','cat'),然后它会打印出dogcatdog。为什么我不能像在下面的代码中那样在main方法中定义它 def abbaize(a ='dog', b ='cat'):

我试过运行下面的代码。为什么代码不打印DogCatdog?在主程序中,我已经将a to equal dog定义为字符串,将b to equal cat定义为字符串?下面我做错了什么?我的理解是,它会将dog和cat的值分配给A和B,然后打印报税表

当前代码打印出ABBA。如果我把打印方法改为 打印abbaize('dog','cat'),然后它会打印出dogcatdog。为什么我不能像在下面的代码中那样在main方法中定义它

def abbaize(a ='dog', b ='cat'):
    return a + b + b + a
print abbaize('a','b')
我希望上面的代码可以打印DogCatdog

更改此行:

print abbaize('a','b')
致:

如果你用你的台词,它会将字符串“dog”替换为“a”。 因为您已经在函数中声明了变量,所以不需要将它们传递给函数。 也许为了更好地理解,您也可以这样做:

def abbaize(a, b):
    return a + b + b + a
print abbaize('dog','cat')
如果您使用的是Python 3.x,还需要将打印行更改为:

print(abbaize())
你没有用
abbaize(a='dog',b='cat')
来“定义a等于狗为字符串,b等于猫”,你只是说
abbaize
有两个参数,
a
b
,这两个参数都是可选的,分别有默认值
'dog'
'cat'
。但是,如果执行
abbaize('a','b')
,则将
'a'
(一个字符串)作为参数
a
的值传递,将
'b'
作为参数
b
的值传递。要使用默认值,只需不传递任何参数,调用
abbaize()
(或者可以使用
abbaize('dog','cat')
再次传递它们)。
print(abbaize())