您的位置:首页 > 编程语言 > Python开发

Python个人快速入门学习(六)Python中的函数

2019-01-24 23:46 706 查看

六、Python中的函数(重点)

1.函数的理解和定义:一段具有特定功能的、可重用的语句组,降低了编码的难度

定义方式:

[code]def <函数名> (<参数>) :
<函数体>
return <返回值>

函数定义时,所指定的参数是一种占位符

函数定义后,如果不调用不会执行

函数定义时,参数是输入,函数体是处理,结果是输出(IPO)

2.函数的使用及调用过程:

    调用是运行函数代码的方式,调用时要给出实际参数,实际参数替换定义中的参数,函数调用后得到返回值

3.函数的参数传递

(1)可选参数传递:函数定义时可以为某些参数指定默认值,构成可选参数

所有的可选参数必须放在非可选参数之后

[code]def <函数名> (<非可选参数> , <可选参数>):
<函数体>
return <返回值>
[code]def function (n , m=1):
<函数体>
return <返回值>
#使用方法:
function(10)    #默认m=1
function(10,5)  #此时m=5

(2)可变参数传递:函数定义时可以设计可变数量参数,即参数的数量不确定

[code]def <函数名> (<参数>,*b):
<函数体>
return <返回值>
#前面的参数代表确定传入的参数,*b代表不确定传入的参数

4.函数的返回值:返回值可以有也可以没有,如果没有返回值就直接 return

return 可以不传递返回值也可以传递 任意多个返回值(元组类型)

5.lambda函数

[code]<函数名> = lambda <参数> : <表达式>
#等价于
def <函数名> (参数列表):
{
<函数体>
return <返回值>
}

lambda函数主要用于表示特定的参数表达形式,是一种特殊的函数,正常的函数应该还是使用def来定义

6.函数的运用实例:打印日期

[code]import turtle
import time
def main():
turtle.setup(800,400,400,400)
turtle.penup()
turtle.hideturtle()
turtle.bk(300)
turtle.pensize(5)
turtle.colormode(255)
turtle.pencolor(255,0,0)
turtle.speed(0)
turtle.Turtle().screen.delay(0)
t = time.gmtime()
t = time.strftime("%Y-%m-%d",t)
count = 0
for i in t :
if(i=='-'):
split()
if(count):
turtle.pencolor(0,162,232)
else:
turtle.pencolor(34,177,76)
count += 1
else:
drawnumber(eval(i))
swift()
turtle.hideturtle()
def drawline(isDraw):
if(isDraw):
drawgap()
turtle.pendown()
turtle.fd(30)
drawgap()
turtle.right(90)
else:
drawgap()
turtle.penup()
turtle.fd(30)
drawgap()
turtle.right(90)
def drawgap():
turtle.penup()
turtle.fd(5)
def drawnumber(num):
#<> if () else <>
drawline(True) if num in [2,3,4,5,6,8,9] else drawline(False)
drawline(True) if num in [0,1,3,4,5,6,7,8,9] else drawline(False)
drawline(True) if num in [0,2,3,5,6,8,9] else drawline(False)
drawline(True) if num in [0,2,6,8] else drawline(False)
turtle.left(90)
drawline(True) if num in [0,4,5,6,8,9] else drawline(False)
drawline(True) if num in [0,2,3,5,6,7,8,9] else drawline(False)
drawline(True) if num in [0,1,2,3,4,7,8,9] else drawline(False)
def swift():
turtle.right(180)
turtle.penup()
turtle.fd(40)
def split():
turtle.penup()
turtle.bk(30)
turtle.pendown()
turtle.pencolor(0,0,0)
turtle.fd(20)
turtle.penup()
turtle.fd(10)
main()

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: