函数的基本使用

一、什么是函数?
1.函数的概念
	函数是盛放功能(一系列代码)的容器,定义函数就是制造了一个工具	
	事先准备工具的过程叫做函数的定义	
	遇到应用场景拿来就用叫做函数的调用	
2.为什么要用函数
不用函数写出代码存在的问题:
	1)程序的组织结构不清晰,可读性差,维护性差	
	2)可扩展性差	
因此灵活运用函数可以解决写出代码出现的上述问题,能够简化设计,扩展程序,方便快捷
3.运用函数的原则:先定义,再调用
二、函数的定义与调用

​ 函数的使用必须遵循“先定义,后调用”的原则,函数的定义就相当于事先将函数整体代码保存,然后将内存地址赋予给函数名,函数名就是对这段代码的引用,这和变量的定义是相似的。没有事先定义函数而直接调用,就相当于引用一个不存在的变量名

定义函数的语法

def 函数名(参数1,参数2,..):
	'''文档描述'''
	函数体
	return 值
  1. def:定义函数的关键字
  2. 函数名:函数名指向函数内存地址,是对函数体代码的引用。函数的命名反映出函数的功能
  3. 括号:括号内定义参数,参数是可有可无的,无需指定参数的类型
  4. 冒号:括号后加冒号,然后在下一行开始缩进编写函数体的代码
  5. ‘’‘文档描述’‘’:描述函数的功能,参数介绍等信息的文档,非必要,但建议加上,从而增强函数的可读性;
  6. 函数体:由语句和表达式组成
  7. return值:定义函数的返回值,return是可有可无的
def func()  # 函数名的命名规则和变量名一样,函数是工具,应该定义成一个动词
	print("哈哈哈")  
func() 	# 调用

因为没有语法错误,所以在定义函数阶段 并不报错,在调用时,就会报错

定义函数发生的事

​	1.申请内存空间保存函数整体代码

​	2.将上述内存地址绑定函数名

​	3.定义函数不会执行函数体代码,但会检测函数体语法

函数的调用:

# 函数名加括号即函数调用

res = 函数名(值1,值2,值3...# 调用函数发生的事

# 函数调用阶段发生的事情: 执行函数体代码
def bar():
    print('from bar')
def foo():
    print('from foo')
    bar()  # 
foo()   # 调用函数foo   out>>> from foo   from bar

def foo():
    print('from foo')
    bar()
def bar():
    print('from bar')
foo()  # 不报错,定义阶段函数foo与bar均无语法错误,而在调用阶段调用foo()时,函数foo与bar都早已经存在于内存中了,所以不会有任何问			# 题。,  out>>> from foo   from bar

# 总结:函数定义阶段只检测语法不执行代码,只有在调用函数时才会执行函数体代码
三、函数的参数

函数的参数分为形式参数和实际参数,简称形参和实参
形参是指定义函数时,括号内声明的函数。形参的本质是一个变量名,用来接受传来的值
实参是指调用函数时,括号内传入的值,值可以是变量,常量,表达式或者三者组合

#无形参函数
def func():
    x = 10
    y = 20
    res = x + y
    print(res)
# 无形参函数,函数体已经将函数功能写死,将功能写活化,可以改为有形参函数
# 有形参函数
def func(x,y)
	res = x + y
    print(res)
func(1,2)
四、函数的返回值
'''函数完成一个加工处理,若需要将函数体代码执行的结果返回给调用者进一步处理,则需要用到return'''
def max(int1,int2):
	if int1>int2:
		return int1
	else:
		return int2
res = max(1000,2000)
print(res*2)  # 打印  4000  对2000进行了进一步的处理

# return返回值的语法:
"""函数内可以有多个return,但只要执行一次,整个函数立即结束,并且将return后的值当做本次调用的产品返回"""
def fun():
    print('aaa')
    return 111
    print('bbb')
    return 222 
    print('ccc')
    return 333
res = func()  
print(res)  # out>>> aaa   111    return,执行一次,整个函数成立即结束,返回第一个值111
函数的返回值有三种形式
1.return: 返回的就是该值本身
2.return1,值2,值3...:返回的是元组
def func():
    return 111, "aaa", [222,333]
res = func()  
print(res)  # out>>> (111, "aaa", [222,333])
x, y ,z = func()
print(x, y, z)  # out>>> 111, "aaa", [222,333]   相当于解压赋值
3.没有return或者return无值或者return None:返回值的都是None
def func():
    res = 1 + 2
    return
res = func()
print(res)  # out>>> None

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值