python函数的基本使用

函数

其实我们在之前的学习中就已经接触过函数了,像len()、strip()、int()等等,这些我们称为内置函数。而我们接下来要学习的是自定义函数。

语法结构

def 函数名(参数1,参数2,...):
	"""函数描述"""
	函数体代码
	return 返回值

解释:

  1. def:定义函数的关键字,有了def说明这个就是函数。
  2. 函数名:自定义函数的名称,调用函数就要写函数名的,命名规范与变量名一致
  3. 括号:用于传递参数,定义函数括号一定要有。
  4. 参数:可以给函数体使用的变量,可以有多个,也可以不写
  5. 冒号:定义函数要有缩进的代码块
  6. 函数描述:用于描述函数和参数的作用
  7. 函数体代码:函数的核心,用于实现功能的代码
  8. return:用于返回数据,后面跟上什么,调用函数时就会返回什么

简单的使用

用自定义函数实现计算字符串长度的功能

def my_len(data):
    # 记录字符串个数
    count = 0
    # 遍历字符串
    for i in data:
        count += 1
    # 返回字符串个数
    return count

s = input("请输入需要计算的字符串:")
print(my_len(s))

image

函数的分类

函数分为两大类,内置函数和自定义函数。

image

内置函数

内置函数其实我们在学习数据类型的时候就已经用到了,它们是python解释器提前定义好可以直接使用的函数,像:len()、strip()、split()等等

自定义函数

自定义函数,听名字就知道这是我们可以自己定义的函数,自定义函数又可以分为三小类:无参函数、有参函数、空函数。

  1. 无参函数:定义函数时括号内没有参数
# 定义无参函数
def my_func():
    print("hello world")
# 调用无参函数
my_func()  # 输出:hello world

"""定义时括号内没有参数,则调用时也不能有参数"""
  1. 有参函数:定义函数时括号内有参数
# 定义有参函数
def my_func(a):
    print(a)
# 调用有参函数
my_func("hello world")  # 输出:hello world

"""定义时括号内有几个参数,调用时就要给几个参数"""
  1. 空函数:定义函数时函数体代码用pass或...带过
# 定义空函数
def my_func():
    pass

"""
空函数主要用于快速的罗列出程序的大概功能,让整体框架清晰起来
比如我要用函数实现登录注册功能
我可以先定义用于实现注册的空函数和实现登录的空函数
写完主体代码之后再去编写函数内的具体内容
"""

image

函数的定义与调用

函数的定义

函数的定义已经在上一个博客中讲解过了,这里只做一个展示。

def 函数名(参数1, 参数2, ...):
    """函数描述"""
    函数体代码
    return 返回值

函数的调用

知道了函数如何定义,自然还要知道函数该如何调用。

调用函数其实非常简单,直接用函数名加括号就可以了,就像使用print()一样。

# 函数的定义
def my_function():
    print("hello world")

# 函数的调用
my_function()  # 输出:hello world

注意事项:

  1. 函数的定义一定要在函数的调用前面,要想定义,后调用。
# 如果先调用,后定义,像这样:

# 函数的调用
my_function()

# 函数的定义
def my_function():
    print("hello world")
    
"""报错:NameError: name 'my_function' is not defined"""
  1. 函数体代码只有在调用函数的时候才会执行,所以函数体代码里如果有错误并不会第一时间提醒你。

函数的返回值

函数的返回值就是在调用函数时,函数给你的结果。

比如:

s = 'hello'
result = len(s)  # 这里就是len()函数将它的返回值赋值给了result

有上述例子可以看出,我们只需要将变量名=函数调用,就可以获取函数的返回值了。

在了解了如何获取返回值后,自然要知道如何自己定义返回值。

# 当函数没有return关键字或者没有return任何数据时,返回值为None
def my_func1():
    pass

def my_func2():
    return

result = my_func1()
print(result)  # 输出:None

result = my_func2()
print(result)  # 输出:None

# 当函数内有return关键字且后面跟了数据的,那么后面跟的是什么数据返回的就是什么

# return后跟一个值,直接返回跟的返回值
def my_func1():
    return 'hello'
result = my_func1()
print(result)  # 输出:hello

# return后跟多个值,返回的值会合成元组后返回
def my_func2():
    return 'hello', 123, [1, 2]
result = my_func2()
print(result)  # 输出:('hello', 123, [1, 2])

注意事项:函数遇到return关键字会立刻退出函数,就像while和for循环里遇到了break一样

image

posted @ 2022-03-15 17:30  Yume_Minami  阅读(105)  评论(0编辑  收藏  举报