python——课堂笔记😻

混合传递😸

  1. 位置参数,默认参数,*args,关键字-only参数,**kwargs
  2. 仅关键字参数
  3. 定义优先级
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")

返回值😽

  1. return语句会在函数结束时将数据返回给程序
  2. 一个变量接收两个返回值
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}")

变量作用域😼

  1. 变量不能在程序任何位置进行访问
  2. 函数内部定义的变量,内部能访问,外部不行
  3. 函数间的局部变量相互独立、互不影响
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()

全局变量

  1. 全局变量可以在整个程序进行访问
  2. 该全局变量在函数内部只能访问,不能修改
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)
相关推荐
海绵宝宝转agent2 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
小奇不哭2 小时前
ROS2 单节点,RGB-D 深度相机局部路径提取 + B 样条平滑路径 + YOLOv8 障碍物检测 + 深度测距,用于移动机器人视觉局部循迹。
python·yolov8·ros2·cv2·路径探索循迹
小小龙学IT3 小时前
Python scikit-learn 机器学习库深度解析
python·机器学习·scikit-learn
2601_962071573 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
卷无止境4 小时前
独立开发者的"富矿地带":哪些垂直领域值得你押注一辈子?
后端·python
Java后端的Ai之路4 小时前
Python进阶探索29_eval内置函数
开发语言·python·探索·eval·内置函数
计算机毕业编程指导师4 小时前
计算机毕设选题推荐:基于Hadoop与Spark的Steam游戏数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·steam游戏
计算机毕业编程指导师4 小时前
【计算机毕设选题推荐】基于Hadoop+Spark的白鹿抖音评论大数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·抖音评论
Zootopia6265 小时前
飞行力学知识梳理1|飞行性能与稳定性
人工智能·python·算法·机器学习·无人机·学习方法·信息与通信
Y3815326625 小时前
搜索 API 延迟优化:并发数、超时与超时的真实代价
python·搜索引擎