【Python10】初学Python中的函数

 

目录

1.函数的定义及作用

①函数的概念:

②函数的作用:

2.函数的创建及调用

①函数的创建:

②函数名的明明要求:

③空函数

④函数的调用

2.1.使用一个简单的函数绘制五角星

3.含单个参数的函数

3.1.在python中给函数设置一个参数

3.2.参数的类型 

4.使用函数绘制一个太阳花

5.含有多个参数的函数

5.1.含有多个参数的函数的设置

5.2.含有多个参数的函数的调用

6.默认参数

6.1.为什么要用默认参数

6.2.默认参数的使用

6.3.设置默认参数时,默认参数的位置要放在非默认参数后面 

7.不定长参数 

7.1.*args不定长位置参数

7.2.**args不定长关键字参数

8.使用关键字参数作为实参 

9.匿名函数 ——lambda

9.1.Python对lamdba函数的限制

10.返回值和return关键字

10.1.return的用法

10.2.return和print的区别

10.3.return关键字单独使用

11.局部变量和全局变量

11.1.局部变量不能在外部被访问

11.2.全局变量的值可以在函数内部被获取

11.3.在函数内部使用全局变量不会对全局变量进行修改

11.4.避免全局变量和局部变量名称相同

11.5.global关键字(在函数中使用全局变量)


1.函数的定义及作用

①函数的概念:

函数是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集

②函数的作用:

可以加强代码的复用性,提高程序编写的效率

2.函数的创建及调用

①函数的创建:

在python中,创建函数需要使用def关键字来定义它,后接函数名、参数列表、冒号,从第二行开始是函数体,函数体需要进行缩进,通常是4个英文空格。例如:

'''
def 函数名(参数列表):
	函数体
'''
def func():
	print('Hello,World!')

②函数名的明明要求:

a.函数名可以由字母、数字和下划线组成,但不能以数字作为开头

b.函数的名字尽量表达出函数的功能

③空函数

当我们创建函数时,如果没有想好怎么写函数体的代码,可以使用pass语句。pass是跳过的意思,它可以起到占位符的作用:

'''
def 函数名(参数列表):
	函数体
'''
def func():
	pass

④函数的调用

函数定义好了,需要进行调用。如果不调用它,则不会产生任何效果

'''
def 函数名(参数列表):
	函数体
'''
def func():
	print('Hello,World!')
func()

>>>Hello,World!

2.1.使用一个简单的函数绘制五角星

import turtle
def star():
	#绘制五角星
	for i in range(5):
		turtle.forward(100)
		turtle.left(144)
star() #调用函数
turtle.done() #阻止画图弹窗关闭

3.含单个参数的函数

3.1.在python中给函数设置一个参数

在python中,给函数设置参数非常简单,只需要在函数名后面的“()”中添加上参数,然后在函数体中使用参数即可。

python中设置的参数其实就相当于一个变量,然后直接在函数体中调用变量就可以了。

在python中,定义参数时,不用定义参数的数据类型。

设置参数时,参数时没有实际值的,我们称它为形参当调用的时候,会另外给它传一个实际的参数,这个参数才会在函数体中生效,我们称它为实参。

例如,我们给画五角星的函数设置一个参数:

import turtle
#绘制五角星,传一个五角星边长的参数
def star(x): #在这里的x称为形参
	for i in range(5):
		turtle.forward(x)
		turtle.left(144)
star(50) #在这里x称为实参
turtle.done() #阻止弹窗关闭

3.2.参数的类型 

参数的类型可以是:数值、字符串、布尔值、列表、字典、元组,甚至可以是另外一个函数等等

4.使用函数绘制一个太阳花

circle、setheading,都遵循 “ 顺时针 - 负,逆时针 + 正 ” 的原则

setheading是按照x正方向来旋转的

left 逆时针,right 顺时针

import turtle
turtle.speed(0)
#画花的函数
def flower(x,y):
	#把画笔下移,从地面开始画花
	turtle.penup()
	turtle.right(90)
	turtle.forward(200)
	turtle.pendown()
	turtle.right(180)
	#花茎
	turtle.pensize(8)
	turtle.pencolor("green")
	turtle.forward(100)
	#花叶
	#绘制花叶的步骤最好是在纸上画出,才好理解角度
	turtle.setheading(45)
	turtle.circle(-120,60)
	turtle.setheading(225)
	turtle.circle(-120,60)
	#setheading()用法和left()、right()不同的地方在于:
	#setheading每次执行时会自动把方向设置成x正轴方向,再进行旋转
    #而left和right是从当前位置来算的
	turtle.setheading(135)
	turtle.circle(120,60)
	turtle.setheading(-45)
	turtle.circle(120,60)
	#上半截花茎
	turtle.setheading(90)
	turtle.forward(200)
	#画太阳花
	turtle.pensize(1)
	turtle.pencolor('black')
	#填充颜色放在外面,颜色就不会覆盖花边
	#如果把填充颜色放在循环里面,颜色就会覆盖边,因为画一个就填充一个正方形
	turtle.fillcolor('yellow')
	turtle.begin_fill()
	for i in range(x):
		for j in range(4):
			turtle.forward(y)
			turtle.left(90)
		turtle.left(360/x)
	turtle.end_fill()
flower(20,35)
turtle.penup()
turtle.goto(-250,0)
turtle.pendown()
#由于画笔移动过去之后朝向是向上的
turtle.right(90)
flower(20,50)
turtle.done()

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值