# 2.1.5 一些有用的工具

本节目标：

* 掌握`print`，`type`，`help`的用法。
* 利用`help`了解`turtle`中的`pu`，`pd`，`setpos`，`home`，`pensize`，`ht`, `st`等方法的功能和用法。
* 用这些方法完成**Learning By Doing**中的任务

Python有一些“内建函数”，指的是不需要任何模块就可以使用的函数。 （还记得函数和方法，在Python中一般指的是什么吗？） 我们先行介绍几个很有用的内建函数。

## print

`print`，它可以在控制台打印（输出）信息。 比如`print(turtle.__file__)`会输出`turtle`模块的位置。 注意“返回结果”和“打印（输出）”的区别。

返回值类似于数学函数的计算结果，比如数学函数`sin`，`sin(0)`的结果是`0`， Python中的函数除了可以像数学函数那样返回结果之外，也可以偷偷做一些其他事情， 比如`print`将内容打印在屏幕上，但是`print`没有返回任何结果。

## type

`type`函数会返回对象属于的类。 比如`type(t1)`的返回结果是`turtle.Turtle`。

## help

`help`其实不是内建函数，但是仍然是一个内建“对象”。但我们先不管那么多，当函数用就好。

`help`函数输出（即`print`，而不是返回）一个对象的文档，包括所有方法、属性，以及它们的用法 （文档一般是开发者写的，不写文档是被允许的，所以也可能没有文档）。用`help`可以对 这个对象的用法有一定程度的了解。`help(t1.lt)`会告诉你，`t1.lt`用来左转。

文档在网上通常也可以看到，比如`turtle`库的文档在[这里](https://docs.python.org/3/library/turtle.html)。

但文档大多是英文的，若有语言方面的障碍，在网路上搜索合适的关键词很多时候也能在其他地方， 比如一些博客中找到一些用法介绍。

## 注释

如果在一行后面加上#，Python解释器便不会去解释这一行#后面的内容。 #后面的内容叫做注释，一般用来在代码中做注解。

**Learning By Doing 难度：★ 重要性：★★★★★**

* 运行以下代码，观察结果。

```python
import turtle
t1 = turtle.Turtle() # 创建一个小海龟对象
print(type(turtle)) # 输出模块turtle的类型
print(type(t1))
print(type(t1.fd))
print(type(50))
print(type(print))

print(turtle.__file__)
print(turtle.__doc__)

help(t1)
```

**Learning By Doing 难度：★ 重要性：★★★★★**

* 利用`help`了解`Turtle`对象下列若干方法的用法，想想应该怎么写：
  * `pu`
  * `pd`
  * `setpos`
  * `home`
  * `pensize`
  * `st`
  * `ht`
* 在[这里](http://www.runoob.com/python3/python3-built-in-functions.html)有所有内建函数的列表和简单介绍，

  需要时可以查阅。
