函数

it2023-12-06  68

一、函数 1.定义:具有独立功能的代码块组织为一个小模块,称作是函数。在开放程序时,某块代码需要调用多次,为了提高编写的效率,因此我们会调用函数来解决问题。 2. 函数的创建和调用。 (1)函数的创建。 用 def 来创建,定义一个函数。 (ps :pass 的作用: 1) 可以用来定义一个空函数,什么都不做的函数,用pass语句来写。 2) 用作占位。在编写程序时,某块代码过于复杂,不知怎么写,或者想先空过去时,可以用pass语句,这样在运行时也不会报错。) ”返回值“ :在程序中的函数调用结束后,返回给调用者的结果,return +返回值。(当没有返回值时,默认返回None 。 格式:def(参数1,参数2,参数3,…): 函数体(语句块) 函数体在书写时,按照习惯,需要缩进四格。 (2)函数的调用。 定义好函数了之后,直接在需要的时候直接使用函数名来调用即可。

def draw(x, y): res = x + y return res res = draw(3, 4) print(res)

运行结果:

3.函数中的变量 (1)局部变量。 1)局部变量时在定义的函数内部的变量。 2)不同的函数,可以定义相同名字的局部变量,但在各自使用的时候不会相互产生影响。 3)局部变量的作用:为了临时保存数据需要在函数中定义变量来进行存储。

def age(num) : age = 10 print("以前年龄为:", age) age += num print("加的年龄为:", age) def draw(): age = 10 print("现在的年龄为:", age) draw() age(20) draw()

(2)全局变量。 定义在函数外面的变量。可以在代码中的所用函数中使用。(注: 在定义函数中使用全局变量时,要先用 global 声明。global声明的本质是可以修改全局变量的指向,即变量可以指向新的数据。 不可变类型的全局变量:指向的数据不能修改,因此不使用global无法修改全局变量。 可变全局变量: 指向的数据可以修改,不使用global时可以修改全局变量。(就近原则)

a = 10 def num(): global a a = 5 num() print(a)

运行结果:

4.函数中的参数。 (1) 形参和实参 形参:在定义函数时,小括号中的参数,用来被定义的时形参。eg. def numbers(a,b): a,b是形参,形参不规定表示的方法。 实参: 在调用函数时,用来传递给函数用的,成为”实参”。 (2)必选参数. 在函数定义或者调用时,必须存在的参数。 参数的类型可以是任意的。 (3) 默认参数. 调用函数时,在没有给参数规定所需要的值时,可以在定义函数时,给参数设定一个默认值。(默认参数一定要用不可变对象) eg. 定义一函数,计算x 的n 次方

def squire(x, y = 2): result = x * y print(result) squire(2, 4) squire(2)

运算结果:

(4) 可变参数。 传入的参数个数是可变的。可以没有,也可以一个,两个,甚至多个。一般用*args 表示。args一般接收的是一个tuple . eg:求一个数的平方

def squire(x, y = 2): result = x ** 2 + y ** 2 print(result) squire(2, 4)

运算结果:

二、递归函数。 1.定义: 一个函数在定义时会在内部调用自己本身,这个函数就是递归函数。 eg.斐波那契数列

def fibonacci(n): if n == 1 or n == 2: return 1 return fibonacci(n - 1) + fibonacci(n - 2) n = int(input("请输入一个数:")) res = fibonacci(n) print(res)

运行结果:

最新回复(0)