使用字符串作为参数定义函数

时间:2018-05-17 18:07:46

标签: python user-defined-functions

为什么当我们定义一个带有字符串作为参数的函数时,我们不需要引号,但是当我们使用它时,我们需要引号?谢谢!

例如,

def shout(word):
    shout_word = word + '!!!'

(这里我们没有'word'的引号)

shout_word('abd')

但是我们需要''为abd ..

我已经在线浏览了一些资料,但可能我的问题太详细或太基本所以似乎以前没有人问过它。谢谢您的帮助!!学习python对我来说很重要!

5 个答案:

答案 0 :(得分:3)

标记'word'声明了shout函数的参数。此时,尚不清楚它是否是一个字符串 - 它只是一个变量名。将在您的代码尝试添加“!!!”的位置检查其类型它。 “!”是一个字符串文字,解释器将检查'word'的运行时类型是否支持添加字符串。

在学习任何编程语言时,了解变量名和变量文字之间的区别非常重要。

答案 1 :(得分:2)

因为word没有在函数中明确定义为字符串,所以它只是一个变量。将'abc'传递给函数意味着将字赋值为'abc'。

答案 2 :(得分:2)

这是因为函数参数也是变量。如果将函数的字符串参数括在引号中,例如"word",那么它不再是参数了。

答案 3 :(得分:1)

通常,在编程语言中,每当我们定义方法时,我们都使用参数名称作为占位符。这有助于我们对问题进行概括,并允许我们的函数处理不同的数据。

这里有一个需要取字符串的方法,并使用变量 word 表示这个。我们希望此方法适用于我们为方法 shout_word()提供的任何字符串,因此我们使用此变量名称进行推广。

无论何时调用方法,例如执行 shout_word(“abc”)时,“abc”都在引号中,因为我们将值传递给参数 word

Here is some more notation for you on method definitions in Python!

答案 4 :(得分:0)

第一个实例中的Word不是字符串,它是名为“word”的变量。在第二个实例中,“abd”是一个字符串文字