1,函数介绍
2,函数定义
-
目的: 知道函数的组成, 定义, 调用 -
操作流程: """
函数定义:
def 函数名(参数1:类型1, 参数2:类型2) -> 声明返回值类型
...
return 返回值
函数组成说明:
1, def 函数名需要遵守标识符规则; 必须
2, 参数(形式参数); 不必须
3, 声明返回值类型; 不必须
4, return 返回值; 不必须
函数的调用:
函数名(参数1,参数2)
函数种类(参数,返回值):
1, 无参数,无返回值
2, 无参数,有返回值
3, 有参数,无返回值
4, 有参数,有返回值
注意点:
1, 函数定义好之后,不调用,不会执行
"""""
def haha():
print("你调用了哈哈")
def get_age() -> int:
return 30
def get_sum(num1:int,num2:int) -> int:
return num1 + num2
result = get_sum(100,200)
print("result = {}".format(result))
3,函数参数
-
目的: 掌握函数参数的其他几种用法 -
操作流程 """
函数参数设置方式:
1, 缺省参数, 可以设置默认值
2, 不定长参数,元祖格式(*args),可以接受多个参数,
如果需要指明特定参数,需要将参数写在最前面
3, 不定长参数,字典格式(**kwargs),可以接受多个键值对
"""
def test(num1:int,num2:int = 100) -> int:
return num1 + num2
def test2(name:str,*args):
print(args)
print(name)
def test3(*args,**kwargs):
print(args)
print(kwargs)
test3("张三",2,3,4,5,6,10,a=10,b=20,c=30)
4,函数返回值
-
目的: 掌握函数返回值的作用 -
操作流程 """
返回值特点:
1, 一旦进行return,那么函数马上结束,函数后面的内容不会执行
2, 如果return多个值, 会将多个值封装成一个元祖进行返回
"""""
def sum(num1,num2):
return num1 + num2
def sum2(num1,num2) -> tuple:
return num1 + num2, num1 * num2, num1-num2
print(sum2(3,5))
5,函数嵌套
6,函数练习
-
目的: 掌握函数的练习 -
操作流程 """
需求: 给定列表[1,2,3,4,5]
求出他们列表和, 平均数
"""""
def get_sum(list) -> int:
"""求给定列表的和"""
sum = 0
for i in list:
sum += i
return sum
def get_avg(list,sum):
return sum / len(list)
sum = get_sum([1,2,3,4,5])
avg = get_avg([1,2,3,4,5],sum)
print("sum = {}, avg = {}".format(sum,avg))
print(get_sum.__doc__)
print(get_avg.__doc__)
7,局部全局变量
-
目的: 掌握python中局部,全局变量的特点 -
操作流程 """
全部变量&局部变量:
1, 在函数外部定义的变量, 全局变量
2, 在函数内部定义的变量是局部变量
注意点:
1, 在函数内部默认使用的是局部变量(就近原则)
2, 在函数外部使用的变量是全局变量
3, 局部变量提权(全局变量), global 变量名
"""""
a = 10
def test():
a = 20
print("test a = {}".format(a))
def test2():
a = 30
print("test2 a = {}".format(a))
test()
test2()
print("函数外部 a = {}".format(a))
8,变量引用
-
目的: 知道python中的变量引用两种方式(数值传递, 引用传递) -
操作流程
def change_list(a):
a.append("哈哈")
list = [1,2,3,4]
change_list(list)
print(list)
9,可变和不可变类型
-
目的: 知道哪些数据类型是可变的(引用), 哪些是不可变的(数值) -
操作流程 """ ################一, 数值传递 #################### """""
""" ################二, 引用传递 #################### """""
dict1 = {
"name":"迪丽热巴",
"age":33
}
dict2 = dict1
dict1["sex"] = "女"
print(dict2)
总结
1, 函数作用, 代码复用, 方便维护
2, 函数定义, def 函数名(参数: int = 10) -> 类型: return 返回值
3, 函数参数, 缺省值, 不定长*args, **kwargs
4, 函数嵌套, 函数内部调用其他函数
5, 局部变量,全局变量, 局部变量, global 变量名
6, 变量引用, 数值引用,不可变(数字,字符串,元祖), 地址引用,可变(列表,字典)
|