Python函数之def定义函数

链接

想研究Python函数?看这里
函数怎样取名?看这里
有参数的函数还可以怎么传参?看这里

一、无参数函数

结构

1
2
3
def <函数名>(): # 强制要求
    <函数体> # 可省略
    return <返回值> # 可省略

程序举例

用函数的Hello world程序:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# prints 'Hello World\nDone'
# Author: GoodCoder666
def getHelloWorldString():
    return 'Hello World'
def print_hello_world():
    print(getHelloWorldString())
print_hello_world()
print('Done')
# 输出:
# Hello World
# Done

程序流程

二、有参数函数

补充知识

参数 (parameter):给函数的值,在函数中相当于变量:

1
2
3
4
def param_test(a, b):
    a, b = b, a
    print(a, b)
param_test(5, 6) # 输出:6 5

以上程序等同于:

1
2
3
4
5
6
def param_test():
    a, b = 5, 6
    #-----以下部分相同-----#
    a, b = b, a
    print(a, b)
param_test() # 输出:6 5

结构

1
2
3
def <函数名>(<参数列表>): # 强制要求
    <函数体> # 可省略
    return <返回值> # 可省略

其中,参数列表中的参数用,隔开,例如a, bc(如果只有一个参数直接写)

程序举例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# prints 'Hi, {name}!'
# Author: GoodCoder666
def get_greet_str(name):
    return 'Hi, ' + name + '!'

def greet(name):
    print(get_greet_str(name))

greet(input("What's your name? "))
print('Done')
# 输入: GoodCoder666
# 输出
# Hi, GoodCoder666!
# Done

程序流程

函数也是对象

一个函数也是一个对象。

证明

先定义两个函数:

1
2
3
4
def a(a, b):
    return a + b
def b():
    return a(1, 2)
项目是否支持/存在证明
赋值Yc = a可执行;执行后c可被调用
属性Y执行type(a),返回class <'function'>
类型Y
使用 Hugo 构建
主题 StackJimmy 设计