去哪个网站做试用好,做网站什么最赚钱吗,奥派电子商务网站建设论文,如何建设网站咨询跳转页面像之前的print()、input()和len()功能#xff0c;Python提供了一些类似的内置函数#xff0c;另外也可以自己编写自定义函数。
示例#xff1a;
def hello():
print(Howdy!)
print(Howdy!!!)
print(Hello there.)
hello()
第一行是def语句#xff0c;它定义了一个名为hello…像之前的print()、input()和len()功能Python提供了一些类似的内置函数另外也可以自己编写自定义函数。
示例
def hello():
print(Howdy!)
print(Howdy!!!)
print(Hello there.)
hello()
第一行是def语句它定义了一个名为hello()的函数。def语句之后的代码块是函数的主体。该代码是在调用函数时执行而不是在首次定义函数时执行。
最后的hello()功能是函数调用。在代码中函数调用只是函数的名称后跟括号括号里面可能带有一些参数。当程序运行到这些调用时它将跳到函数的第一行并在那里开始执行代码。当运行到函数末尾时程序运行将返回到调用函数的那一行并像之前一样继续遍历运行代码。
当运行该段程序时输出如下
Howdy!
Howdy!!!
Hello there.
带有参数的DEF语句
调用print()或len()函数时可以通过在括号之间键入值来传递在此上下文中称为参数的值。还可以定义自己的接收参数的函数。
示例
def hello(name):
print(Hello name)
hello(Alice)
hello(Bob)
当运行该程序时输出如下
Hello Alice
Hello Bob
该hello()程序中函数的定义具有一个称为parameter的参数name。参数时一个变量它被存储在一个函数里被调用。第一次调用hello()函数时带有参数’Alice。程序运行进入函数变量name自动设置为Alice然后通过print()输出。
关于参数需要特别注意一点函数返回时会忘记存储在参数中的值。举个例子如果在hello(Bob)之后加print(name)程序将会报错因为name没有被命名而这个定义已经在hello(Bob)被调用返回后被回收了。
返回值和返回语句
当调用len()函数并将参数传递给Hello函数调用的结果为整数值5即传递的字符串的长度。通常函数调用求值的值称为函数的返回值。
使用def语句创建函数时可以使用语句指定返回值return。一个return语句由以下部分组成return关键字
函数应返回的值或表达式
当表达式与return语句一起使用时返回值就是该表达式的计算结果。例如以下程序定义了一个函数该函数根据作为参数传递的数字返回一个不同的字符串。
import random
def getAnswer(answerNumber):
if answerNumber 1:
return It is certain
elif answerNumber 2:
return It is decidedly so
elif answerNumber 3:
return Yes
elif answerNumber 4:
return Reply hazy try again
elif answerNumber 5:
return Ask again later
elif answerNumber 6:
return Concentrate and ask again
elif answerNumber 7:
return My reply is no
elif answerNumber 8:
return Outlook not so good
elif answerNumber 9:
return Very doubtful
r random.randint(1, 9)
fortune getAnswer(r)
print(fortune)
该程序启动时Python首先导入random模块。然后getAnswer()定义函数由于函数是已经定义的因此执行将跳过其中的代码。接下来random.randint(1, 9)函数调用有两个参数1和9。它的计算结果是1和9之间(包括1和9本身)的随机整数并且此值存储在变量r中。
将该r作为参数的getAnswer()函数调用程序运行值getAnswer()函数的头部该值r存储在参数answerNumber。然后根据answerNumber判断返回对应的字符串值。程序运行返回到程序最底部fortune getAnswer(r)返回的字符串被赋值给了变量fortune然后传递给print()调用输出。
请注意由于可以将返回值作为参数传递给另一个函数调用因此可以缩短以下三行
r random.randint(19)
fortune getAnswer(r)
print(fortune)
等效于
print(getAnswer(random.randint(19)))
None值
在python中有一个名为None的值表示没有值。None是NoneType数据类型的唯一值。(其他编程语言则为nullnil或underfined)就像True和FalseNone的首字母必须大写
当需要将不会与真实值混淆的内容存储在变量中时None会很有用。
比如spam print(Hello!)
Hello!None spam
True
在Python中在没有return声明的情况下将return None添加到任何函数定义的末尾。这类似于while 或 for循环以continue语句隐式结束的方式。另外如果使用return不带值的情况也会返回None。
关键字参数和PRINT()
大多数参数由他们在函数调用中的位置标识。例如random.randint(1, 10)与random.randint(10, 1)不同。函数调用random.randint(1, 10)将返回1和10之间的随机整数因为第一个参数是范围的低端第二个参数是高端(而random.randint(10, 1)会导致错误)
然而关键字参数在函数调用中会被他们之前的关键字标识。关键字参数也通常用于可选参数。
例如
printHelloend
printWorld
输出
HelloWorld
输出被打印在一行上因为在之后不再打印新行’Hello而是打印空白字符串如果需要禁用每个print()函数调用末尾的换行符这将很有用。
同样可以将多个字符串值传递给print()该函数将自动用空格分隔他们。print(cats, dogs, mice)
cats dogs mice
当然也可以通过传递关键字参数sep来替换默认的分隔字符串。如print(cats, dogs, mice, sep,)
cats,dogs,mice
当然你也可以在自定义函数中添加关键字参数。后面的文章将会涉及。
文档【零基础学Python】def语句参数和None值 - 掘金juejin.im