Python定义一个函数

Python函数:实现某种功能的代码段

定义一个函数需要遵循的规则:

  1.使用 def 关键字 函数名和( ),括号内可以有形参

    匿名函数使用 lambda 关键字定义

  2.任何传入参数和自变量必须放在括号中

  3.函数的第一行语句可以使用字符串存放函数说明

  4.函数内容以冒号开始,函数内的代码块缩进

  5.使用了 return [表达式] 函数会返回一个值,如果不使用 return 则会返回 None

示例:

'''
def 函数名([参数,根据函数运行需要,如果函数不需要参数,可以不写]):
    函数声明(可不写,如果怕忘记函数功能,最好是写)

    函数语句 ...

    return 需要返回的值(有些函数可以不使用 return,只进行某些操作,返回为None)

'''

程序:

定义一个 say_hello 函数,使函数能够说出 hello

# 程序:定义一个 say_hello 函数,使函数能够说出 hello
def say_hello():
    print("hello")

定义一个求长方形面积的函数 area,要求具有返回值且参数为 height 和 width

# 定义一个求长方形面积的函数,要求具有返回值且参数为 height 和 width
def area(height,width):
    return height * width

定义一个函数,输出 欢迎,接收到的参数 name

# 定义一个函数,输出 欢迎,接收到的参数 name
def huanying(name):
    print("欢迎",name)

定义一个求 1~10 的总和的函数,函数名为 one_to_ten,要求具有返回值

#定义一个求 1~10 的总和的函数,函数名为 one_to_ten,要求具有返回值
def one_to_ten():
    sum = 0
    for i in range(1,11):
        sum += i
    return sum

拓展:

函数名可以赋值给变量,使用变量进行调用(变量此时相当于函数名)

# 函数名可以赋值给变量,使用变量进行调用(变量此时相当于函数名)
def add(num_1,num_2):

    print(num_1 + num_2)

a = add
print(type(a))
# <class 'function'>
a(3,5)
# 8

闭包函数:

函数内嵌套函数,内部的函数要使用外部函数的值,外部函数返回内部函数名

# 函数内可以嵌套函数,内部的函数要使用外部函数的值,外部函数返回内部函数名

def print_info(string):
    def inner_print_info():
        print("调用了 print_info 的内部函数")

    print(string)
    return inner_print_info

name = '使用了 print_info 函数'
info = print_info(name)
# 使用了 print_info 函数

info()
# 调用了 print_info 的内部函数

函数内可以进行定义类:

def run():
    class student(object):
        pass
    

2020-02-11