zoukankan      html  css  js  c++  java
  • 函数初识

    一、什么是函数?

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

    函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print(),len()等。但你也可以自己创建函数,这被叫做用户自定义函数。

    函数:对代码块和功能的封装和定义

    二、 函数的定义与调用。

    定义:

    def 函数名():
        函数体

       def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。

       def 是固定的,不能变,他就是定义函数的关键字。

       空格: 为了将def关键字和函数名分开,必须空(四声)。

       函数名:(函数名的命名规则和变量的命名规则一样)函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能

       括号:是必须加的,先别问为啥要有括号,总之加上括号就对了!

       函数体:就是函数被执行之后要执行的代码

    注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。

    调用:就是 函数名() 要记得加上括号。

     调用函数 
    def make():
        print("拿出手机")
        print("打开陌陌")
        print("找一个漂亮的妹子")
        print("问 约不约啊")
        print("ok 走起")
    make()   # 这是make函数的调用
     
    
    # 结果:
    # 拿出⼿手机
    # 打开陌陌
    # 找个漂亮的妹⼦
    # 问她, 约不约啊
    # ok. 走你

    三、函数的执行流程

    def make():
        print("拿出手机")
        print("打开陌陌")
        print("找一个漂亮的妹子")
        print("问 约不约啊")
        print("ok 走起")
    make() 
    make() 
    make() 
    make() 
    make()    #多执行几次 

    1.定义了一个函数make

    2.调用函数

    3.执行函数里的约你

    4.执行函数里的约我

    5.执行函数里的约他

    6.返回给调用者一个字符串'美女一枚',这个调用者就是make()

    7.将返回的字符串通过一个等号赋值给白变量girl

    8.打印变量girl的值

    四、函数的返回值。

     (1)没有设置返回值,输出 None

    def make():
        print("约你")
        print("约我")
        print("约他")
    ret = make()
    print(ret)
    
    #结果
    # 约你
    # 约我
    # 约他
    # None
    View Code

    (2)只写return,后面不写其他内容,也会返回None

    def make():
        print("约你")
        print("约我")
        print("约他")
        return
    ret = make()
    print(ret)
    #结果
    # 约你
    # 约我
    # 约他
    # None
    View Code

    (3)返回一个值的情况,只需在return后面写上要返回的内容即可。

    def make():
        print("约你")
        print("约我")
        print("约他")
        return '美女一枚'
    ret = make()
    print(ret)
    
    # 结果:
    # 约你
    # 约我
    # 约他
    # 美女一枚
    View Code)

    (4)可以返回任意多个、任意数据类型的值.返回的多个值会被组织成元组被返回,也可以用多个值来接收

    def make():
        print("约你")
        print("约我")
        print("约他")
        return '美女一枚','萝莉'
    ret = make()
    print(ret)
    
    # 结果:
    # 约你
    # 约我
    # 约他
    # ('美女一枚', '萝莉')
    View Code

    (5)函数中遇到return,此函数结束.不在继续执行

    def make():
        print("约你")
        print("约我")
        print("约他")
        return   
        print("约谁呀")    # 这句话不会被执行
         
    make()
    View Code

    总结一下:

      1.遇到return,此函数结束,函数后面的东西将不会在执行

      2.return 返回值

        关于返回值:

          如果return什么都不写或者干脆就没写return,返回的结果就是None

          如果return后面写了一个值,则调用者可以接受一个结果

          如果return后面写了多个结果,则调用者可以接受一个tuple,调用者可以直接使用解构获取多个变量

    五、函数的参数。

    参数,也就是函数括号里的内容 函数在调用的时候指定一个具体的变量的值 就是参数

      1.形参

        写在函数声明的位置的变量叫形参,形式上的一个完整.表示这个函数需要xxx

      2.实参

        在函数调用的时候给函数传递的值.加实参,实际执行的时候给函数传递的信息.表示给函数xxx

      3.传参

        给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.

     

    def make(char,addr,sex):  # 形参 char = '探探'
        print('掏出手机')
        print('打开%s'%char)
        print('找一个%s,%s'%(addr,sex))
        print('聊一聊')
    
    make('探探','北京','萝莉') # 实参
    
    #结果:
    #掏出手机
    #打开探探
    #找一个北京,萝莉
    #聊一聊

     

    在形参的角度来看

    1. 位置参数

    2. 默认值参数(大多数传进来的参数都是一样的, 一般用默认参数)   

         位置参数 > 默认参数  

    在实参的角度来看

    1. 位置参数

    2 .关键字参数 

    3.混合参数   

       位置参数  > 关键字参数    

    # 位置参数:
    #     def make(char,addr,sex)
    #        make('探探','北京','萝莉')
    def func(a,b):
       c =  a + b
       return c
    
    print(func(10,20))
    def make(a,b,d=1,e=0):    #位置参数  默认参数
        print(a,b,d)
    make(1,2)
    def func(a,b,c,d=1):  # 形参 (位置+默认)混合形参
        print(a,b,c,d)
    
    func(1,2,3) # 位置参数
    
    # 1 2 3 1
    def user_info(name,age,sex=''):
        print(name,age,sex)
    
    user_info('某某',48,'不详')
    
    #   某某 48 不详
    def func(a,b,c,d=1):  # 形参 (位置+默认)混合形参
        print(a,b,c,d)
    
    func(1,2,3,d=3) # 实参 (位置+关键字)混合实参
    
    #1 2 3 3

     三元表达式

    def func(a,b):
        if a>b:
            return a
        else:
            return b
    print(func(9,0))
    def func(a,b):
        # c = a if a>b else b
    #     # return c
        return a if a>b else b
    print(func(10,9))

    # 条件成立的结果       条件          条件不成立的结果

    #  c =  a            if a>b else              b

  • 相关阅读:
    读书笔记—CLR via C#线程25-26章节
    算法回顾--N皇后问题简单回顾
    编程拾趣--集合子集问题
    读书笔记—CLR via C#异常和状态管理
    读书笔记—CLR via C#字符串及文本
    设计模式---抽象工厂
    读书笔记—CLR via C#反射
    读书笔记—CLR via C#委托和attribute
    C#编程实践—EventBroker简单实现
    Linux平台屏幕录像工具RecordMyDesktop
  • 原文地址:https://www.cnblogs.com/Xiao_Xu/p/10522787.html
Copyright © 2011-2022 走看看