Python学习第七天(函数)

本文详细介绍了Python中的循环结构,包括while的嵌套循环和for循环,以及range()函数的使用。此外,深入讲解了函数的定义、参数类型(位置参数、关键字参数、默认参数和可变参数)以及函数的嵌套和递归。通过实例展示了如何实现阶乘计算和斐波那契数列,有助于理解Python编程基础。
摘要由CSDN通过智能技术生成

while的嵌套
在这里插入图片描述
while进行嵌套时,第一个whi代表的是外层循环控制,第二个是内部循环控制。
eg:打印小星星
row=1
#外层循环控制行
while rou <=5:
col=1
#内层循环控制列
while col <=row:
print(" * " ,end=" “)
col+=1
print()
row+=1
eg:打印乘法表
i = 1
while i <= 9:
l = 1
while l <= i:
print(”%d*%d=%d" % (l, i, i * l), end=" “)
l+=1
print()
i += 1
2、for循环
for循环可以遍历任何有序的序列对象的元素。
在这里插入图片描述
range()函数
range(start,stop,step)函数默认产生一个从0开始的一个整数列表。
start:表示整数开始的位置
stop:表示整数结束的位置,但是不包含此值。
step:表示步长。默认为1。
嵌套for循环:
在这里插入图片描述
eg:空心矩形
for i in range(5):
for l in range (5):
if i0 or l0 or l4 or i4:
print(”*",end=" “)
else :
print(” “,end=” “)
print()
函数:定义一个函数
在这里插入图片描述
定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个”:"。

def 是固定的,不能变,他就是定义函数的关键字。

空格 为了将def关键字和函数名分开,必须空(四声),当然你可以空2格、3格或者你想空多少都行,但正常人还是空1格。

函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能

括号:是必须加的,先别问为啥要有括号,总之加上括号就对了!

注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。

调用:就是 函数名() 要记得加上括号。
2、定义一个带有参数的函数
在这里插入图片描述
3、定义带返回的函数
所谓的返回就是程序中函数完成一件事情后,最后给函数的调用者。调用者根据需求利用返回值做出不同的操作。
在这里插入图片描述
return也可以反回多个值 
return 只有两个作用:
1,结束整个函数。

2,给函数的执行者(调用者)返回值
二、函数的参数
在Python中函数参数的定义有四种
1、位置参数
在传参的时候,实参传递的顺序按照形参定义的顺序进行传递的传参方式。

def sum(num1,num2):
total=num1+num2
print(total)
sum(32,43)
2、关键字参数
def sum(num1,num2):
total=num1+num2
print(total)
sum(num2=32,num1=43)
3、默认参数
当某个值不发生变化的时候,可以采用默认值。
4、可变参数
如果函数中的参数过多,我们定义起来非常的麻烦,调用也很麻烦,因此可以使用可变函数。能处理比当时声明时更多的参数,会将传入的参数变成元组(*args)或者(**kwargs)
(1)元组参数 arge
通过在形参前面加上
使参数变成一个元组,所传递的参数变成元组的元素
def func (*arges):
print(arg)
print(args[0],args[1])
func(1,2,3,4)
注意:args参数名称可以任意命名,但是一般我们叫他args。
(2)字典参数 **kwargs
通过给形参前面添加 “ * * ”使参数变成一个字典,所有穿的的参数变成字典的链值对,这里传参要求链等于值得形式。

    • kwargs 结果类型是字典,传递至是key=value方式传入
      三、函数的嵌套及调用
      1、函数的嵌套
      在这里插入图片描述
      函数的里面在套用另一个函数。
      2.递归函数
      一个函数在内部调用自己,这个就是递归函数。
      使用递归函数的条件:
      1.必须留出口
      2.自己调用自己
      在这里插入图片描述
      在这里插入图片描述
      练习1、使用递归函数求阶乘
      练习2、实现斐波那契数列

练习1、
def jiecheng(num):
if num==1:
return 1
red=jiecheng(num-1)
return (num*red)
reslt=jiecheng(10)
print(reslt)

练习2、
def feibo(num):
a=1
b=1
while num>0:
print(b,end=" ")
a,b=b,a+b
num-=1
feibo(10)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值