zoukankan      html  css  js  c++  java
  • 函数复习

    函数:

    1,解决代码重用的问题

    2,统一维护

    3,程序组织结构清晰,可读性强

    定义函数

    1,先定义,后使用。

    2,最好一个功能,定义一个函数。

    3, 定义无参函数

    def foo():
          print('foo')

          定义有参函数

    def my_sum(x,y):
         return x+y

          定义空函数

    调用函数

    1,语句形式 ---->foo()

    2,表达式形式 ---->res=10*my_sum(1,2)

    3,函数调用做为另外一个函数的参数:print(my_sum(1,2))

    函数的返回值

    不写return ---> None

    return 一个value ---> 这个value

    return 多个值 ---> 由这多个值组成的元组

    函数的参数

    形参和实参

    def my_sum(x,y):
         return x+y
    my_sum(1,2)
    
    #定义阶段,形参,调用阶段,实参
    #实参必须要有实际的值
    

      实参的形式

           实参可以是任何类型,但最好避免传可变类型。函数执行过程中,会改变外部的值。

    从实参的角度

    按位置传值  my_sum(1,2)

    按关键字传值 my_sum(y=1,x=2)

    混合传值  my_sum(1,y=2)

    注意:

    1,位置在前,关键字在后

    2,不能对一个形参,重复赋值

    在python3中,变量名只是一种绑定关系,没有储值功能

    从形参的角度

    位置参数 def foo(x,y,z)

    默认参数 def foo(x,y=1)

    什么时候用?二者的位置排列,特性?

    1,默认参数,可传值,可不传值

    2,未知参数,必须传值

    *args和**kwargs

    1, *args

    def foo(x,*args)
    foo(1,2,3,4,5,6)
    #多余的按位置调用的,拼成一个元组

    2,   **kwargs

    def foo(x,**kwargs)
    foo(1,x=2,y=3)
    #多余的按关键字传值,赋值成一个字典

    3,混用

    def foo(x,*args,**kwargs)
         foo(1,2,3,4,5,6,a=1,b=2,c=3)
     x=1
     args=(2,3,4,5,6)
    kwargs={'a':1,'b':2,'c':3}
    

     4,例子

    def auth(name,password,sex='male'):
         pass
    
    def timmer(*args,**kwargs):
    start_time=time.time() auth(*args,**kwargs)
    stop_time=time.time()
    print('run time is %s' %(stop_time-start_time)

    timer(name=1,password=123,sex='female')

      

       

         

  • 相关阅读:
    后渗透
    Msf小结
    安全狗文件绕过
    文件上传漏洞
    SQL Injection(Blind)
    SQL Injection
    Linux 基础整理
    Python pip升级及升级失败解决方案
    文件包含
    信息收集
  • 原文地址:https://www.cnblogs.com/catherine007/p/8227917.html
Copyright © 2011-2022 走看看