Python教程

python基础学习Day7:函数的定义和作用、函数参数、函数嵌套、枚举函数enumerate、判断扩展、变量作用域(局部变量和全局变量)以及global和nonlocal的使用

本文主要是介绍python基础学习Day7:函数的定义和作用、函数参数、函数嵌套、枚举函数enumerate、判断扩展、变量作用域(局部变量和全局变量)以及global和nonlocal的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、函数的定义和作用

函数 (function) 是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。

作用:   使用函数可以加强代码的复用性, 提高程序编写的效率

1、函数的结构

def   函数名():           

        函数体

函数名只能包含字母、下划线和数字且不能以数字开头。 pass是空语句,是为了保持程序结构的完整性。

2、函数调用

函数名()

3、返回值

return:给函数的执行者返回值,函数中遇到return,此函数结束,不再继续执行。

 

 

二、函数参数

1、区分形参和实参

形参:写在定义函数的位置,这个变量叫形参

实参:写在函数调用的位置,这个值加实参

函数的传参:函数将实参交给形参的过程

2、必备参数

写了几个就要传几个

例如:

写了三个形参:a,b,c,就要传给三个实参

def func(a,b,c): # a,b是形参
    return a+b+c

3、默认参数

给某个参数指定一个默认值,设置了默认值,没有传值会根据默认值执行代码;传了值,会根据你传的值来执行代码。

 

4、可变参数

可变参数:*args,将实参所有位置参数接收,放置在一个元组中。传入的值的数量可以改变,可以传入多个,也可以不传。

5、关键字参数

关键字参数:**kwargs,接受所有的关键字参数,然后将其转换成一个字典赋值给kwargs这个形参

三、函数嵌套

一个函数中还有一个函数

函数调用:在函数B里面调用函数A 

四、枚举函数:enumerate

语法:enumerate (可遍历对象,start=0),参数start可以不写

注意:start参数用来设置遍历数据的下表起始值,默认为0

enumerate返回的结果是元组,元组的第一个数据是原迭代对象数据的下标,元组的第二个数据是原迭代对象的数据

五、判断扩展

1、isalpha():如果字符串中至少有一个字符并且所有字符都是字母,是则返回True,否则返回False

2、isdigit():如果字符串只包含数字,是则返回True,否则返回False

3、isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字,是则返回True,否则返回False

4、isspace():如果字符串只包含空白则返回True,否则返回False

5、startswith():判断字符串是否以指定字符或子字符串开头

6、endswith():判断字符串是否以指定字符或子字符串结尾,常用于判断文件类型 

其他的用法相同 

六、变量作用域

变量作用域指的是变量生效的范围,主要分为两类:局部变量和全局变量

注意:函数间不能共享内部定义的变量格式,函数内可以使用全局变量。

1、局部变量

所谓局部变量就是在函数体内的变量,即只在函数体内生效

局部变量的作用:在函数体内部,临时保存数据,即当函数调用完之后,则销毁局部变量

变量a是定义在testA函数的内部变量,在函数外部访问则立即报错。

2、全局变量

 所谓全局变量指的是函数体内、外都能生效的变量。

七、global和nonlocal的使用

1、global:将变量声明为全局变量

语法格式: global 变量名

在函数体内部修改全局变量

2、nonlocal:将变量声明为外层变量(外层函数的局部变量,而且不能是全局变量) 

nonlocal只能在嵌套函数中使用,在外部函数先声明,在内部函数进行nonlocal声明。使用nonlocal声明时,对上一级进行修改。

 

 

 

 

 

 

 

 

 

这篇关于python基础学习Day7:函数的定义和作用、函数参数、函数嵌套、枚举函数enumerate、判断扩展、变量作用域(局部变量和全局变量)以及global和nonlocal的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!