函数是一个工具,在输入和输出之间构造一个关系;使用函数方便了代码的复用,避免重新造轮子;
目录
函数的分类
内置函数
自定义函数
函数几种格式对比
无参数,无返回值
有参数,无返回值
无参数,有返回值
有参数,有返回值
局部函数
变量作用域
局部变量
全局变量
方式一:在函数体外定义的变量
方式二:在函数体内定义全局变量,使用 global 关键字对变量进行修饰后,该变量就会变为全局变量
函数的分类
内置函数:python自身带有的,实践中使用非常频繁的一些函数;
自定义函数:通常指程序员自己定义自己使用的函数;
模块函数:把一些函数,单独地放在被成为模块的文件中,这些函数就被称为模块函数。这些函数可能是python自带的,也可能是由第三方开发的一些函数;
内置函数
python内置函数有哪些?整理到了7大分类48个函数,都是工作中常用的函数 - 知乎
自定义函数
def 函数名(参数):#参数可选
函数体
[return 返回值] #可选
函数几种格式对比
通过案例了解自定义函数的几种情况:半径为10,计算圆面积
如果没有return返回值,直接调用函数;如果有return返回值,函数的运行结果作为一个值使用;
如果没有参数,只能计算半径为10的情况;如果有参数,通过修改参数可以计算不同半径;
无参数,无返回值
def area1():
print(3.14*10*10)
area1() #314.0
有参数,无返回值
def area1(r):
print(3.14*r*r)
area1(10) #314.0
无参数,有返回值
def area1():
return 3.14*10*10
print(area1()) #314.0
有参数,有返回值
def area1(r):
return 3.14*r*r
print(area1(10)) #314.0
局部函数
Python 支持在函数内部定义函数,此类函数又称为局部函数,默认情况下局部函数只能在其所在函数的作用域内使用。
def jisuan(type,n):
def add(n):
return n+n
def double(n):
return n*3
def el(n):
return n
if type == 'add':
return add(n)
elif type == 'double':
return double(n)
else:
return el(n)
print(jisuan('add',20)) #40
print(jisuan('double',20)) #60
print(jisuan('addd',20)) #20
变量作用域
Python变量作用域(全局变量和局部变量)
一个程序的所有的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的
局部变量
在函数内部定义的变量,它的作用域也仅限于函数内部,出了函数就不能使用了,我们将这样的变量称为局部变量(Local Variable)。
当函数被执行时,Python 会为其分配一块临时的存储空间,所有在函数内部定义的变量,都会存储在这块空间中。而在函数执行完毕后,这块临时存储空间随即会被释放并回收,该空间中存储的变量自然也就无法再被使用。
全局变量
除了在函数内部定义变量,Python 还允许在所有函数的外部定义变量,这样的变量称为全局变量(Global Variable)。
和局部变量不同,全局变量的默认作用域是整个程序,即全局变量既可以在各个函数的外部使用,也可以在各函数内部使用。
方式一:在函数体外定义的变量
x = '认识全局变量'
def str1():
x = '认识局部变量'
print(x)
print(x) #认识全局变量
str1() #认识局部变量
print(x) #认识全局变量
方式二:在函数体内定义全局变量,使用 global 关键字对变量进行修饰后,该变量就会变为全局变量
x = '认识全局变量'
def str1():
global x
x = '认识局部变量'
print(x)
print(x) #认识全局变量
str1() #认识局部变量
print(x) #认识局部变量