Python爬虫入门 ~ 函数的定义与调用

225 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情

函数

在日常的开发中,我们可能会遇到很多场景是需要反复的执行,某部分代码的,举个例子:

print("欢迎光临至尊足浴")
print("三楼三楼,贵宾N位")

print("欢迎光临至尊足浴")
print("三楼三楼,贵宾N位")

print("欢迎光临至尊足浴")
print("三楼三楼,贵宾N位")

print("欢迎光临至尊足浴")
print("三楼三楼,贵宾N位")

上面的例子中,相同的代码我们打印了4遍,这个还写起来还算简单,如果需要打印10遍、100遍、1000遍等等,那代码量会越来越多,单单复制粘贴都能把人累垮的。

很多重复的业务逻辑,当其重复出现的时候,我们可以将其定义为函数。

定义函数

格式:

def 函数名():
    逻辑代码

实例:

def fun():
    print("欢迎光临至尊足浴")
    print("三楼三楼,贵宾N位")

调用函数

上面我们已经将函数定义好了,但是直接运行,却没有任何的效果。

image.png

定了函数之后,就相当于有了一个具有某些功能的代码块,想要让这些代码能够执行,就需要调用它。通过函数名() 即可完成调用。

def fun():
    print("欢迎光临至尊足浴")
    print("三楼三楼,贵宾N位")

fun()

image.png

定义好的函数,每次我们只需要通过一行代码,即可执行整个函数中的所有逻辑,不需要再实现一堆的重复代码片段。函数被调用时,每次都会从头开始执行,当函数中的代码执行完毕,则意味着调用结束了。

函数参数

函数的定义和调用都掌握了,但是如果我们需要动态的计算两个数的和,这样的代码又应该如何定义成函数呢?

我们可以在定义函数时,在后面的括号中定义若干变量名;在调用函数的时候,括号中写入真正想要运行的数据

格式:

def 函数名(参数1, 参数2):
    处理逻辑

案例:

# 定义函数
def addNum(value1, value2):
    print(value1 + value2)

# 调用函数
addNum(1, 2)

image.png

上面的传参方式为关键字传参,在Python中,还有一种传参方式:关键字传参

# 定义函数
def addNum(value1, value2):
    print(value1 + value2)

# 调用函数
addNum(value2 = 1, value1 = 2)

image.png

可以看到,执行效果是一样的。

函数返回值

所谓的返回值,就是当函数完成相关的处理逻辑之后,返回给调用者的结果。在函数中,如果要把结果返回给调用者,需要在函数中使用return关键字,例如:

def fun(a, b):
    c = a + b
    return c

或者

def fun(a, b):
    return a + b

局部变量

局部变量,就是在函数内定义的变量。其作用范围是这个函数内部,即只能在这个函数中使用,在函数外是不能使用的,例如:

def fun1():
    a = 100
    print(a)

def fun2():
    print(a)

fun1()
fun2()

我们在fun1()中定义了一个变量a,在fun2()中引用的话会发生异常,提示a未定义。

image.png

全局变量

一个变量既能在一个函数中使用,也可以被其它函数所使用,这样的变量就是全局变量。

案例:

a = 100
def fun1():
    print(a)

def fun2():
    print(a)

fun1()
fun2()

image.png