python函数的介绍及应用(意为理解)

局部变量

局部变量,就是在函数内部定义的变量

其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的

因为其作用范围只是在自己的函数内部,所以不同的函数可以定义相同名字的局部变量(打个比方,把你、我是当做成函数,把局部变量理解为每个人手里的手机,你可有个iPhone8,我当然也可以有个iPhone8了, 互不相关)

局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储

当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了

全局变量:

在函数外边定义的变量叫做全局变量

全局变量能够在所有的函数中进行访问

当函数内出现局部变量和全局变量相同名字时,函数内部中的 变量名 = 数据 此时理解为定义了一个局部变量,而不是修改全局变量的值

如果在函数中出现global 全局变量的名字 那么这个函数中即使出现和全局变量名相同的变量名 = 数据也理解为对全局变量进行修改,而不是定义局部变量

如果在一个函数中需要对多个全局变量进行修改,那么可以使用.

返回值return:

一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处

如果程序设计为如下,是可以的因为不同的场景下执行不同的return

return后面可以是元组,列表、字典等,只要是能够存储多个数据的类型,就可以一次性返回多个数据

如果return后面有多个数据,那么默认是元组

参数(缺省参数,不定长参数)

缺省参数:

   在形参中默认有值的参数,称之为缺省参数

注意:带有默认值的参数一定要位于参数列表的最后面

调用函数时,缺省参数的值如果没有传入,则取默认值。

不定长参数:

有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数,声明时不会命名。

加了星号(*)的变量args会存放所有未命名的变量参数,args为元组

而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典.

如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 *args的后面, 但如果有**kwargs的话,**kwargs必须是最后的

拆包:

  • 拆包时要注意,需要拆的数据的个数要与变量的个数相同,否则程序会异常
  • 除了对元组拆包之外,还可以对列表、字典等拆包

def get_my_info():
    high = 178
    weight = 100
    age = 18
    return high, weight, age


# result = get_my_info()
# print(result)

my_high, my_weight, my_age = get_my_info()
print(my_high)
print(my_weight)
print(my_age)

 可变类型和不可变类型

所谓可变类型与不可变类型是指:数据能够直接进行修改,如果能直接修改那么就是可变,否则是不可变

可变类型有: 列表、字典、集合

不可变类型有: 数字、字符串、元组

猜你喜欢

转载自blog.csdn.net/weixin_43115821/article/details/82669059