[关闭]
@zhangyu756897669 2017-08-21T15:04:36.000000Z 字数 2562 阅读 535

Python官方文档8.0

python官方文档


import 语句, pyperclip模块

  1. 您已经熟悉前几章的print(),input()和len()函数。 Python提供了几个这样的内置函数,但是你也可以编写自己的函数。这个功能就像编写一个程序中的一个迷你程序。
  2. 为了更好地了解功能如何工作,我们来创建一个
  1. def hello():
  2. print('Howdy!')
  3. print('Howdy!!!')
  4. print('Hello there.')
  5. hello()
  6. hello()
  7. hello()

第一行是def声明 ❶, 它定义了一个名为hello()的函数。 在def语句❷之后的块中的代码是函数的正文。 调用该函数时执行此代码,而不是首次定义该函数时执行此代码.

函数后面的hello()行 ❸ 是函数调用。在代码中,函数调用只是函数的名称后跟括号,可能在括号之间有一些参数。 当程序执行到达这些调用时,它将跳转到函数的顶行,并开始执行代码。 当到达函数的末尾时,执行返回到调用该函数的行,并像以前一样继续移动代码。

由于这个程序调用hello()三次,所以hello()函数中的代码被执行了三次。当您运行此程序时,输出如下所示:
Howdy!
Howdy!!!
Hello there.
Howdy!
Howdy!!!
Hello there.
Howdy!
Howdy!!!
Hello there.

def 语句中添加参数

当你调用print()或len()函数时,通过在括号中键入值来传递在这个上下文中称为参数的值。您还可以定义自己接受参数的函数。

  1. def hello(name):
  2. print('Hello' + name)
  3. hello('ZhangYu')
  4. hello('Bob')

当你运行程序之后,结果会是
hello ZhangYu
hello Bob

关于参数的一个特别的事情是当函数返回时,存储在参数中的值被遗忘。例如,如果在上一个程序中的hello('Bob')之后添加了print(name),程序会给你一个NameError,因为没有名为name的变量。在函数调用hello('Bob')返回后,该变量被销毁,因此print(name)将引用不存在的名称变量

返回值和返回语句

  1. 当你调用len()函数并传递一个诸如'Hello'的参数时,函数调用将计算为整数值5,它是你传递的字符串的长度。一般来说,函数调用求值的值称为函数的返回值。
  2. 使用def语句创建函数时,可以使用return语句指定返回值的值。返回语句包括以下内容:

    • return 关键词
    • 该函数应返回的值或表达式
  3. 当一个表达式与return语句一起使用时,返回值是该表达式求值的值。例如,以下程序定义了一个返回不同字符串的函数,具体取决于作为参数传递的数字。
  1. import random
  2. def getAnswer (answerNumber):
  3. if answerNumber == 1:
  4. return 'It is certain'
  5. elif answerNumber == 2:
  6. return 'It is decidedly so'
  7. elif answerNumber == 3:
  8. return 'Yes'
  9. elif answerNumber == 4:
  10. return 'Reply hazy try again'
  11. elif answerNumber == 5:
  12. return 'Ask again later'
  13. elif answerNumber == 6:
  14. return 'Concentrate and ask again'
  15. elif answerNumber == 7:
  16. return 'My reply is no'
  17. elif answerNumber == 8:
  18. return 'Outlook not so good'
  19. elif answerNumber == 9:
  20. return 'Very doubtful'
  21. r = random.randint(1, 9)
  22. fortune = getAnswer(r)
  23. print(fortune)

空值None

  1. 在Python中有一个名为None的值,它表示没有值。 None是NoneType数据类型的唯一值。 (其他编程语言可能会将此值称为null,nil或undefined)。与Boolean True和False值一样,必须使用大写N键入None。
  2. 当您需要存储不会在变量中的实际值混淆的东西时,这个无值的值可能会有帮助。一个使用None的地方是print()的返回值。 print()函数在屏幕上显示文本,但不需要以与len()或input()相同的方式返回任何内容。但是由于所有函数调用需要求值返回值,print()返回None。要查看此操作,请在交互式shell中输入以下内容:
  1. spam = print('Hello!')

hello

  1. None == spam

True

  1. 大多数参数是通过它们在函数调用中的位置来标识的。例如,random.randint(1,10)与random.randint不同(10,1)。函数调用random.randint(1,10)将返回1到10之间的随机整数,因为第一个参数是范围的低端,第二个参数是高端(而random.randint(10,1)导致错误)。

  2. 然而,关键字参数是通过在函数调用中放在它们之前的关键字来标识的。关键字参数通常用于可选参数。例如,print()函数具有可选参数end和sep,用于指定在其参数的结尾以及它们的参数(分隔)之间应该打印的内容。

  3. 如果你输出如下代码:
  1. print('Hello')
  2. print('World')

Hello
World

两个字符串显示在单独的行上,因为print()函数会自动将换行符添加到其传递的字符串的末尾。但是,您可以设置end关键字参数将其更改为不同的字符串。例如,如果程序是这样的:

  1. print('Hello', end='')
  2. print('World')

HelloWorld
如果您需要禁用添加到每个print()函数调用结束的换行符,这将非常有用。

类似地,当您将多个字符串值传递给print()时,函数将自动将它们与单个空格分隔开。

  1. print('cats', 'dogs', 'mice')

cats dogs mice

但是您可以通过传递sep关键字参数来替换默认分隔字符串。

  1. print('cats', 'dogs', 'mice', sep=',')

cats,dogs,mice

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注