Python学习笔记——10(函数+总结)

函数基本使用:

函数的定义:

           关键字 :def

           确定函数名称、参数名称、参数个数、编写函数体(用于实现函数功能的代码)

def f():
    print('python')

函数的调用:

   -通过函数名称进行调用函数

   -定义好函数之后,只表示这个函数封装了一段代码而已

   -如果不主动调用函数,函数不会主动执行

def f():
    print('python')
f()

函数的参数:

    -形参:函数定义时小括号里的参数,用来接收参数,在函数内部作为变量使用

    -实参: 函数调用时小括号里的参数,用来把数据传送到 函数内部使用。

函数可以没有形参和实参。

def sum_1(a, b):  # 形式参数
    return a + b


result = sum_1(5, 4)  # 实际参数
print(result)

函数的参数类型:

          -位置参数:要求实参顺序必须和形参顺序完全一样,由形参顺序决定实参顺序

          -缺省参数:定义参数时,可以给某一个参数确定一个默认值,具有默认值的参数就叫缺省参数

def power(x, n=2):  # n:默认参数,缺省参数
    return x ** n


a = power(3)
print(a)

          -可变参数:传入的参数个数是可变的

def total(*args):  # 可变参数  参数打包成元组
    result = 0
    for i in args:
        result += i
    return result


result = total(1, 2, 5, 8, 9, 41)
print(result)

def f(**kwargs):  # 可变参数,接收字典
    for k, v in kwargs.items():
        print(k, v)


d = {'name:': 'zhang', 'age:': 18, 'gender:': '男'}
f(**d)

变量作用域:

      -局部变量:在函数内部定义的函数,只能在函数内部使用

      -全局变量:在函数外部定义的变量,在所有函数内部都可以使用

# 全局变量
num1 = 24


def f():
    num2 = 20
    print('在函数中打印num1的值为', num1)
    print('num2的值为', num2)


f()
print('在函数外打印num1的值为', num1)
# 全局变量
num1 = 24


def f():
    num1 = 10  # 相当于在函数里有新建一个变量
    num2 = 20
    print('在函数中打印num1的值为', num1)  # 结果为10
    print('num2的值为', num2)


f()
print('在函数外打印num1的值为', num1)  # 结果为24

global:在函数里修改全局变量 

# 全局变量
num1 = 24  # 不可变数据类型


def f():
    global num1  # 声明在f函数中使用的num1是全局变量num1
    num1 = 10
    num2 = 20
    print('在函数中打印num1的值为', num1)  # 结果为10
    print('num2的值为', num2)


f()
print('在函数外打印num1的值为', num1)  # 结果为10

 可变数据类型(列表,字典):

list1 = [1, 2, 3, 4, 5, 6]  # 可变数据类型


def f1():
    list1[2] = 10
    print('在函数内部list1的值为:', list1)  # 结果为list1 = [1,2,10,4,5,6]


f1()
print('在函数外部list1的值为:', list1)  # 结果为list1 = [1,2,10,4,5,6]

匿名函数(lambda):

fun = lambda x, y: x + y
result = fun(1, 2)
print(result)

内置函数:

递归函数: 

递归的过程:

     -写出临界条件

     -找这一次和上一次的关系

     -假设当前函数已经能使用,调用自身计算上一次结果,再求出本次结果,当参数满足一个条件时,函数不再执行

def f(a):
    if a == 0:
        return 0
    elif a == 1:
        return 1
    elif a == 2:
        return 1
    return f(a - 1) + f(a - 2)


print('第%d项的值为%d' % (5, f(5)))

总结:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值