1、函数

(1)定义:

(2)函数调用

(3)函数的参数传递

参数传递的两种方式:函数调用时,参数可以按照位置或名称的方式传递

(4)函数的返回值

(5)局部变量和全局变量

(6)lambda函数

2、实例:七段数码管的绘制

  1. import turtle
  2. def drawLine(draw):
  3. turtle.pendown() if draw else turtle.penup()
  4. turtle.fd(40)
  5. turtle.right(90)
  6. def drawDigit(digit):
  7. drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
  8. drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
  9. drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
  10. drawLine(True) if digit in [0,2,6,8] else drawLine(False)
  11. turtle.left(90)
  12. drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
  13. drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
  14. drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
  15. turtle.left(180)
  16. turtle.penup()
  17. turtle.fd(20)
  18. def drawDate(date):
  19. for i in date :
  20. drawDigit(eval(i))
  21. def main():
  22. turtle.setup(800,350,200,200)
  23. turtle.penup()
  24. turtle.fd(-300)
  25. turtle.pensize(5)
  26. drawDate('')
  27. turtle.hideturtle()
  28. turtle.done()
  29. main()

运行结果:

  1. import turtle,time
  2. def drawGap():
  3. turtle.penup()
  4. turtle.fd(5)
  5. def drawLine(draw):
  6. drawGap()
  7. turtle.pendown() if draw else turtle.penup()
  8. turtle.fd(40)
  9. drawGap()
  10. turtle.right(90)
  11. def drawDigit(digit):
  12. drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
  13. drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
  14. drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
  15. drawLine(True) if digit in [0,2,6,8] else drawLine(False)
  16. turtle.left(90)
  17. drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
  18. drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
  19. drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
  20. turtle.left(180)
  21. turtle.penup()
  22. turtle.fd(20)
  23. def drawDate(date):
  24. turtle.pencolor("red")
  25. for i in date :
  26. if i == '-':
  27. turtle.write("年",font=("Arial", 18, "normal"))
  28. turtle.pencolor("green")
  29. turtle.fd(40)
  30. elif i == '=':
  31. turtle.write("月",font=("Arial", 18, "normal"))
  32. elif i == '+':
  33. turtle.write("日",font=("Arial", 18, "normal"))
  34. else:
  35. drawDigit(eval(i))
  36. def main():
  37. turtle.setup(800,350,200,200)
  38. turtle.penup()
  39. turtle.fd(-300)
  40. turtle.pensize(5)
  41. drawDate(time.strftime("%Y-%m=%d+",time.gmtime()))
  42. #drawDate('20181010')
  43. turtle.hideturtle()
  44. turtle.done()
  45. main()

运行结果:(不知道问题出在哪里了)

Python学习笔记6函数和代码复用的更多相关文章

  1. Python学习笔记(五)函数和代码复用

    函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...

  2. Python学习笔记之函数

    这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...

  3. 小甲鱼:Python学习笔记003_函数

    >>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...

  4. Python学习笔记009—函数

    1. 空函数 如果想定义一个什么事也不做的空函数,可以用pass语句: def nop(): pass pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数 ...

  5. Python学习笔记 - day6 - 函数

    函数 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多次执行(这叫函数的调用).函数在编程语言中有基本分为:预 ...

  6. Python学习笔记:函数详解(下)

    本文介绍:高阶函数,嵌套函数,以及由前面两个组成的装饰器 一.高阶函数:以下两种情况都是高阶函数   1.将函数名当成参数传递给另外一个函数(作用:不修改被传递函数源代码就可以添加新功能): impo ...

  7. Python学习笔记系列——函数

    今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...

  8. python学习笔记(四):函数

    一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasc ...

  9. python学习笔记:函数

    一.函数是什么 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasca ...

随机推荐

  1. Centos7下GlusterFS 分布式文件系统环境搭建

    Centos7下 GlusterFS 环境搭建准备工作glusterfs-3.6.9.tar.gzuserspace-rcu-master.zip三台服务器:192.168.133.53.192.16 ...

  2. 软件推荐----数据库数据处理Navicat Premium

    一般情况下,企业对数据库的管控很严,通常管控分成以下: 对整台服务器管理权限,如:操作系统Administrator+SA 对单个数据库(Oracle的表空间)完全权限,如:SQL DB_Owner ...

  3. 集成学习(ensemble learning)

    集成学习,又称为“多分类器系统”(multi-classifier system).“基于委员会的学习”(committee-based learning)等.基本的想法是结合多个学习器,获得比单一学 ...

  4. Linux 版 SecureCRT 界面变为 Windows 2000 风格的解决办法

    SecureCRT 是一款非常好用的远程终端连接软件,支持 Windows.Linux.macOS 全平台.由于现在工作平台主要在 Linux 系统上,SecureCRT 也是必备软件.一开始安装的是 ...

  5. 二、Python发展始

    1989年的圣诞节,Guido开始编写Python语言的编译器.Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus.他希望这个新的叫做Pytho ...

  6. Could not create local repository at /home/yizhenn/.m、IDEA倒入maven项目无法导报问题

    问题描述: 用自己电脑新搭建环境,用idea倒入项目后发现无法倒入jar包,很少郁闷,折腾了很久,最终发现问题 settings文件中下面这个配置,需要是自己电脑的路径 <localReposi ...

  7. 封装poi导出篇

    前言 先写的导入,以为导出会很简单,没想到导出的东西也不少,基于常用的几种样式和校验写了一个简单的导出,包括时间,数字,文字长度,下拉框,提示框校验,基础样式包括字体,字体颜色,背景颜色等功能,可以使 ...

  8. wechat-plus 使用node开发微信公众号

    github:https://github.com/liuyinglong/node-wechatnpm:https://www.npmjs.com/package/wechat-plus insta ...

  9. 稀疏矩阵 part 5

    ▶ 目前为止能跑的所有代码及其结果(2019年2月24日),之后添加:DIA 乘法 GPU 版:其他维度的乘法(矩阵乘矩阵):其他稀疏矩阵格式之间的相互转化 #include <stdio.h& ...

  10. 6. spring启动类配置问题

    1. @SpringBootApplication(scanBasePackages={"com.example.*"}) 相当与 @SpringBootApplication @ ...