zoukankan      html  css  js  c++  java
  • python之函数入门

    python之函数入门

      一. 什么是函数
      二. 函数定义, 函数名, 函数体以及函数的调用
      三. 函数的返回值
      四. 函数的参数

      五.函数名->第一类对象

      六.闭包

    一,什么是函数

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

    二. 函数定义, 函数名, 函数体以及函数的调用

        我们使用def关键字来定义函数

        函数的定义语法:  def 函数名()

                  函数体

    如下

    def fuc():
        lst=[1,2,3,4,5,6,7,8,9]  #函数体
    fuc()  #函数的调用

        这里的函数名的命名规则和使用和变量基本一样

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

        函数的调用: 使用函数名可以调用函数, 写法: 函数名(), 这个时候函数的函数体会被执行

    三. 函数的返回值

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

    如下:

    def fuc():  
        ls= []
        lst= [1,2,3,4,5,6,7,8,9]
        for i in range(len(lst)):
            if int(i) % 2 ==0:
                ls.append(lst[i])
        return ls    #返回值
    
    ls_1=fuc()
    print(ls_1)

        函数中return的使用:
          1. 函数中遇到return, 此函数结束, 不再继续执⾏.      

          2. 关于返回值:          

            如果return什么都不写 或者 干脆不写return .那么返回的就是None          

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

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

    四. 函数的参数

        参数, 函数在调用的时候指定具体的一个变量的值. 就是参数

        参数语法:  def 函数名(参数列表):
                函数体

    def func(形参)
        a = 10
    ret=func(实参)
    

      

    关于参数:
    1. 形参
      写在函数声明的位置的变量叫形参. 形式上的一个完整. 表示这个函数需要xxx
    2. 实参
      在函数调用的时候给函数传递的值. 叫实参, 实际执行的时候给函数传递的信息. 表示给函数xxx
    3. 传参
      给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.

    参数的分类:

      在实参的角度来看. 分为三种:
        1. 位置参数
        2. 关键字参数
        3. 混合参数, 位置参数必须在关键字参数前面

      在形参的⾓角度来看,
        1. 位置参数
        2. 默认值参数(大多数传进来的参数都是一样的, 一般用默认参数)

    五.第一类对象-> 函数名 -> 变量名 

    • 函数名可以像变量一样进行赋值

    • 还可以作为列表的元素进行使用

    • 还可以作为返回值返回

    • 还可以作为参数进行传递

    例子1.

    def func1():
        print("字符串")
    
    def func2():
        print("列表")
    
    def func3():
        print("字典")
    
    def func4():
        print("元组")
    
    lst = [func1, func2, func3, func4] # 函数+() 就是调用.
    print(lst)
    
    for el in lst: #  el是列表中的每一项.
        el() # 拿到函数. 执行函数
    

     例子2.

    def wrapper():
        def inner():
            print("哈哈哈")
        return inner  # 函数名可以像返回值一样返回
    
    ret = wrapper()#这里的ret就是inner
    ret() # 在函数外面访问了函数内部的函数
    

      例子3代理proxy.

    # 函数可以作为参数进行传递
    def func1():
        print("字符串")
    
    def func2():
        print('列表')
    
    def func3():
        print('字典')
    
    def func4():
        print("元组")
    
    # proxy即代理. 装饰器的雏形
    def proxy(a): # a就是变量. 形参
        a()
    proxy(func1)#把func1赋值给a
    proxy(func3)#把func2赋值给a
    proxy(func4)#把func3赋值给a
    

    六.闭包

      闭包 -> 函数的嵌套
      内层函数对外层函数中的变量的使用  

      闭包的优点:

        1, 可以保护变量不被其他人侵害

        2, 保持一个变量常驻内存

    def wrapper(): name = "周杰伦" # 局部变量常驻与内存 def inner(): print(name) # 在内层函数中使用了外层函数的局部变量 return inner # 返回函数名 ret = wrapper() # ret是一个内层函数 ret() # ret是inner, 执行的时机是不确定的, 必须保证里面的name必须存在

      如何通过代码查看一个闭包
        __closure__: 有东西就是闭包. 没东西就不是闭包

      

       

     

  • 相关阅读:
    Python-time和datetime模块
    Python-hashlib模块
    Python-利用flask模块创建web接口
    Python-操作Excel
    2
    1
    8
    7
    HDFS元数据管理实战篇
    使用HttpFS网关从防火墙后面访问HDFS
  • 原文地址:https://www.cnblogs.com/l1222514/p/10077063.html
Copyright © 2011-2022 走看看