Python教程

sdu项目实训1-1 (知识储备)python中函数的使用

本文主要是介绍sdu项目实训1-1 (知识储备)python中函数的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
我分配到的是后端的工作,需要用到DRF Django框架,是基于python的,所以先学一下python并做个简单的记录

python中函数的使用

  • 前言
  • 一、函数的创建和调用
    • 1.什么是函数
    • 2.为什么需要函数
    • 3.函数的创建
    • 4.使用示例
  • 二、函数的参数传递
    • 1.位置实参
    • 2.关键字实参
  • 三、函数的返回值
  • 四、函数的参数定义
    • 1.函数定义默认值参数
    • 2.个数可变的位置参数
    • 3.个数可变的关键字形参
  • 五、变量的作用域
    • 1.局部变量
    • 2.全局变量
  • 六、递归函数
    • 1.什么是递归函数
    • 2.递归的组成部分
    • 3.递归的调用过程
    • 4.递归的优缺点
    • 5.递归实例
  • 总结


前言

水晶球不调用不动

提示:以下是本篇文章正文内容,下面案例可供参考

一、函数的创建和调用

1.什么是函数

函数就是执行特定任务和完成特定功能的一段代码

2.为什么需要函数

复用代码
隐藏实现细节
提高可维护性
提高可读性便于调试

3.函数的创建

def 函数名([输入参数])
	函数体
	[return xxx]

4.使用示例

#定义两数相加的函数
def add(a,b): #形参
    sum=a+b
    return sum
#调用函数
a=12
b=20
result=add(a,b) #实参
print(result)

二、函数的参数传递

1.位置实参

根据形参对应的位置传递参数

result=add(10,20)
print(result)

2.关键字实参

根据形参名称进行实参传递

result=add(b=10,a=20)
print(result)
在函数调用过程中,进行参数的传递 如果是不可变对象,在函数体的修改不会影响实参的值 如果是可变对象,在函数体的修改会影响实参的值

三、函数的返回值

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

def fun(num):
    odd=[] #存奇数
    even=[] #存偶数
    for i in num:
        if i%2:
            odd.append(i)
        else:
            even.append(i)
    return odd,even

lst0=[12,45,25,86,25,43]
print(fun(lst0))
函数的返回值
(1)如果函数没有返回值,return可以省略不写
(2)函数的返回值如果是1个,直接返回类型
(3)函数的返回值如果是多个,返回的结果为元组
函数在定义时是否需要返回值视情况而定

四、函数的参数定义

1.函数定义默认值参数

函数定义时,给形参设置默认值,只有与默认值不符的时候才需要传递实参

def func(a,b=20):
    print(a,b)

func(123)
func(12,23)

2.个数可变的位置参数

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

def fun1(*args):
    print(args)

fun1(10)
fun1(10,20,30)

3.个数可变的关键字形参

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

def fun2(**args):
    print(args)

fun2(a=10)
fun2(a=10,b=20,c=30)
个数可变的位置参数和关键字形参,都只能是1个
在一个函数的定义过程中,既有可变的位置参数又有可变的关键字形参,要求位置形参在关键字形参之前

五、变量的作用域

程序代码能访问该变量的区域

1.局部变量

在函数内定义并使用的变量,只有在函数内部有效,局部变量使用global声明后会变为全局变量

def func1(a,b):
    c=a+b  #a,b,c均为局部变量
    print(c)

#print(c)  a,c超出了作用域
#print(a)
def func3():
    global age  #局部变量转为全局变量
    age=20
    print(age)
func3()
print(age)

2.全局变量

函数体外定义的变量,可作用于函数内外

name='张三'  #name是全局变量
print(name)
def func2():
    print(name)
func2()

六、递归函数

1.什么是递归函数

如果在一个函数的函数体内调用了该函数本身,这个函数就称为递归函数

2.递归的组成部分

递归调用与递归终止条件

3.递归的调用过程

每递归调用一次函数,都会在栈内存分配一个栈帧
每执行完一次函数,都会释放相应的空间

4.递归的优缺点

缺点:占用内存多,效率低下
优点:思路和代码简单

5.递归实例

#递归计算n的阶乘
def fac(n):
    if n==1:
        return 1
    else:
        return n*fac(n-1)
print(fac(6))
#递归计算斐波那契数列
def fib(n):
    if n==1:
        return 1
    elif n==2:
        return 1
    else:
        return fib(n-1)+fib(n-2)
print(fib(6))

总结

这里对文章进行总结:
这两天一直在学习python基础,挑选重点内容简单做了记录

这篇关于sdu项目实训1-1 (知识储备)python中函数的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!