Knight_day9

  • 函数初识

    def 函数名():

    执行:函数名()

    优点:1.减少代码重复率

       2.增强代码阅读性

    最主要的目的:封装一个功能

  • 函数返回值:

    return:

      1.函数中如果遇到return,则直接结束函数。

      2.给函数的执行者返回值。执行者:函数名() 注意要加括号

        return --> None

        return 单个值 --> 原封不动返回

        return 多个值 --> 一个元组,每个值是元组的一个元素

    工作中,函数中尽量不要出现print

  • 函数参数

    函数的传参:

      实参:函数执行者实际的参数

        位置参数:一一对应

        关键字参数:使用“形参 = ...”的格式,不用按顺序

        混合参数:关键字参数一定要在位置参数后

      形参:形式参数

        位置参数:一一对应

        默认值参数:形参 = ... 有实参用实参,没有实参用默认值

    三元运算:只针对于简单的if else结构才可用

      ret = x if x > y else y

    默认参数陷阱:

      默认参数若是可变数据类型,使用的始终是一个。

def func1(x, l1=[]):
    l1.append(x)
    return l1


ret = func1(1)
print(ret, id(ret))
ret1 = func1(100)
print(ret1, id(ret1))
'''
[1] 2097018805768
[1, 100] 2097018805768
'''

    使用默认参数录入人员姓名和性别的练习:

def func1(n1, s1=''):
    with open('人员名单', encoding='utf-8', mode='a') as f:
        f.write('{}|{}\n'.format(n1, s1))


while 1:
    n_s = input('请输入姓名,性别').strip().replace('', ',').split(',')
    if len(n_s) == 1:
        if n_s[0].upper() == 'Q':
            break
        else:
            func1(n_s[0])
    if len(n_s) == 2:
        func1(n_s[0].strip(), n_s[1].strip())

 

posted @ 2022-02-10 23:43  夜色无边  阅读(40)  评论(0)    收藏  举报