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)
相关推荐
Dev _6 小时前
Python解释器安装在系统级目录导致命令行用户‌没有权限‌向该目录写入文件
开发语言·python
Dev _7 小时前
PyCharm旧进程仍在后台运行,导致新实例无法启动或连接
ide·python·pycharm
quantdash_cc8 小时前
如何检查滚动收益率计算中的窗口长度不足?——从数学定义到 Pandas 实现
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
砚底藏山河8 小时前
python量化:实时行情WebSocket断线重连状态机
java·python·websocket·金融
CodeGL8 小时前
16、Python Web开发
开发语言·前端·python
加点盐8 小时前
别再用 configparser 了:给本地配置加上加密、校验和版本迁移
python
小嘉丶学长8 小时前
Day08 · 字符串(二)
服务器·开发语言·python·学习·1024程序员节
BD_Marathon8 小时前
【Python】列表推导式
python
2501_948122639 小时前
Qs 跨端三方库仓颉适配全流程
python·react native·django·tornado
萌动的小火苗9 小时前
MQTT的QoS0、QoS1、QoS2有什么区别?
开发语言·网络·python·php·信息与通信