zoukankan      html  css  js  c++  java
  • 神奇的python系列8:函数(一)

    1 认识函数

    什么是函数?

    定义一个事情或者是功能,等到需要的时候直接去用就好了.那么这里定义东西就是一个函数。

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

    函数的基本结构:

    def 函数名():
        函数体

    我们使用def关键字来定义函数,函数的定义语法,这里的函数名的命名规则和变量的命名规则一样。

    def make():
        print('拿出手机')
        print('拿出微信')
        print('看看附近的人')
        print('美女,约架吗?')
        print('约,走起!')

    这里只定义了一个函数.但是还没有执行过这个函数.


    3 调用函数

    使用函数名加小括号就可以调用了  写法:函数名()  这个时候函数的函数体会被执行。

    函数的调用:
    # 函数 + 小括号  == 调用
    func()
    def make():
        print('拿出手机')
        print('拿出微信')
        print('看看附近的人')
        print('美女,约架吗?')
        print('约,走起!')
    make()   # 函数名 + 小括号  ==  调用


    4 函数的执行流程

    def make():  #1
        print('拿出手机')  #3
        print('拿出微信')  #4
        print('看看附近的人')  #5
        print('美女,约架吗?')  #6
        print('约,走起!')  #6
    make()  #2   # 函数名 + 小括号  ==  调用


    5 函数的返回值

    执行完函数之后,我们可以使用return来返回结果.

    def func():
        print('今天是周二')
        return '1-9'
        print('明天是周三')
        return '1-8'
        print('后天是周四')
        print('大后天是周五')
        print('大大后天是周六')
    # 函数中当执行到return的时候就结束了,return以下代码都不执行,并且终止这个函数
    print(func())

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

    2.return 返回值

     关于返回值:

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

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

               return 可以返回随意数据;

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


    6 函数的参数

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

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

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

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

    def make(chat):    # chat  定义的参数是形参   
        print("拿出手机")   
        print("打开"+chat)   
        print("找个漂亮的妹子")   
        print("约不约")
         
    make("陌陌")    # 调用的参数是实参  形参和实参的数量 一一对应
    len("字符串")    # "字符串"在这⾥里里就是实参
    print("麻花藤")    # "麻花藤"就是实参 

    参数分类:

    实参的角度:
    func('清华','东莞')                            位置参数

    def make(chat,addr,age):    # chat  形参
        pass
     
    make("清华","东莞",18)    # 实参

    在访问make()的时候,我们按照位置的顺序分别把"陌陌","北京",18赋值给了

    chat,addr,age,在传参过程中.系统会按照位置吧实参赋值到形参。

    func(msg = '清华',addr = '东莞')   关键字参数

    def make(chat, address, age):
        pass
     
    make(chat="清华", age=18, address="东莞")       # 关键字参数.

    python提出了一种叫做关键字参数. 我们不需要记住每个参数的位置. 只要记住每个参数的名字就可以了。

    func('清华',addr='清华')                混合参数

    def make(chat, address, age):
        pass
     
    make("清华",age="18", address="东莞") # 关键字参数.

    注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面.

    可以把上面两种参数混合着使用. 也就是说在调用函数的时候即可以给出位置参数, 也可以指定关键字参数。

    def func(school='清华')            默认值参数

    def stu_info(name, age, sex=''):    #默认参数
        pass
     
    stu_info("张强", 18)

    在函数声明的时候, 就可以给出函数参数的默认值. 在调用的时候可以 给出具体的值, 也可以不给值, 使⽤用默认值.

    注意:必须先声明在位置参数,才能声明关键字参数

    参数的顺序: 位置参数 > 默认参数(关键字参数),在默认参数前边写位置参数

    函数形参的规则 位置参数 > 默认参数
    函数形实参的规则 位置参数 > 关键字参数

    总结:

    实参的角度:
    func('清华','东莞')    位置
    func(msg = '清华',school = '东莞')   关键字
    func('清华',school='清华')   混合

    形参的角度:
    def fucn(msg,school)    位置
    def func(school='清华')   默认参数
    def func(msg,school='清华')    混合

  • 相关阅读:
    JAVA实现DES加密实现详解
    CentOS 7安装Hadoop 3.0.0
    使用JAVA开发微信公众平台(一)——环境搭建与开发接入
    Oracle触发器用法实例详解
    负载均衡中使用 Redis 实现共享 Session
    在windows上部署使用Redis
    java 线程排查问题流程
    使用Fernflower 比较准确的反编译整个java项目
    Mysql用户本机登陆不成功的解决
    kali 系统的源
  • 原文地址:https://www.cnblogs.com/xianyuwangzhe/p/10257429.html
Copyright © 2011-2022 走看看