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

    一、函数的作用

      有一个需求,求出一个列表的长度

    #求s1字符串的长度
    s1="1234566"
    count= 0
    for i in s1:
        count += 1
    print(count)

    #如果又要求s2="5543322"的长度呢?你只能将求s1的代码重复一遍

      如果使用函数呢?

    def  my_len():
        st = "123321123"
        count= 0
        for i in st:
            count += 1
        print(count) 
    #调用函数
    my_len()
    #就可以得到字符串的长度

    1、函数结构

    Python的代码执行过程,从上之下读取,到def的时候,只将函数名字存入内存,不去读取函数内部的内容,在调用函数的时候,才会返回函数名出,调用函数内部代码

      注:函数在实际工作中,不要在函数体中写print,因为函数的作用是逻辑过程

    def   关键字   函数名(设定于变量相同):#冒号的作用是隔开函数名和函数体

      函数体

    def  my_len():
        st = "123321123"
        count= 0
        for i in st:
            count += 1
    
        return count

    函数的执行 :函数名+括号

    my_len()  #相当于函数的执行者(调用者)

     2、return(返回值)

    功能:1,遇到return,结束函数

    def  func1():
        print("1")
        print("2")
        return 
        print("3")
        print("4")
    
    func1()
    
    #这里结果只显示1,2,不会显示3和4,因为在函数体执行遇到return的时候,就会停止运行函数体

       2、给函数的调用者返回值

    def  func1():
        return 1
    def  func2():
        return
    def  func3():
        return 1,2,3
    
    print(func1())
    print(func2())
    a,b,c=func3()
    print(a,b,c)
    
    '''
    返回值的情况有3种
        func1 的return返回的是数值1  
        func2 的return返回的是数值None 
        func3 的return返回的是一个(1,2,3),类型为元组 
                 可以将元组的值分别赋给a,b,c    
    '''      

    稍后整理会,敬请期待

    3、函数的传参

    #从实参角度   单个的参数默认用argv表示

      1、位置参数

      2、关键字参数

      3、混合参数  关键字参数必须在位置参数后边

      三元表达式

    #从形参角度 

      1、位置参数

      2、默认参数

      3、动态参数 (*args,**kwargs) 万能传参

        args:接收所有位置参数,以元组的形式

        kwargs:接收所有的关键字参数,并放入字典中

    参数的位置

    函数的执行:* 打散肝功能,将提供的可迭代对象的没个元素,才开放入到*args里面中

     *args的* 是函数的定义中加*,是将你所传入的位置参数聚合,添加到一个元组中,

    **kwargs的* 是函数的定义中加**,是将你所传入的关键字参数聚合,添加到一个字典中

    函数的进阶

    内置的名称空间,可以引用,不可以修改,如果想要引用需要用到global

    global的作用

        1、声明没有的全局变量

        2、在函数内更改已有的全局变量

    nonlocal的作用  :只对局部变量进行引用和改变,并且之后的引用也是改变只有的

        1、不能操作全局变量

        2、在修改了变量后,之后的引用都会改变

    函数名:

        1、可以相互赋值

        2、可以当做函数的参数

        3、可以当做容器类函数的参数

          

  • 相关阅读:
    PrintStream标准字节输出流
    DataInputStream数据字节专属输入流
    java.io.DateOutputStream:数据专属字节输出流
    BufferedWriter带有缓冲区的输出流 及 OutputStreamWriter转换流
    BufferedReader带有缓冲区的输入流 及 InputStreamReader转换流
    FileWriter输出文本流
    FileReader输入文本流
    使用FileInputStream 和 FileOutputStream 进行copy流 和 使用FileReader 和 FileWriter 进行 copy流案例:
    FileOutputStream输出字符流
    window docker的安装
  • 原文地址:https://www.cnblogs.com/fan-yi/p/8848007.html
Copyright © 2011-2022 走看看