Python入门学习(六)函数学习

Python入门

Python开发工具的使用:Pycharm的配置使用


第一章:Python入门学习(一)Print函数、Input函数、基本数据类型、运算符、流程控制语句、循环语句
第二章:Python入门学习(二) 列表的增删改查
第三章:Python入门学习(三) 字典的增删改查
第四章:Python入门学习(四)元组与集合
第五章:Python入门学习(五)字符串的操作
第六章:Python入门学习(六)函数学习
第七章:Python入门学习(七)Python异常处理机制
第八章:Python入门学习(八)Python中的类和对象
第九章:Python入门学习(九)Python面向对象的三大特征封装、继承和多态
第十章:Python入门学习(十)Python模块化编程
第十一章:Python入门学习(十一)Python的IO操作


第十二章:Python进阶学习(一)_学生信息管理系统项目


代码仓库地址:Python入门项目

介绍

  1. 什么是函数?
    函数就是执行特定任务和完成特定功能的一段代码
  2. 为什么需要函数?
    复用代码
    隐藏实现细节
    提高可维护性
    提高可读性便于调试

函数

函数的创建、调用

函数的语法结构:

def 函数名 ([参数]:
	函数体
	[return xxx]
# 函数的创建
def calc(a,b):
    c = a + b
    return c
# 函数的调用   直接使用函数名调用
result = calc(10,20)
print(result)
result = calc(b=10,a=20)
print(result)

函数的参数传递

函数的参数传递:
def calc(a,b):       a、b称为形式参数,简称形参, 位置是在函数的定义处
    c = a + b        1020成为实际参数,简称实参,位置是在函数的调用处
    return c
    1.位置实参  def calc(1020)  根据形参的相应位置进行实参传递
    2.关键字实参def calc(b=10,a=20)根据形参名进行实参传递  形参名称=实参值

函数返回多个值时,结果为元组

def fun(num):  # 函数返回多个值时,结果为元组
    odd=[]
    even=[]
    for item in num:
        if item%2:
            even.append(item)
        else:
            odd.append(item)
    return odd,even

num = [12,43,46,22,3,54,23]
result = fun(num)  # 返回的是一个元组   ([12, 46, 22, 54], [43, 3, 23])
print(result)

函数的参数定义

函数定义默认参数值

# 函数定义默认参数值   b成为默认值参数
def fun(a,b=10):
    return a+b
print(fun(10))   # 如果只传入一个参数,则b使用默认值10
print(fun(10,b=20))# 如果传入时有b的值,则b不采用默认值使用传入时的值
print('hello',end='\t')  # end是print函数的默认值参数  end默认为/n换行
print('world')

例如:print打印函数的默认参数值 end为换行符
在这里插入图片描述

个数可变的位置参数

定义函数时,可能无法实现确定传递的位置实参的个数时,可以使用可变的位置参数
使用*定义个数可变的位置形参
结构为一个元组

个数可变的关键字形参

定义函数时,无法实现确定传递的关键字实参的个数时,使用可变的关键字形参
使用**定义个数可变的关键字形参
结果为一个字典

def fun(*args):
    print(args)
fun(10)
fun(12,23,45,15)
def fun(**args):
    print(args)
fun(a=10)
fun(a=10,b=20,c=30)

在这里插入图片描述

函数的返回值

函数的返回值:
    1.可以没有返回值
    2.如果返回的只有一个值,直接返回类型
    3.如果返回的多个值,则返回元组类型

变量的作用域

局部变量:在函数内定义并使用的变量,只在函数内部有效,局部变量使用global声明,这个变量就会成为全局变量
全局变量:函数体外定义的变量,可作用与函数内外

# 变量的作用域
def fun(a,b):
    c = a+b  # c成为局部变量,定义在函数内部,只能在函数内部使用,不能在函数外部使用
    return c
fun(10,20)
name = 'lsh'
def fun():
    print(name)  # name称为全局变量,在函数内外都可以使用
fun()
def fun() :
    global age    #在函数内部定义age变量 是局部变量  但是使用global成为全局变量
    age = 20
    print(age)
fun()
print(age)

递归函数

在这里插入图片描述

# 递归函数  自己调自己
# 使用递归来计算阶乘   6! = 6*5*4*3*2*1
def fac(n):
    if n == 1:
        return 1
    else:
        res = n*fac(n-1)
        return res
print(fac(6))

斐波那契数列:1 1 2 3 5 8 13 21 …

# 斐波那契数列   当前项的数字等于前两项之和  :1 1 2 3 5 8 13 21 ...
def fin(n):
    if n == 1:
        return 1
    elif n==2:
        return 1
    else:
        return fin(n-1)+fin(n-2)
print(fin(6))
# 输出这个序列的前六位数组
for i in range(1,7):
    print(fin(i),end='\t')

总结

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liu_Shihao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值