zoukankan      html  css  js  c++  java
  • 函数

    致命三问,他来了他来了……

    什么是函数?

    函数就是一种工具,可以重复使用(比如说光头强砍树,他用的电锯就是他的工具,而函数就是我们的工具)

    为什么要用函数?

    1、防止代码冗余

    2、增强可读性

    怎么用函数?

    PS:函数的命名规则和变量名是一样的

    函数的使用:定义函数——>>>调用函数

    PS:函数是先定义,再调用,在定义阶段只检测语法,不执行代码

    定义函数:

    def index():    # 定义函数
        '''打印hello world'''  # 函数描述:代码体的功能或操作
        print('hello word')     # 代码体(实现某种功能)
    index()    # 调用函数

    函数的三种形式

    1、无参函数

    def index():     #index中没有参数
        print('ok')
    f = index()

    2、空函数

    del index():
        pass

    3、有参函数

    def login(username,age):    #传入形参username,age
        print(username,age)     #打印username,age 
    login('姓名:kang','年龄:21')#传入实参姓名:kang年龄:21

    函数的调用有三种方式

    1、直接调用:直接用函数名,比如说上边的代码就是直接调用

    2、定义变量接受,再次返回变量

    def index():
        print('ok')
    f = index()     #把函数定义成变量f
    print(f)        # 打印变量f

    3、将函数当参数使用

    def index(a,b):     # 定义形参a,b
        if a > b:       # 如果a>b
            return a    # 返回a
        else:           # 如果不是
            return b    # 返回b
    print(index(1,2))   # 定义实参a=1,b=2

    函数的返回值(return)

    return:一个函数结束的标志,函数代码体但只要执行到return,函数执行结束

    1、不写return:默认返回None

    2、只写return:只有结束函数体代码的效果,返回None

    3、写return None:和只写return一样

    4、return返回一个值:返回当作一个变量来使用

    5、return返回多个值:

      ①将返回的多个值存入元组(函数返回的值不想被修改)

      ②可以自己制定返回的数据类型

    函数的参数

    形参

     是在函数定义阶段就规定的参数,它就相当于定义变量时的变量名

    def login(username,age):        # 定义形参
        print(username,age)
    login('姓名:kang','年龄:21')  

    实参

    函数调用阶段传入的参数,它就相当于定义变量时的变量值

    def login(username,age):        
        print(username,age)
    login('姓名:kang','年龄:21')  # 定义实参

    位置参数

    通过位置进行传参

    def index(age,QQ):
        print(age,QQ)    
    index('21','123456')    #age = 21,QQ = 123456

    关键字参数

    指定参数进行传参

    def index(age,QQ):
        print(age,QQ)              # 打印age QQ
    index(QQ='123456',age='21')    # age = 21,QQ = 123456

    PS:位置参数和关键字参数可以混用,但是位置参数必须在关键字参数前面,混用时不要对同一个形参重复赋值

    def index(age,QQ):
        print(age,QQ)              # 打印age QQ
    index('21',QQ='123456')    # age = 21,QQ = 123456

    默认参数

    在定义函数阶段就已经传入参数,如果说你在实参中传入了一个新的参数,就会使用新参数

    def index(age='21',QQ='456'):   # age默认为21,QQ默认为456
        print(age,QQ)               # 打印age QQ
    index(QQ='123456')

    PS:当参数对应值重复出现的情况下,使用默认参数

    可变长参数  

    *args(官方认证)  

    接收用户所溢出的位置参数,接收的值都被存入一个元组

    def index(name,age,QQ,*args):
        print(name,age,QQ,args)
    index('kang',21,456789,15013131313,'篮球')

    **kwargs

    接收所有溢出的关键字参数,接收的都被存入一个字典

    def index(name,age,QQ,**kwargs):
        print(name,age,QQ,kwargs)
    index(name='kang',age=21,QQ=456789,phon=15013131313,hobby='篮球')
  • 相关阅读:
    3.22
    练习 3.16
    简单工厂模式
    Java-不可变字符串
    java中的缓冲流
    TCP协议下java通信
    nginx优化
    nginx反向代理
    shell-for循环
    shell-数组
  • 原文地址:https://www.cnblogs.com/aheng/p/11824813.html
Copyright © 2011-2022 走看看