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