函数基础

一、先导

1、什么是函数
    具备某一功能的工具----》函数
    事先准备工具的过程====》函数的定义
    遇到应用场景拿来就用==》函数的调用
2、为何要有函数
    (1)、程序的组织结构不清晰、可读性差
    (2)、代码冗余
    (3)、程序的可维护性差
3、如何用函数
    原则:先定义,后调用

    定义函数的语法:
        def 函数名(参数1,参数2,参数3,...):
            """文档注释"""
            代码1
            代码2
            代码3
            ...
            return 返回值
 
    调用函数
        函数名(值1,值2,值3,...)
二、函数定义
 
def func(n,msg):  # func=函数的内存地址
    print('-'*n)
    print(msg)
    print('-'*n)
三、函数调用
func(10,'hello')
func(5,'world')
四、
定义阶段:只检测语法,不执行代码
def func():
    xxx


调用阶段:根据函数名找到函数的内存地址,然后配合()触发函数体代码的运行
func()

示例1
def bar():
    print('from bar')
def foo():
    print('from foo')
    bar()
foo()

示例2
def foo():
    print('from foo')
    bar()

def bar():
    print('from bar')
foo()
五、定义函数的三种形式
(1):无参函数
def login():
    name= input('username>>>: ').strip()
    pwd = input('username>>>: ').strip()
    if name == 'egon' and pwd == "123":
        print('login successful')
    else:
        print('username or password error')

login()

(2):有参函数
def max2(x,y):
    # x = 10
    # y = 20
    if x > y:
        print(x)
    else:
        print(y)

max2(10,20)
max2(111,222)

(3):空函数
def func():
    pass
 
五、调用函数的三种形式
(1) 语句形式
input("please input your name: ")

def max2(x,y):
    # x = 10
    # y = 20
    if x > y:
        print(x)
    else:
        print(y)

max2(11,22)
(2) 表达形式
name = input("please input your name: ")

def max2(x,y):
    if x > y:
        return x
    else:
        return y

res=max2(111,222) * 12

(3) 当作参数传给另外一个函数
def max2(x,y):
    if x > y:
        return x
    else:
        return y

print(max2(111,222))

print(max2(max2(111,222),333))
 
六、函数返回值return
(1) return是函数结束的标志,函数内可以有多个return,但只要执行一次整个函数就会立即终止,并且会将return后的结果当作本次调用的返回值返回
def func():
    print('hello1')
    return 111
    print('hello2')
    return 222
    print('hello3')
    return 333

func()
(2) return可以返回的值的个数
  return 值:返回一个值
  return 值1,值2,值3: 把多个值放到一个元组内返回
def func():
    return 1,33.3,[1,2,3]

res=func()
print(res)

 没有return或者就一个单独的return:默认返回的是None
def func():
    pass

res=func()
print(res)
 
原文地址:https://www.cnblogs.com/datatool/p/13405104.html