美文网首页
day12-函数(1)

day12-函数(1)

作者: 天行_b6d0 | 来源:发表于2020-07-20 18:31 被阅读0次

    一.常用三连

    1、什么是函数

    具备某一功能的工具>>>>>函数
    工具的使用:
    事先准备好工具>>>>>>>函数的定义
    遇到应用场景拿来就用>>>>>>>函数的调用

    2、为何要有函数

    1、程序的组织结构不清晰,可读性差
    2、如果要用到重复的功能,只能拷贝功能的实现代码=》代码冗余
    3、可扩展性差

    3、如何用函数

    函数的使用原则:先定义,后调用
    定义函数:
    def 函数名(参数1,参数2,参数3,...):
    """文档注释"""
    代码1
    代码2
    代码3
    ...
    return 返回值

    调用函数:
    函数名(值1,值2,值3,...)

    二:函数的基本使用

    1、定义函数:申请内存空间把函数体代码保存下来,然后把内存地址绑定给函数名-》函数名=函数的内存地址

    def sayhi():
        print('*'*10)
        print('hello')
        print('*'*10)
    
    print(sayhi)
    

    2、调用函数: 函数名()=> 函数的内存地址(),会触发函数体代码的运行
    sayhi()
    sayhi()
    sayhi()

    三:定义函数的三种格式

    1: 无参函数

    def login():
        inp_name=input("your name: ").strip()
        inp_pwd=input("your pwd: ").strip()
        if inp_name == "egon" and inp_pwd == "123":
            print('login successful')
        else:
            print('login error')
    
    login()
    
    
    def sayhi():
        print('='*100)
        print('hello')
        print('='*100)
    
    sayhi()
    

    2: 有参函数

    def sayhi(s,n):
        # s = '-'
        # n = 20
        print(s*n)
        print('hello')
        print(s*n)
    
    sayhi('-',20)
    sayhi('*',10)
    
    def max2(x,y):
        # x=10
        # y=20
        if x > y:
            print(x)
        else:
            print(y)
    
    max2(10,20)
    max2(11,22)
    

    3: 空函数

    def func():
        pass
    

    四:函数的调用

    return:
    函数内可以有多个return,但只要执行一次函数就立刻结束,并会把return后的值当作本次调用的结果返回

    函数可以有三种形式的返回值
    1、return 值:返回的就是该值本身
    2、return 值1,值2,值3:返回一个元组
    3、没有return:默认返回None

    def max2(x,y):
        if x > y:
            return x
        else:
            return y
    
    res=max2(1.1,3.3)
    
    print(res * 12 )
    

    五:函数调用的三种格式

    1 语句形式:单纯地调用一下函数就完了

    def sayhi(s,n):
        # s = '-'
        # n = 20
        print(s*n)
        print('hello')
        print(s*n)
    
    sayhi('*',30)
    

    2 表达式形式:

    def max2(x,y):
        if x > y:
            return x
        else:
            return y
    
    res=max2(11,22) * 12
    print(res)
    

    3 可以把函数的调用当作值传给另外一个函数
    print(max2(11,22))

    总结:

    函数的使用一定要分两个阶段去看:
    1、定义阶段:只检测语法,不执行代码
    2、调用阶段:执行函数体代码

    如果发生的语法错误,定义阶段就会立马检测出来
    def func():
    print("hello"

    如果发生的不是语法错误,而是逻辑错误,只能在调用阶段检测到

    def func():
        xxx
    func()
    

    示范1:

    def bar():
        print('from bar')
    
    def foo():
        print('from foo')
        bar()
    foo()
    

    示范2:

    def foo():
        print('from foo')
        bar()
    
    def bar():
        print('from bar')
    
    foo()
    

    相关文章

      网友评论

          本文标题:day12-函数(1)

          本文链接:https://www.haomeiwen.com/subject/ukwnhktx.html