欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > Python学习笔记——10(函数+总结)

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

2024/10/24 19:27:40 来源:https://blog.csdn.net/yijie_zhang7/article/details/142789299  浏览:    关键词:Python学习笔记——10(函数+总结)

函数基本使用:

函数的定义:

           关键字 :def

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

def f():print('python')

函数的调用:

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

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

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

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

函数的参数:

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

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

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

def sum_1(a, b):  # 形式参数return a + bresult = sum_1(5, 4)  # 实际参数
print(result)

函数的参数类型:

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

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

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

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

def total(*args):  # 可变参数  参数打包成元组result = 0for i in args:result += ireturn resultresult = 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 = 24def f():num2 = 20print('在函数中打印num1的值为', num1)print('num2的值为', num2)f()
print('在函数外打印num1的值为', num1)
# 全局变量
num1 = 24def f():num1 = 10  # 相当于在函数里有新建一个变量num2 = 20print('在函数中打印num1的值为', num1)  # 结果为10print('num2的值为', num2)f()
print('在函数外打印num1的值为', num1)  # 结果为24

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

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

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

list1 = [1, 2, 3, 4, 5, 6]  # 可变数据类型def f1():list1[2] = 10print('在函数内部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 0elif a == 1:return 1elif a == 2:return 1return f(a - 1) + f(a - 2)print('第%d项的值为%d' % (5, f(5)))

总结:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com