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)
相关推荐
AI小怪兽21 小时前
基于YOLOv13的汽车零件分割系统(Python源码+数据集+Pyside6界面)
开发语言·python·yolo·无人机
wszy180921 小时前
新文章标签:让用户一眼发现最新内容
java·python·harmonyos
Eric.Lee202121 小时前
python实现 mp4转gif文件
开发语言·python·手势识别·手势交互·手势建模·xr混合现实
EntyIU21 小时前
python开发中虚拟环境配置
开发语言·python
wszy180921 小时前
顶部标题栏的设计与实现:让用户知道自己在哪
java·python·react native·harmonyos
kaizq21 小时前
AI-MCP-SQLite-SSE本地服务及CherryStudio便捷应用
python·sqlite·llm·sse·mcp·cherry studio·fastmcp
!chen1 天前
Error: error:0308010C:digital envelope routines::unsupporte
python
小北方城市网1 天前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
xiaolyuh1231 天前
【XXL-JOB】 GLUE模式 底层实现原理
java·开发语言·前端·python·xxl-job
likuolei1 天前
Spring AI框架完整指南
人工智能·python·spring