12月13日函数

一、函数的作用

print(’=下载数据==’)

print(‘检测网络状态’)

print(‘连接服务器’)

print(‘传输数据’)

print(‘接收数据’)

print(‘保存数据’)

二、定义函数

1.函数的概念

函数就是实现某一特定功能的代码的封装。

2.函数的分类

根据函数是由谁定义的(创建的),将函数分为两种:系统函数、自定义函数

1)系统函数: python自带的系统函数,系统自带的函数(创建python语言的人创建好的函数)

2)自定义函数:由程序员自己创建的函数 (自己造的机器)

3.定义函数(创建函数) — 自己造机器

语法:

def 函数名(形参列表):

​ 函数说明文档

​ 函数体

说明:

def — 关键字;固定写法

函数名 — 由程序员自己命名

​ 要求:标识符、不是关键字

​ 规范:见名知义(看到函数名大概知道函数的功能)、所有的字母都小写,多个单词之间用下划线隔开,不使用系统的函数名、类名和模块名

(): — 固定写法

形参列表 — 以’变量名1,变量名2,变量名3,·····'的形式存在,这的每一个 变量代表一个形参 (也可以一个形参都没有,括号里不写就行了)

形参可以将函数外部的数据传递到函数里面

​ 定义函数是否需要形参就看实现函数的功能需不需要额外的数据。形参只是载体不是数据。

函数说明文档 — 本质就是多行注释(相当于机器的说明书)

函数体 — 函数体就是和def保持一个缩进的一条或者多条语句;函数体就是实现函数功能的代码。

4.初学者定义函数的基本

第一步:确定函数功能

第二步:根据函数功能确定函数功能

第三步:确定形参参数()--------看实现函数的功能需不需要额外的数据,需要几个?

第四步:实现函数功能(将形参当成数据来使用)

第五步:写函数说明文档

#定义一个函数求10 的阶乘
#10!=1* 2 * 3…*9 * 10

def factorial_10():

​ “”"

​ (功能说明)求10!

​ :retunrn:(返回值说明)

​ “”"

#定义一个函数求任意一个数的阶乘

def factorial(num):

​ ‘’’

​ 求一个数的阶乘

​ :param num : (参数说明)需要求阶乘的数

​ :return:None

​ ‘’’

​ sum1=1

​ for x in range(1,num+1):

​ sum1*=x

​ print(sum1)

#定义一个函数求任意两个数的和

def sum_yt(num1,num2):

​ ‘’’ 求任意两个数的和’’’

​ print(num1+num2)

三、函数的使用

1.调用函数 — 使用机器

语法:

函数名(实参列表)

说明:

函数名 — 想要哪个函数调用哪个函数(已经被定义过的函数的函数名)

() — 固定写法

实参列表 — 以’数据1,数据2,数据3,·····'的形式存在

​ 实参是用来给形参赋值,实参本质是数据,形参本质是变量。实参就是真正从函数外部传递到内部的数据,形参只是提供通道。

注意:同一个函数可以在需要它的时候反复调用。

2.函数调用过程

1)定义函数不会执行函数体,调用的时候才会执行函数体

2)执行过程

第一步:回到函数 定义的位置

第二步:传参(用实参给形参赋值)

第三步:执行函数体

第四步:确定函数返回值

第五步:回到函数调用的位置,接着往后执行

四、函数的参数

1.位置参数和关键字参数 — 实参

‘’’

1)位置参数

def func1(x,y,z):

​ print(f’x:{x},y:{y},z:{z}’)

#位置参数:

以’数据1,数据2 ,数据3,···'的形式存在,让实参和形参在位置上一一对应(第一个实参给第一个形参赋值,第二个实参给第二个形参赋值·····)

func1(10,20,30)

func1

2)关键字参数

func1(x=100,y=200 ,z=300)

func1(y=200,z=300,x=100)

以’形参1=实参1,形参2=实参2,·····‘的形式存在

3)混用

如果位置参数和关键字参数一起用,那么位置参数必须在关键字参数前面使用

2.参数默认值 — 形参

定义函数的时候可以用 ‘形参=值’ 的方式给参数赋默认值;

调用函数的时候有默认值的参数可以不用传参

如果定义函数的时候有的参数有默认值,有的参数没有默认值,没有默认值的参数必须在有默认值参数的前面。

def func2(x=10,y=20,z=30)

​ print(f’x:{x},y:{y},z:{z}’)

func2()

func2(100)

func2(100,200)

func2(y=200)

3.参数类型说明 — 形参

情况1:如果是没有默认值的参数,在形参后加’:类型名’

情况2:有默认值的参数,值的类型就是参数的说明类型

def func5(str1:str,list1=[]):

​ list1.pass

def func5(str1):

​ str1. rep

4.不定长参数 — 形参

参数个数不确定的时候就是不定长参数

1)带* 的不定长参数

#在定义函数的时候可以在某个参数前加* , 那么这个带* 的参数就是一个不定长参数,可以同时接收多个实参。

#带*的参数会自动变成一个元组,接收到实参是元组中的元素。

def func6(*x):

​ print(x)

func6(10,20)

** 注意:一个函数可以既有不定长参数又有参数。其中定长在不定长前面,都使用位置参数。

定长在不定长后面,定长必须使用关键字参数。

2)带* * 的不定长参数(了解) --------字典

两颗* 的必须使用关键字传参

五、函数返回值

1.返回值

1)返回值的意义:返回值就是从函数内部传递到函数外部的数据

2)怎么确定函数返回值:返回值就是return关键字后面的后面表达式的值(执行函数体的时候遇到return,return后面是什么,函数返回值是什么)

#如果没有遇到return,返回值为None

3)怎么在函数外部使用函数返回值

函数调用表达式的值就是函数的返回值,所以返回值能做的事情,函数调用表达式都可以做。

函数调用表达式 — 调用函数的语句

def func1():

​ print(‘abc’)

​ return 100

2.retrun的作用

作用1:确定函数范围值

作用2:提前结束函数 — 如果执行函数体的时候遇到return,函数直接结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值