混合传递😸
- 位置参数,默认参数,*args,关键字-only参数,**kwargs
- 仅关键字参数
- 定义优先级
Python
复制代码
# ---------5、混合传递---------
# 位置参数,默认参数,*args,关键字-only参数,**kwargs
# 仅关键字参数
# 定义优先级
print("-----混合传递-----")
def func(a,b=2,*args,c,**kwargs):
print(a,b,args,c,kwargs)
# 正确调用
func("A","B","Math","Science",c="C",city="Hubei")
# 错误调用1:缺少必要的关键字参数
# func("A","B","Math","Science")
# 错误调用2:重复传参
# func("A",b="B",e = "Math",b=16)
# 错误调用3:位置参数在关键字参数之后
# func(a="A",b="B","Math","Science")
返回值😽
- return语句会在函数结束时将数据返回给程序
- 一个变量接收两个返回值
Python
复制代码
# ---------------------返回值--------------------
# return语句会在函数结束时将数据返回给程序
print("---------------返回值---------------")
students = []
def add_student(name, age, grade, student_id =None):
if student_id is None:
student_id = len(students) + 1001
student = {
"name":name,
"age":age,
"grade":grade,
"id":student_id
}
students.append(student)
print(f"成功添加学生:{name}(id:{student_id})")
return student
c = add_student("FanXianLian",25,25)
print(students)
print(c)
def move(x,y,step):
nx = x + step
ny = y - step
return nx, ny
# 一个变量接收两个返回值
print("----一个变量接收两个返回值------")
result =move(100,100,60)
print(result)
print("------两个变量接收两个返回值------")
a,b = move(100,100,60)
print(f"a={a},b={b}")
变量作用域😼
- 变量不能在程序任何位置进行访问
- 函数内部定义的变量,内部能访问,外部不行
- 函数间的局部变量相互独立、互不影响
python
复制代码
# ---------------------变量作用域--------------------
# 变量不能在程序任何位置进行访问
print("----------变量作用域----------")
# ------局部变量------
# 函数内部定义的变量,内部能访问,外部不行
print("------局部变量------")
def test_one():
number = 10 # 局部变量
print(number) # 内部可以访问局部变量
test_one()
# print(number) # 外部无法访问局部变量
# 2、函数间的局部变量相互独立、互不影响
def test_two():
number = 20 # 和test_one的局部变量不一样
print(number)
test_two()
全局变量
- 全局变量可以在整个程序进行访问
- 该全局变量在函数内部只能访问,不能修改
python
复制代码
#--------------------全局变量-------------------
print("-----全局变量-----")
# 1、全局变量可以在整个程序进行访问
number = 10
def test_one():
print(number) # 内部可以访问全局变量
test_one()
print(number)
# 2、该全局变量在函数内部只能访问,不能修改
number = number + 10
# def test_two():
# print(number)
# number = number + 1
test_two()
print(number)
学生管理系统🙀
Python
复制代码
# ===============================学生管理系统================================
students = []
# 1、显示学生管理系统菜单
def show_menu():
"""显示学生管理系统菜单"""
print("--------------------------------------")
print("|1. 添加学生信息")
print("|2. 查询学生信息")
print("|3. 查询学生总数")
print("|4. 退出系统")
print("--------------------------------------")
def add_student(name, age, grade, student_id =None):
if student_id is None:
student_id = len(students) + 1001
student = {
"name":name,
"age":age,
"grade":grade,
"id":student_id
}
students.append(student)
print(f"成功添加学生:{name}(id:{student_id})")
def find_student(student_id):
for student in students:
if student["id"] == student_id:
return student
return None
def count_student():
"""返回学生总数"""
return len(students)