DAY 7

DAY 7,第1张

DAY 7 day 7
def measure():
    """测量温度和湿度"""

    print("测量开始:")
    temp = 39
    wetness = 50
    print("测量结束:")
    return temp, wetness


# 元组
result = measure()
print(result)
# 需要单独的处理温度或湿度
# print(result[0])
# 注意:使用多个变量接收结果时,变量的个数应该和元组中的元素个数保持一致
gl_temp, gl_wetness = measure()
print(gl_temp)
print(gl_wetness)
交换数字
a = 6
b = 100
# 1.法一:使用其他变量
# c = a
# a = b
# b = c
# 2.法二:不使用其他变量
# a = a+b
# b = a-b
# a = a-b
# 3.法三:python专有
# a, b = (b, a)
a, b = b, a
print(a)
print(b)

只要针对参数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到外部变量的引用

def demo(num, num_list):
    print("函数内部的代码")

    num = 100
    num_list = [1, 2, 3]
    print(num)
    print(num_list)
    print("函数执行完成")


gl_num = 99
gl_list = [4, 5, 6]

demo(gl_num, gl_list)
print(gl_list)
print(gl_num)

若传递的参数是可变类型,在函数内部使用方法修改了数据的内容,同样会影响到外部数据

def demo(num_list):
    print("函数内部的代码")
    num_list.append(9)
    print(num_list)
    print("函数执行完成")


gl_list = [1, 2, 3]
demo(gl_list)
print(gl_list)
+=
def demo(num, num_list):
    print("函数开始")
    num += num
    # 本质上是在调用列表的extend方法
    # num_list = num_list + num_list 则不会改变全局变量
    num_list += num_list
    print(num)
    print(num_list)
    print("函数完成")


gl_num = 9
gl_list = [1, 2, 3]
demo(gl_num, gl_list)
print(gl_list)
print(gl_num)
函数的缺省
def print_info(name, title="", gender=True):
    """

    :param title: 职位
    :param name: 班上同学的姓名
    :param gender: True 男生 False 女生
    """
    gender_text = "男生"
    if not gender:
        gender_text = "女生"
    print("[%s]%s是%s" % (title, name, gender_text))


print_info("小明", gender=True)
多值参数

参数名前增加一个* 可以接收元组

参数名前增加两个** 可以接收字典

def demo(num, *nums, **person):
    print(num)
    print(nums)
    print(person)


demo(1)
demo(1, 2, 3, 4, 5, name="xiaoming", age=18)
# 拆包语法
gl_nums = (1, 2, 3)
gl_dict = {"name": "xiaoming", "age": 18}
demo(1, *gl_nums, **gl_dict)
def sum_numbers(*args):
    num = 0
    print(args)
    for n in args:
        num += n
    return num


result = sum_numbers(1, 2, 3)
print(result)
函数的递归

一个函数内部调用自己

def sum_number(num):
    print(num)
    if num == 1:
        return 
    sum_number(num - 1)


sum_number(3)
def sum_numbers(num):

    # 1.出口
    if num == 1:
        return 1
    # 2.数字的累加
    temp = sum_numbers(num - 1)
    return num+temp


result = sum_numbers(3)
print(result)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5689476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存