函数基础与函数参数


前言

编程函数 != 数学函数,要理解的是编程思维,而不是套公式
函数 = 方法,实现一个特定的操作.
一个人早上从起床到出门,都发生了啥???

  • 睁眼 穿衣服 洗漱 吃早餐 出门

一、初识函数(function)

把一些会用到的代码包装起来(封装),取一个有意义的名字,以后要用的时候就直接调用它就可以!!!
函数的优点:

  1. 遇到重复功能的时候,直接调用即可,省事

  2. 提升代码结构性,分工明确,提高代码的可读性

  3. 需要拓展功能时,修改比较方便

数值类型: 存储一个数据
序列,散列类型: 存储多个数据
函数: 存储多段代码
写了一些代码,能做到特定的功能,用一个东西把它装起来方便以后使用 --> 函数

二、函数基础

函数的命名规则与变量的命名规则是一致的:

  • 1.由数字,字母,下划线组成
    2.首字符不能是数字,不能有特殊符号
    3.见名知意
    4.不能用关键字
    5.区分大小写
    def --> 定义
    fun --> 函数的简写,用来做函数名

    函数也有代码块的概念,也是通过缩进来控制的

  1. 基本定义:

    def 函数名():
    	代码内容
    
    def fun():
    	print("你好,我是个函数")
    
  2. 函数的使用:

    函数名()
    
    fun()
    
  3. 定义空函数:函数内容不能为空,还没想好要写啥

    def 函数名():
    	pass	
    
    def fun():
    	pass
    
  4. 定义了返回值的函数

    def 函数名():
    	代码块
    	return 返回值
    
    def add():
    	a = 6+6
    	return a
    	print(add())
    

    函数得先定义再调用执行

    函数的使用分为两步:
    1.定义函数 def
    2.调用函数 函数()

    函数的用法:
    1.直接调用函数

    	函数名()
    	fun()
    

    2.获取函数的返回值

    	print(函数名()) # 输出该函数的返回值
    	print(fun())
    
    	变量名 = 函数名() # 把函数的返回值赋给了变量
    	a = add()
    

三、啥是返回值(return)

返回值 = return.把值返回给函数的本身

可以把代码块理解为过程,返回值为结果.代码执行的是一步步的过程,如果要直接知道结果,那就直接获取返回值

你是个老板,你安排事情让员工去做
员工做事的过程 = 代码块(代码内容)
最后提交的结果 = return(返回值)

有的函数是没有返回值的,如果没有定义return返回值,它的默认值为None为空

就像现实中一样,很多事情的看法不一样,有的事情看中的是过程,结果无所谓(没有返回值)
有的事情,过程无所谓,我只需要结果.直接获取返回值

在return后写的语句,不会再执行,可以理解return是函数版break,后面的代码不会运行

def fun():
	print(520)
	return 666
	print("上午好")

函数 --> 做一件事
代码块 --> 做事的过程
返回值 --> 做事的结果

四、函数参数

形参: 先放个东西,过来霸个位置
实参: 真人到场

坐车:
形参 = 票 --> 保留位置
实参 = 人 --> 坐上位置

形参是没有实际值的,只是作为占位,在实际使用时,会用实参来代替形参.实参需要有具体值

定义带参函数:

	def 函数名(参数):
		print(参数)
定义函数时,括号里的参数为"形参",先占个位置

调用带参函数:
函数名(参数)
调用时,括号里放的参数就是"实参",实参要有具体的值
形参 == 形式主义,走个形式,没有具体值
实参 == 实际值,有具体的数据

def add(a,b):
		sum = a+b
return sum

print(add(70,35))

做人要老实,有几个形参就传几个实参.不要多也不要少

返回值的:

  • 类型是不限的,你可以返回数值,列表,元组,集合,字典

  • 数量是不限的,你可以返回多个值,中间用逗号隔开

五、参数进阶

  1. 必备参数:有几个形参就要有几个实参,数量要匹配一致,多了少了都会报错

    定义时:
    	def 函数名(参数1,参数2)
    调用时
    	函数(参数1,参数2)
    def add(num1,num2):
    	print(num1,num2)
    add(666,70)
    
  2. 默认参数: 在声明参数的时候,就先定义一个参数的值

    定义时:
    	def 函数名(参数1,参数2 = 值):
    调用时:
    	函数名(参数1)
    
    def add(num1,num2 = 70):
    		print(num1+num2)
    add(35)
    

    形参再定义时就已经赋值了,在调用时就可以不接受传参.如果再传值会覆盖默认值
    默认参数赋值是写在右边的,写左边会报错

  3. 不定长参数1:

    一次性可以接受多个值
    有的时候写一个函数,不确定要传几个参数,就用不定长参数.数据接收后,为元组类型

    定义时:
    	def 函数名(*参数名):
    	def 函数名(*args):
    参数名不是固定的,但是有个潜规则,一般是叫args
    
    调用时:
    	函数名(多个数据)
    	fun(1,3,5,7,9)
    
    def add2(*args):
    		sum = args[0] + args[1]
    		print(sum)
    add2(1,70,666,True)
    

    *表示的是不定长参数:长度是不固定的,可以传很多个值,传进来的值为元组类型.所以也可以进行切片,索引

  4. 不定长参数2

    一次性可以传多个值,传输的值类型为字典

    定义时:
    	def 函数名(**kwargs):
    调用时:
    	函数名(**{字典})
    def add3(**kwargs):
    		print(kwargs)
    add3(**{"张三":"Good","小八":"靓仔","李四":"OK"})
    **表示的是传入一个字典类型的不定长参数,kwargs也不是固定的名字
    

六、内置函数(基础篇)

python自带的一些功能函数,可以直接使用

print() 输出语句
input() 输入语句
type() 获取数据类型

min() 获取最小值
max() 获取最大值
len() 获取数据长度(有几个数据)
sum() 获取数据的总值

七、文档字符串

针对函数的注释,看起来和注释一样,但是用起来不一样.注释只能看,文档字符串可以被调用输出

def fun():
		""" 你好,我是一个文档字符串 """
print("我是一个测试函数")

输出方式:
	函数名.__doc__
	print(print.__doc__)

核心作用就是查看函数的说明文档(文档尽量简洁,描述本质功能)
1.这个函数的作用
2.这个函数里参数的作用


总结

数值类型: 保存一个数据
序列,散列类型: 保存多个数据
函数: 保存一段代码

所谓函数,就是一个高级点的容器,说白了也是装数据的,只不过装的东西更多更灵活

函数的使用分为两步:
1.声明函数
def 函数名():
代码块
2.使用函数
函数名()

return是作为返回值,一般作用是直接输出结果
函数内的代码,内容是过程

形参: 并没有实际的值,只是先占个位置,定义阶段使用
实参: 有实际的值,在运行时就会取代形参,调用阶段使用

如果你注重的是这个函数的实现过程,那么就调用这个函数 函数名()
如果你注重的是这个函数的运算结果,那么就输出这个函数 print(函数名())

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小八砸丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值