zoukankan      html  css  js  c++  java
  • Python:初始函数

    Python:初始函数

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

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

    函数的定义:

        #函数在定义阶段,只检测语法,不执行代码.
        def 函数名(参数1参数2,...):
            '''注释信息'''
            函数体
            return 返回值
        
        定义函数的三种形式:
            无参: #函数无需外部传入参数
            有参: #函数体的代码,需要外部传入值的时候才使用有参函数   
            空函数: #结构占位

    函数的调用:

        函数名()  #*****函数的调用,必须要准寻先定义后调用的原则
        
        函数调用的三种形式:
            def foo():
                print(1)
                return 123
            
            直接通过函数名调用:
            foo()
            
            赋值给其他变量,间接调用
            res=foo()
            print(res)
        
            利用函数返回值进行调用
            res=foo()*10
            print(res)

    函数的返回值return:

        调用函数的过程中,一旦执行到return,就终止函数。并且把return后的内容当作本次调用的返回值返回
        函数体内可以有多个return,但只能执行一个次
        返回的值,可以是任意类型,可以用逗号分隔,以元祖的形式返回多个值
        可以不写return,默认返回None

    函数的参数:

        形参:函数定义的时候指定的参数
        实参:在函数调用阶段使用的参数
        
        固定形参:
            默认参数:在定义阶段,已经为形参赋值了,在调用阶段可以不传值
                注意的个问题:
                    #1.默认参数的值,只在定义时赋值一次
                    #2.默认参数的值,应该是不可变类型
                    #3.默认参数,都必须写在非默认参数的右边,非固定参数的左边
            def foo(y=10)
                print(y)
            foo()
            
            位置形参: #位置参数是在定义阶段的解释.
            def foo(x,y,z)
                print(x,y,z)
            foo(1,2,3)         #位置形参的默认调用方式,也叫必要实参
            
            foo(y=2,z=3,x=1)   #位置形参在调用阶段,可以叫做关键实参
            
        非固定形参:
            *args: #接收形参中没有定义的任意个数的位置参数,并将其保存在元组当中
            
            **kwargs: #接收形参中没有定义的任意个数的关键字实参,并将其保存在字典当中

       形参的顺序  
    位置参数 *args, 默认参数,**kwargs
    def func3(*args, **kwargs): 
        print(args)
        print(kwargs)
    func3(1, 2, 3, 'alex', c=6, name='wusir', age='21')
    
    (1, 2, 3, 'alex')
    {'c': 6, 'name': 'wusir', 'age': '21'}
    def func3(*args, **kwargs):  #函数的定义的时候 * 代表聚合。
        print(args)
        print(kwargs)
    func3(*[1, 2, 3],*(22, 33))  #函数的执行的时候 * 代表打散。
    
    (1, 2, 3, 22, 33)
    {}
    def func3(*args, **kwargs):  #函数的定义的时候 * 代表聚合。
        print(args)
        print(kwargs)
    func3(**{'name':"alex"},**{'age':23})  #函数的执行的时候 * 代表打散。
    
    ()
    {'name': 'alex', 'age': 23}
  • 相关阅读:
    PyPDF2 编码问题 PyPDF2.utils.PdfReadError Illegal character in Name Object
    使用PyPDF2结合pdfminer拆分PDF,并提取关键字重命名拆分出来的文件
    最全面的常用正则表达式大全
    idea setting
    java基础-静态,非静态(构造)代码块,类加载
    利用复制(分发订阅)延时计算业务数据
    sql server 数据库复制实现数据同步常见问题(不定期更新)
    api接口写好了?想过(Accept,Content-Type)?返回类型json|xml?
    install brew cask
    idea 找不到 没有 tomcat server
  • 原文地址:https://www.cnblogs.com/bailo/p/9085336.html
Copyright © 2011-2022 走看看