python之函数的基本介绍

一:函数

1、什么是函数

具备某一功能的工具 =====》函数

工具的使用:
    事先准备好工具==========》函数的定义
    遇到应用场景拿来就用====》函数的调用

2、为何要有函数

1、程序的组织结构不清晰,可读性差
2、如果要用到重复的功能,只能拷贝功能的实现代码=》代码冗余
3、可扩展性差

3、如何用函数

# 函数的使用原则:先定义,后调用

    定义函数:
        def 函数名(参数1,参数2,参数3,...):
            """文档注释"""
            代码1
            代码2
            代码3
            ...
            return 返回值

    调用函数:
        函数名(值1,值2,值3,...)

二:函数的基本使用

1、定义函数:

	申请内存空间把函数体代码保存下来,然后把内存地址绑定给函数名-》函数名=函数的内存地址
	
def sayhi():
	print('*'*10)
	print('hello')
	print('*'*10)

print(sayhi)

2、调用函数:

函数名()=> 函数的内存地址(),会触发函数体代码的运行

sayhi()
sayhi()
sayhi()

三:定义函数的三种格式

2.1: 无参函数

def login():
	inp_name=input("your name: ").strip()
	inp_pwd=input("your pwd: ").strip()
	if inp_name == "egon" and inp_pwd == "123":
		print('login successful')
	else:
		print('login error')

login()


def sayhi():
    print('='*100)
    print('hello')
    print('='*100)

sayhi()

2.2: 有参函数

def sayhi(s,n):
    # s = '-'
    # n = 20
    print(s*n)
    print('hello')
    print(s*n)

sayhi('-',20)
sayhi('*',10)

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

max2(10,20)
max2(11,22)

2.3: 空函数

def func():
	pass

四:函数的调用

# return:

# 函数内可以有多个return,但只要执行一次函数就立刻结束,并会把return后的值当作本次调用的结果返回

# 函数可以有三种形式的返回值:
# 1、return 值:返回的就是该值本身
# 2、return 值1,值2,值3:返回一个元组
# 3、没有return:
# 默认返回None
def max2(x,y):
    if x > y:
        return x
    else:
        return y

res=max2(1.1,3.3)

print(res * 12 )

四:函数调用的三种格式

4.1 语句形式:

单纯地调用一下函数就完了

# 单纯地调用一下函数就完了

def sayhi(s,n):
    # s = '-'
    # n = 20
    print(s*n)
    print('hello')
    print(s*n)

sayhi('*',30)

4.2 表达式形式:

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

res=max2(11,22) * 12
print(res)

4.3 可以把函数的调用当作值传给另外一个函数

print(max2(11,22))

五:总结:

# 函数的使用一定要分两个阶段去看:
# 1、定义阶段:只检测语法,不执行代码
# 2、调用阶段:执行函数体代码

# 如果发生的语法错误,定义阶段就会立马检测出来
def func():
    print("hello"

# 如果发生的不是语法错误,而是逻辑错误,只能在调用阶段检测到
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()

猜你喜欢

转载自blog.csdn.net/weixin_48283789/article/details/107470465