zoukankan      html  css  js  c++  java
  • python:关于函数的初认识

    一.函数

      函数是指逻辑结构化和过程化的一种编程方式,将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可

    (1)使用函数的好处是:代码的重用性;即通过调用函数,减少重复代码。保持代码的一致性。使代码更具扩展性

    (2)主要分为:(面向过程和面向对象的区别是:面向对象是有返回值的,而面向过程是没有返回值的函数)

         1.面向过程

    def func():
        print("in the func")
    
    x=fun()
    print("from fun return is %s"%x)
    
    
    >>>>>>>None#当函数没有定义返回值是,系统默认返回None
    View Code

         2.面向对象

    def func():#定义函数
        print("in the func")
        return
    
    x=func()#调用函数并赋值x
    print("from func return id %s"%x)#输出函数的返回值
    
    >>>>>>>0
    View Code

         3.函数式编程

    (3)返回值注意事项:

        1.当函数返回值return 0 时,返回0

        2.当函数没有定义返回值时,返回None

        3.当函数返回值大于0时,返回一个元祖类型的数据,即return “a”返回(“a”)

    二.参数

    形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量

    实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

    def fun(x,y):#这里的x和y是形参
        print("x=%s,y=%y"%(x,y))
    
    
    fun(3,4)#这里的3和4是实参
    >>>>>>x=3,y=4

    默认参数和关键参数

    默认参数是在函数定义时定义的
    关键参数是调用函数是定义的
    
    def  fun(a,b,c="21"):
    #这里的c在定义函数时就被赋值定义了,表示c的默认参数的21
        print("a=",a)
        print("b=",b)
        print("c=",c)
    情况一:
    fun(10,20,30)#这里传入的c参数会覆盖默认值。如果没有传c的参数,则输出默认的参数
    情况二:
    fun(10,a=10,)#正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可
    View Code

    什么是非固定参数:若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数

    def stu_register(name,age,*args): # *args 会把多传入的参数变成一个元组形式
        print(name,age,args)
     
    stu_register("Alex",22)
    #输出
    #Alex 22 () #后面这个()就是args,只是因为没传值,所以为空
     
    stu_register("Jack",32,"CN","Python")
    #输出
    # Jack 32 ('CN', 'Python')
    def stu_register(name,age,*args,**kwargs): # *kwargs 会把多传入的参数变成一个dict形式
        print(name,age,args,kwargs)
     
    stu_register("Alex",22)
    #输出
    #Alex 22 () {}#后面这个{}就是kwargs,只是因为没传值,所以为空
     
    stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")
    #输出
    # Jack 32 ('CN', 'Python') {'province': 'ShanDong', 'sex': 'Male'}
  • 相关阅读:
    第一章 初识shiro
    LDAP概念
    css定位
    css随笔1
    自己动手实现信息检索系统
    IntelliJ IDEA和pycharm注册码
    俄罗斯农夫算法
    [NOIP2013]转圈游戏
    [codevs1287]矩阵乘法
    [洛谷1314]无序字母对
  • 原文地址:https://www.cnblogs.com/zfquan/p/7425422.html
Copyright © 2011-2022 走看看