成长很苦,进步很甜,希望我们大家每天都能够向上生长。
函数的概念引用一下菜鸟教程上的:
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
定义一个函数如下:
def function_name():
"""
这是函数的注释
:return:
"""
# 这里都是函数的内容
function_name() # 这是函数的调用
函数名的命名要求与变量命名保持一致
函数定义时()内的参数叫形参,函数调用时()内的参数叫做实参
函数调用时需要传递相对应的参数,可传递的参数类型有以下几种:
-
必须参数
-
关键字参数
-
默认参数
-
不定长参数
必须参数
def bixu(num):
"""
输出一个数字与1相加的和
:return:
"""
num_sum = num + 1
print(num_sum)
bixu()
正确调用:
调用时不传必须参数报错截图
关键字参数
def guanjian(name,age):
"""
输出一个人的姓名和年龄
:return:
"""
print("{}的年龄是{}".format(name,age))
guanjian("grassroadsZ",18)
正确的输入输出:
错误输出
默认参数
def moren(name,age=18):
"""
输出任何人的姓名和年龄
:return:
"""
print("{}的年龄是{}".format(name,age))
moren()
函数调用时只是传了一个姓名,并没有传递年龄参数。所以age默认为18
当传递了age参数时,则默认参数的值会被覆盖
不定长参数
有时候传递实参时,实参的个数不定,这时候就需要用到不定长参数,其中位置参数的不定长参数的关键字是args,一个会将传入的不定长参数打包成一个元组,关键字参数的关键字是**kwargs,**会将传入的不定长关键字参数打包成一个字典
拆包(使用一个*)字典拆包针对与key而非value
return返回值
当函数调用结束后需要对函数调用后的结果有个反馈,这个时候就需要用return,return默认返回为None
def sum( num1, num2 ):
# 返回2个参数的和."
total = num1 + num2
print ("函数内 : ", total)
return total
# 调用sum函数
total = sum( 10, 20 )
print ("函数外 : ", total)
# 输出结果
函数内 : 30
函数外 : 30
作用域
python中的变量在访问时并不是想访问就能访问到的,是有一定的权限的,权限由定义变量的位置决定
顺序为:
局部 —》函数闭包外 —》全局变量 —》模块
变量位于函数内部时叫做局部变量,位于函数外部时叫做全局变量;
局部变量的作用域只在函数内部生效,当想要将函数内部的局部变量修改为全局变量时需使用global value_name 来修改。
概念性的东西较多,我自己也是知之甚少,有错误之处,欢迎指正。
本文由grassroadsZ原创首发于微信公众号:下钻上长