zoukankan      html  css  js  c++  java
  • python函数

    函数:

    本节内容:

    1. 什么是函数

    2. 函数定义, 函数名, 函数体以及函数的调⽤

    3. 函数的返回值

    4. 函数的参数

    1.什么是函数?

    定义⼀个事情或者功能. 等到需要的时候直接去⽤就好了. 那么这⾥定义的东⻄就是⼀个函数.

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

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

    函数的语法如下:

    del 函数名():

      函数体

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

    函数体就是调用函数后执行的代码.

    函数的调用是通过函数名()调用的

    3. 函数的返回值

    函数的返回是通过return来实现的,

    return的作用是执行完函数后给调用函数的返回一个值,还有就是执行到return时函数结束,停止执行,关于return的返回有三点,如果函数没有返回,或者return后面不跟东西的话,那如果接收函数的话,会得到一个None,另外,如果return后面跟一个值,那么函数执行完成后会返回一个值.如果后面跟多个值,那么函数执行完成后,会返回一个元组.

    4. 函数的参数

    函数的参数分为形参和实参

    形参的表示在声明函数时传入的变量,

    示例如下:

    def fun(a,b):

      print(a,b)

    实参表示在调用函数时传入的值.

    调用示例

    fun(1,2)

    形参有三种传入方式,以及这三种方式都可以混用.

    位置参数:

    示例
    def fun(a,b,c):

      print(a,b,c)

    这种按照顺序传入的参数方法是位置参数

    默认值参数

    def fun(a,b=2):

      print(a,b)

    示例:

    def fun(a,b=2):
        print(a,b)
    fun(1)
    
    """
    这里执行后生成的是1 2 
    """

    两种的混用

    上面就是两种的混用,这里要注意一点的是混用时位置参数,一定要在默认参数前面

    动态参数:

    动态参数有两种,一种是*args 和一种是**kwargs.

    动态参数和其他参数区别在于可以不限制用户的输入个数.根据不同的参数,传入的值也不一样的.

    *args位置变量的动态参数,也就是说您传多少位置变量都可以接爱.

    在函数里面args就是一个元组,args就是把所以函数的传入依次组成了一个元组了.

    示例:

    def  fun(*args):
        print(args)
    fun(1,2,3,4,5)
    """
    执行结果如下
    (1, 2, 3, 4, 5)
    """

    ** kwargs接受的是实参传来关键字参数.会把关键字参数都组成键值对,存入字典中.

    示例如下:

    def fun(**kwargs):
        print(kwargs)
    fun(a=2,b=3)
    """
    执行结果如下:
    {'a': 2, 'b': 3}
    """

    最最重要的是各种形参的传入次序,顺序如下

    位置参数   >  * args > 默认值参数 > ** kwargs 

    示例:

    def  fun(a,b,c,*args,d=2,**kwargs):
        print(a,b,c,d,args,kwargs)
    fun(1,2,3,4,5,6,7,8,d= 99,f= 66)
    
    """
    执行结果如下:
    1 2 3 99 (4, 5, 6, 7, 8) {'f': 66}
    """

    实参

    实参的变量有位置变量和关键字变量,

    位置变量:

    比如定义好了fun()

    那么位置变量就是fun(1,2)

    关键字变量

    如果定义好了fun(a,b)

    那么关键字实参就是

    fun(a=1,b=2)

    混后用法就是

    fun(1,b=2)

    但是要注意一点的就是位置变量要在关键字变量之前.

    5. 三目运算

    s = a if a>b else b 

    上面的这个意思就是如果a>b那么把a赋值s如果不是a>b那么把b赋值给s.

    示例:

    a = 3
    b = 5
    s = a if a > b else b
    print(s)
    
    """
    执行结果是5
    """

    6.函数传入过程种的打散

    比如lst = [1,2,3,4]

    def fun(*args):

      print(args)

    如果想传入fun(1,2,3,4)这样的话,

    可以用下面这种方法

    fun(*lst)

    字典也可以这样用,

    dic = {"a" = 1,"b"=2}

    def fun(**kwagrs):

       print(kwargs)

    fun(**dic)

    示例如下:

    dic = {"a": 1,"b":2}
    def fun(**kwargs):
        print(kwargs)
    fun(**dic)
    
    """
    执行结果如下:
    {'a': 1, 'b': 2}
    """
  • 相关阅读:
    闲聊js中的apply、call和arguments
    字符串操作,文件操作,英文词频统计预处理
    了解大数据的特点、来源与数据呈现方式
    带你精读你不知道的Javasript(上)(一)
    益智小游戏看你能否通关?
    网站性能优化——网页的生成过程
    带着封装的思想顺便实现楼层点亮
    CSS3 傻傻分不清楚的transition, transform 和 animation
    图片轮播的思路
    如何处理跨平台的自适应三
  • 原文地址:https://www.cnblogs.com/ahliucong/p/9173188.html
Copyright © 2011-2022 走看看