Python的函数库

Python语言与C语言Java类似,可以大量使用外部函数库包含在安装包中的函数库:。

比如math, random, turtle等其他函数库,其他函数库用户根据代码需求自行安装。

Python对函数库引用的方式

第一种方式

import <库名>

例如: import turtle(turtle库是Python中绘制图形的库,里面包含多种绘制图形的方法

如果需要用到函数库中函数,需要使用:
<库名>. <函数名>

比如要用到turtle库里面绘制直线的fd()方法,就得用turtle.fd()格式使用。

例  >> >import turtle
>> > turtle.fd(100)

第二种方式

from <库名> import < 函数名>from <库名> import *

调用函数不需要<库名> ,直接使用<函数名>
例  > > > from turtle import *
>> > fd(100)

两种引|用方式的区别

这两种引用方式对程序运行没有区别,需要注意:如果采用第一种方式 ,用户自定义的函数名字

可以和库中函数的名字一样,例如,程序中可以定义自己的fd()函数如果采用第二种方式,用户

程序中不能用函数库中的名字定义函数。

例如:程序不能定义新的fd()函数,因为库turtle中的fd()函数也是直接通过fd()调用。

对于新手,建议使用第一种方式,不容易混淆的同时可以让自己和别人清楚的知道被调用函数

的出处。

小蟒蛇的绘制

代码:

import turtle

def drawSnake (rad, angle, len, neckrad):

for i in range (1en) :
           turtle. circle (rad, angle)

turtle. circle( -rad, angle)

turtle . circle (rad, angle/2)

turtle . fd (rad)
      turtle . circle (neckrad+1, 180)

turtle . fd (rad*2/3)

def main() :
      turtle. setup (1300, 800, 0, 0)

pythonsize = 30
      turtle . pensize (pythonsize)

turtle . pencolor ("blue")

turtle . seth(-40)
      drawSnake (40 , 80, 5, pythonsize/2)

main ()

运行结果:

思路整理:

(1)我们要绘制小蟒蛇,必须先调用turtle库,然后定义一个绘制蟒蛇的函数drawSnake (rad, angle, len, neckrad):,

里面包含绘制蟒蛇的方法。根据小蟒蛇的运动轨迹,首先我们要定义画笔画弧线的半径(这里半径是矢量,有方向),

以及角度。引用for循环来完成画弧线的部分。完成循环部分后,接着有一小段弧形,接着是一小段直线,接着是180度

的反转,最后有一小段直线。turtle.circle是画弧线的方法,turtle.fd是画直线的方法。

(2)写完绘制方法后,定义main函数,要在main()函数中进行初始化,首先对绘图的窗口的大小及位置进行初始化,

然后对画笔的粗细,画笔的颜色进行初始化,然后初始化画笔的启动方向。最后对函数对

drawSnake (rad, angle, len, neckrad): 里的参数进行赋值。

(3)程序的入口main()。

Python学习之turtle库和蟒蛇绘制程序的更多相关文章

  1. [Python学习笔记] turtle库的基本使用

    turtle库常用函数 引入turtle模块 import turtle turtle的绘图窗体 #setup()设置窗口大小及位置#setup()可省略turtle.setup(width,heig ...

  2. Python学习day45-数据库(总结)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  3. Python学习day44-数据库(单表及多表查询)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  4. Python学习day43-数据库(多表关系)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  5. Python学习day42-数据库的基本操作(1)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  6. Python学习day41-数据库(1)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  7. python学习2:turtle的使用蟒蛇绘制的学习以及自己摸索的等边三角形绘制(跟随mooc学习)

    首先先放上蟒蛇的绘制程序 import turtle#引入外部库#def保留字用于 定义函数 def drawSnake(rad,angle,len,neckrad): for i in range( ...

  8. python中的turtle库绘制图形

    1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...

  9. python中关于turtle库的学习笔记

    一.基础概念 1.画布:画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置.常用的画布方法有两个:screensize()和setup(). (1)turtle.screen ...

随机推荐

  1. AutoCAD C#二次开发

    https://www.cnblogs.com/gisoracle/archive/2012/02/19/2357925.html using System; using System.Collect ...

  2. react-navigation

    安卓端React Navigation的TabNavigator选项卡与react-native-scrollable-tab-view.FlatList一起使用,只显示第一页的内容. 解决方案: 给 ...

  3. 修改jdk注册表

    如果是新增jdk的话就选中java Development  kit 文件夹右击新建,然后把属性配置上就可以

  4. Kafka集群环境配置

    Kafka集群环境配置 1 环境准备 1.1 集群规划 Node02 Node03 Node04 zk zk zk kafka kafka kafka 1.2 jar包下载 安装包:kafka_2.1 ...

  5. ECMAScript---object对象类型详解

    普通对象:由大括号包裹起来的,由零到多个属性名和属性值(键值对)组成的 那什么是属性呢? 属性:描述当前对象特征的,属性名是当前具备这个特征,属性值是这个特征的描述(专业语法,属性名称为键[key], ...

  6. 【数据库】MySQL 函数大全包含示例(涵盖了常用如时间、数字、字符串处理、数据流函数的和一些冷门的)

    ps:博客园markdown不能自动生成列表,更好的阅读体验可访问我的个人博客http://www.isspark.com/archives/mysqlFunctionDesc 数学函数(Mathem ...

  7. 基于Taro与typescript开发的网易云音乐小程序(持续更新)

    基于Taro与网易云音乐api开发,技术栈主要是:typescript+taro+taro-ui+redux,目前主要是着重小程序端的展示,主要也是借此项目强化下上述几个技术栈的使用,通过这个项目也可 ...

  8. Docker容器技术的核心

    容器技术的核心 所谓容器,其实是由Linux Namespace.Linux Cgroups和rootfs三种技术构建出来的进程的隔离环境 对于Docker项目来说,其实最核心就是为待创建的用户进程: ...

  9. ios5与ios7数字输入样式一致

    <input  name="activeCode" id="activeCode" ontouchstart="this.type='numbe ...

  10. java-jsp特殊字符处理

    str = str.replaceAll("'", "''").replaceAll("\"", ""&quo ...