失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 实例:Python蟒蛇绘制

实例:Python蟒蛇绘制

时间:2023-06-02 20:56:08

相关推荐

实例:Python蟒蛇绘制

这个例子主要是用于理解Python的“模块编程思想”。

Python直接翻译是“蟒蛇”的意思,因此,利用Python绘制图形程序绘制一条蟒蛇十分有趣。

实例代码2.1是“Python蟒蛇绘制”代码以及效果,如下:

#e2.1DrawPython.pyimport turtleturtle.setup(650,350,200,200)turtle.penup()turtle.fd(-250)turtle.pendown()turtle.pensize(25)turtle.pencolor("purple")turtle.seth(-40)for i in range(4):turtle.circle(40,80)turtle.circle(-40,80)turtle.circle(40, 80/2)turtle.fd(40)turtle.circle(16,180)turtle.fd(40 * 2/3)

实例2.1与实例1.1有两个显著的不同。第一,这个程序没有使用显式的用户输入输出,即没有input()函数和print()函数;第二,这个程序绝大多数代码都是<a>.<b>()形式,代码行中没有赋值语句。

<a>.<b>()是Python编程的一种典型表达形式,它可以表示调用一个对象<a>的方法<b>(),也可以表示调用一个函数库<a>中的函数<b>()。

实例代码2.1中使用了用于绘制图形的turtle库,并在第二行中通过保留字import引用这个函数库。

import turtle

实例代码2.1的第3行到第16行调用了turtle(汉语翻译为“乌龟”)库中的若干函数来绘制蟒蛇图形,所有被调用函数都使用了<a>.<b>()形式。这种通过使用函数库并利用库中函数进行编程的方法是Python语言最重要的特点,称为“模块编程”。

使用import引用函数库有两种方式,但对函数的使用方式略有不同。

第一种引用库函数的方法如以下:

import <库名>

此时,程序可以调用库名函数中的所有函数,使用库中函数的格式如下:

<库名>.<函数名>(<函数参数>)

第二种引用函数库的方法如下:

from <库名> import <函数名,函数名...,函数名>

from <库名> import * #其中,*是通配符,表示所有函数

此时,调用该库的函数时不在需要使用库名,直接使用如下格式:

<函数名>(<函数参数>)

采用第二种库引用方式修改实例代码2.2完成Python蟒蛇绘制,代码如下

#e2.2DrawPython.pyfrom turtle import *setup(650,350,200,200)penup()fd(-250)pendown()pensize(25)pencolor("purple")seth(-40)for i in range(4):circle(40,80)circle(-40,80)circle(40, 80/2)fd(40)circle(16,180)fd(40 * 2/3)

实例代码2.2和2.1运行结果相同,不同的是调用turtle库中函数时不再采用<a>.<b>()方式,而是直接使用函数名。由于该实例中只用到了turtle库中的steup()、penup()、fd()、pendown()、pensize()、pencolor()、seth()、circle()等8个函数,第2行的import语句也可以写成如下形式:

from turtle import steup,penup,fd,pendownfrom turtle import pensize,pencolor,seth,circle

l两种函数库引用方式各有优点。第一种采用<a>.<b>()方式调用库中函数,能够显式标明函数来源,在引用较多库时代码可读性更好。第二种利用保留字直接引用库中函数,可以使代码更加简洁,在这种只引用一个库的情况下效果更好。

需要注意的是:第一种引用方式,Python解释器将<a>.<b>整体作为函数名。当采用第二种方式时,Python解释器将<b>作为函数名。这可能产生一种情况,假设用户以及定义了一个函数<b>,库中的函数名<b>将会与用户自定义的函数名冲突。由于要求函数名命名唯一,所以,当函数名冲突时Python解释器会以最近的函数定义为准。为避免可能的命名冲突,最好使用第一种库引用方式,使用<a>.<b>()方式调用库函数。

如果觉得《实例:Python蟒蛇绘制》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。