大家好我是程序员_蓝天, 本文是为了方便初学者能够快速学习python,写的可能不是很好,希望大家多多包涵。 每个赞都是我前进的动力。
初识函数(function)
编程函数 != 数学函数. 要理解的是思路逻辑, 而不是套公式。
函数 = 方法. 实现一个特定的操作
一个人早上从起床到出门经过了什么?
print('睁眼')
print('换衣服')
print('洗漱')
print('吃早餐')
print('出门')
把一些会反复用到的代码包装起来(封装), 起一个有意义的名字.以后要用它的时候就调用它就可以了
数值类型: 存储一个数据
序列, 散列类型: 存储多个数据
函数: 存储多段代码
函数的优点:
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(a())
函数得先定义在使用
函数的使用分为两步:
1.定义函数 def
2.调用函数 函数()
函数的调用方式:
1.直接调用函数(执行里面的代码, 运行过程)
函数名()
fun()
2.获取函数的返回值, print(函数名())
print(函数名()) # 先运行函数, 再输出返回值
print(fun())
变量名 = 函数名() # 把函数的返回值赋给了变量
a = add()
return
返回值 = return
把值返回给函数本身
可以把代码块理解为过程
返回值返回的是结果.
代码执行就是一步步的过程.如果要直接知道结果, 那就直接获取返回值
你是个老板, 你安排事情给属下去做:
员工做事的内容 = 代码块(代码内容)
最后提交的结果 = return(返回值)
有的函数是没有返回值.如果没有定义 return 返回值, 它的返回值默认为 None
def fun():
print('你好')
return '蓝天'
print('晚上好')
再 return 后面写的语句是不会执行.可以理解为 return 是函数版的 break, 后面的代码不会执行
函数 -- 做一件事
代码块 -- 做事的过程
返回值 -- 做事的结果
函数的返回值可以有多个.值与值之间用逗号隔开
def 函数名():
return 值 1, 值 2, 值 3
def fun():
return 70,666, ['晚上好']
函数参数
形参 = 票 --> 保留位置
实参 = 人 --> 坐上位置
形参是没有实际值的, 只是作为占位.再实际使用时会用实参来代替形参.实参需要有具体值
定义带参函数:
def 函数名(参数)
代码块
def fun(name): # 函数会接受一个值.
print(f'你好, 我叫{name}, 请多指教')
定义函数时, 括号里的参数为'形参', 先占个位置
调用带参函数:
函数名(参数)
fun('蓝天')
调用函数时, 括号里放入的参数为'实参', 有具体值
形参 = 占个位置, 形式主义, 没有具体值, 在定义函数
实参 = 实际数据, 有具体的值, 在调用函数
def add(a, b):
return a+b
print(add(70,41))
有几个形参就传几个实参.不要多也不要少
返回值的特性:
1.返回的类型是不限的, 可以返回数值, 列表, 元组, 集合, 字典, 函数
2.数量是不限的, 可以返回多个值, 中间用逗号隔开.得到的数据为元组类型
参数进阶
1.必备参数: 有几个形参就有几个实参, 数量要匹配一致, 多了少了都报错
定义时:
def 函数名(参数 1, 参数 2):
调用时
函数名(值 1, 值 2)
def add(num1, num2):
add(20,31)
2.默认参数: 在声明参数的时候, 就先定义好参数的值
定义时:
def 函数名(参数 1, 参数 2 = 值):
调用时:
函数名(值 1)
def talk(age, name = '蓝天'):
print(f'你好, 我是{name}, 我今年{age}岁')
talk(18,'小白')
talk(26)
形参在定义时就已经赋值了.在调用的时候就可以不接受传值.如果再传值就会覆盖默认值
默认参数赋值是写在右边的.写左边会报错
3.不定长参数 1:
一次性可以接受多个值
有的时候写一个函数, 不确定要传几个值.就可以用不定长参数, 数据接受后, 为元组类型
定义时:
def fun(*参数名):
def fun(*args):
参数名是不固定.名字可以自己取, 但是有个潜规则.一般都是管它取名叫 args
调用时:
函数名(多个数据)
fun(66,70.1, True,'你好')
*表示的是不定长参数: 长度是不固定的, 可以接受很多个值, 传进来的值为元组类型.所以也可以进行切片, 索引等操作
4.不定长参数 2
一次性可以接受多个值, 接受的类型为键值对
定义时:
def 函数名(**参数名):
def talk(**kwargs):
调用时:
函数名(**{字典})
talk(**{'蓝天':'男','小白':'男','小红':'女'})
**表示的是传入一个字典类型的不定长参数.kwargs 也不是固定的名字, 但是最好还是取名为 kwargs
内置函数(基础篇)
python 自带的一些功能函数, 可以直接使用
print() 输出语句
input() 输入语句
type() 获取数据类型
min() 获取最小值
max() 获取最大值
len() 获取数据长度(有几个数据)
sum() 获取数据的总值
文档字符串
针对函数的注释, 看起来和注释一样, 但是可以被调用输出.所以在写函数时, 更推荐写文档字符串
def fun():
'''
你好, 我是一个文档字符串
'''
print('我是测试函数')
输出方式:
函数名.__doc__
fun.__doc__
print __doc__
核心作用就是查看函数的说明文档(文档尽量简介, 描述本质作用)
1.这个函数的作用
2.这个函数里, 参数的作用
3.这个函数的返回值是干嘛的
推荐参考博客: c.biancheng.net/python/func…