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

    函数简介

    # 函数,就是把一串代码封装起来,要用的时候再去调用它

     

    函数的定义:

    将一组代码的集合通过一个名字(函数名)封装起来,想要执行这个函数(内部的代码),只需要调用函数名即可

    如果函数的代码没有调用,那么函数的代码完全可以不用看

     

    函数需要注意的地方:

    先定义,后调用,定义了的函数可以在任意位置调用

    函数的调用:函数名加括号

     

    函数名:

    是个内存地址,拿着这个地址去寻找那个代码块,然后执。就类似于变量名,

    函数名可以当作变量名来看,

     

    函数的返回值:

    # 如果外部的代码需要获取函数的返回值

    # 函数内要想返回给值给调用者,那必须要用关键字return

    # 如果函数中没有return 那么他就会返回None

     

    return 有五种情况:

    1: 不写return。# 不写return,返回值是None(None表示什么都没有)

    def func():
      print('123')
    res
    = func() print(res) >>> None

    2:只写return, # 用于直接结束函数运行,返回也是Non

    def func():
        while True:
            print('111')
            return
            print('222')
    
    res = func()
    print(res)
    
    >>>
    
    111

     

    3:写return None # 和上面的只写return 一样的,

    def func():
        return None
    
    res = func()
    print(res)
    
    >>>
    
    None

     

    4: 写return,返回一个值,这个值可以是python中的任意数据类型

     

    def func():
        return 123
    
    res = func()
    print(res)
    
    >>>
    
    123

       

    5: 写return,返回多个值,它会将多个元素打包成元组返回

    def func():
        return 1,'2',[3,'4'],{'name':'cly','passwd':'1234'}
    
    res = func()
    print(res)
    
    >>>
    
    (1,'2',[3,'4'],{'name':'cly','passwd':'1234'})

     

    '''

    1:为什么要返回元组:

    因为元组不能被修改,返回援助保证了,返回值没有被修改

    2:如何不返回元组:

    用列表括起来。因为列表就是单一的元素

    '''

     

     

    函数的参数:

    def func(): # 不需要参数 def func(args): # 需要一个参数

     

    # 函数参数分为两大类型(形参,实参)

     

    形参:

    # 用于标记函数需要一个参数,但参数不需要指定参数是什么

    在函数的定义阶段,括号内写的变量名,叫做形式参数,又称为性参

     

    实参:

    # 需要调用函数的时候,需要有确定的值

    函数的调用截断,括号内实际传入的值,叫做实际参数,又称为实参

     

     

    主要:这些变量就只是在函数内部使用,在外部是不存在的,无法使用

     

    传参:

    位置参数:(一一对应)

    实参通过按照顺序的方式对实参进行传参,实参必须对应形参,不能多,也不能少了,不然就会报错

    def func(x,y):

    print('x{},y{}'.format(x,y))

    res = func(1,2)

    print(res)

    >>>

    x1,y2

     

    关键字传参:(用关键字进行传参)

    实参通过形参中的关键字进行传参

    def func(x,y):

    print('x{},y{}'.format(x,y))

    res = func(x=1,y=2)

    print(res)

    >>>

    x1,y2

     

    关键字传参可以和位置参数混合传参,但位置传参必须要在关键字传参的前面,而且同一个形参不能被多次传参

     

    def func(x,y,z):

    print('x{},y{},z{}'.format(x,y,z))

    func(1,y=2,z=3)

    >>>

    x1,y2,z3

     

    默认值参数:

    在函数的定义阶段,形参就被直接赋值了。

    在调用的时候可以不用给有默认值的形参赋值,它可以直接使用默认值

    在调用的到时候,如果给默认值传了参,那么就会直接使用传入的实参

     

    可变长参数:

    # 站在调用函数传递实参的角度 实参的个数不固定的情况

    # 也就意味形参也得不固定

    # 站在形参的角度 可以用*和**来接收多余的(溢出的)位置参数和关键字参数

     

    *args:

    可以接收多个值,只能收到位置参数,会把收到的值变成元组的形式

    如果没有传值,那么他就是一个空元组

    如果只传入了一个值的话,他也会吧那个值组成元组

     

     

    **kwargs:

    可以接收多个值,只能收到关键字参数,他会把关键字参数变成字典

    如果没有传值,那么他就是一个空字典

    如果只传入了一个值的话,他也会吧那个值组成字典

  • 相关阅读:
    Web前端可以转行做游戏吗?
    SublimeText3常用快捷键和优秀插件(亲测)
    jQuery编程规范与最佳实践(附带一些个人的笔记)
    outline详解
    几种创建XMLHttpRequest对象的方法
    8条规则图解JavaScript原型链继承原理
    技术跟产品杂谈
    谈一谈URL
    React + Reflux 渲染性能优化原理
    Interesting JavaScript
  • 原文地址:https://www.cnblogs.com/pscly/p/11160538.html
Copyright © 2011-2022 走看看