精华内容
下载资源
问答
  • Python编程学习:让函数更加灵活的*args**kwargs(设计不同数量的参数的函数)的简介、使用方法、经典案例之详细攻略 目录 *args**kwargs(设计不同数量的参数的函数)的简介 1、*用法:统计一个班内报名学...

    Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介、使用方法、经典案例之详细攻略

     

     

     

    目录

    *args和**kwargs(设计不同数量的参数函数)的简介

    1、*用法:统计一个班内报名学篮球的同学,但是不知道有多少个人名

    2、**用法:统计某个人的爱好,但是不知道这个人有多少种爱好

    *args和**kwargs的函数定义使用方法——如何设计不同数量的参数的函数

    T1、最基础做法——创建一个list作为参数传入(适合能枚举所有值的情况)

    T2、传递可变数量的位置参数的关键用法之*args和**kwargs

    1、*args的简介、使用方法(列表/元祖的形式,表示任何多个无名参数)

    (1)、*args的简介、使用方法

    (2)、解决上边的问题——如何设计不同数量的参数的函数

    2、**kwargs的简介、使用方法(字典的形式,表示一个一个有着对应关系的关键字参数)

    (1)、**kwargs的简介、使用方法

    (2)、解决上边的问题——如何设计不同数量的参数的函数

    知识点拓展:函数中参数的顺序——如何接受可变数量的位置参数和命名参数?

    1、arg、*args、**kwargs的混合使用简介——args和kwargs组合起来可以传入任意个数的参数,这在参数未知的情况下是很有效的,同时加强了函数的可拓展性。

    (1)、函数参数中不包含默认参数的情况

    (2)、函数参数中包含默认参数的情况

    (3)、同时包含当位置参数、默认参数、*args*、*kwargs参数的情况:正确顺序为位置参数→*args*→默认参数→*kwargs)

    2、深入理解解包(unpacking)星号操作符——*和**

    (1)、利用解包操作符*应用于list输出内容本身——print()会先将list解包

    (2)、多个解包操作符*使用方法

    (3)、利用解包操作符*将list分成三个不同的部分——第一个值、最后一个值和中间的所有值

    (4)、利用解包操作符*将两个list列表进行合并—使用*解包可迭代对象(列表和字符串)

    (5)、利用解包操作符*对字符串进行解包操作:两种方法

    (6)、利用解包操作符**解包字典对象——**将两个dict字典进行合并

    *args和**kwargs的函数调用使用方法


     

     

     

    *args和**kwargs(设计不同数量参数的函数)的简介

            *args和**kwargs是 Python编程中可变参数的两种形式,它们两个代表的是变量,表示能够接收可变长度的参数。 需要注意的是

    • args和kwargs名称并不重要,它们仅仅是约定俗成的一种命名规则,分别代表“参数”和“关键字参数”,所以,当然可以使用任何其他适当的参数名,比如*ar和**kw;
    • *args 必须放在 **kwargs 的前面,因为位置参数在关键字参数的前面
     *args**kwargs
    一句话解释将参数打包成tuple给函数体调用。将参数打包关键字参数成dict给函数体调用。
    功能

    传递多个参数给函数,设计不同数量的参数的函数,这个参数数目未知,甚至长度可以为0。*args要在**kwags之前,不然会发生语法错误。
    常用在函数定义函数调用中。

    args和kwargs组合起来可以传入任意个数的参数,这在参数未知的情况下是很有效的,同时加强了函数的可拓展性。

    顾名思义args 是 arguments 的缩写,表示位置参数;kwargs 是 keyword arguments 的缩写,表示关键字参数。
    用法当我们不确定要往函数中传入多少个参数,或者想往函数中以列表和元组的形式传参数的情况下,要采用*args;当我们不确定要往函数中传入多少个关键词参数,或者想往函数中以字典的值作为关键词参数传参数的情况下,要采用**kwargs。
    记忆args不包含key,即打包成tuplekwargs包含key,即打包关键字参数
    def a_function(*args, **kwargs):
        pass

     

    1、*用法:统计一个班内报名学篮球的同学,但是不知道有多少个人名

    # 1、*用法:统计一个班内报名学篮球的同学,但是不知道有多少个人名
    def CountLearnBasketballs(*basketNums):
        print("People who study basketball have:" + ", ".join(basketNums))
    
    
    # (1)、用在函数定义中
    CountLearnBasketballs('马云','马化腾','李彦宏','刘强东','王兴','丁磊')
    # (2)、用在函数调用中
    basketNames = ('马云','马化腾','李彦宏','刘强东','王兴','丁磊')
    CountLearnBasketballs(*basketNames)
    
    
    

     

    2、**用法:统计某个人的爱好,但是不知道这个人有多少种爱好

    # 2、**用法:统计某个人的爱好,但是不知道这个人有多少种爱好
    def CountHobbies(**hobbies):
        print("This person's hobbies include...")
        for category, fave in hobbies.items():
            print(f"{category}: {fave}")
    
    CountHobbies(sports='basketball', arts='drawing', learning='reading')
    
    

     

     

    *args和**kwargs的函数定义使用方法——如何设计不同数量的参数的函数

    T1、最基础做法——创建一个list作为参数传入(适合能枚举所有值的情况)

    def SUMListsByLists(MoreParasLists):
        sum_lists = 0
        for a in MoreParasLists:
            sum_lists += a
        return sum_lists
    MoreParasLists = [1, 2, 3, 4, 5, 6]
    print(SUMListsByLists(MoreParasLists))
    
    
    
    21

     

     

     

    T2、传递可变数量的位置参数的关键用法之*args和**kwargs

    1、*args的简介、使用方法(列表/元祖的形式,表示任何多个无名参数)

    (1)、*args的简介、使用方法

            *args 用来将参数打包成tuple给函数体调用,是非关键字参数,用于元组。此时,不是向函数传递一个list,而是接收位置参数,其原理是传递三个不同的位置参数

    • 上边的SUMListsByArgs会获取所有输入的参数,并将它们打包成一个可迭代的简单对象。
    • 该对象可命名为args或者其它名称args123,主要是前缀有“*”号,它是解包(unpacking)操作符。但是,该可迭代对象并非是一个list(可变的),而是一个元组tuple(不可变的)
    def args01(*args):
        print(args, type(args))
    args01('一个处女座的程序猿')
    
    def args02(x, y, *args):
        print(x, y, args)
    args02(1, 2, 3, 4, '我是','一个处女座的程序猿')
    
    
    
    
    
    
    
    ('一个处女座的程序猿',) <class 'tuple'>
    1 2 (3, 4, '我是', '一个处女座的程序猿')

     

     

    (2)、解决上边的问题——如何设计不同数量的参数的函数

    def SUMListsByArgs(*args):
        sum_lists = 0
        # Iterating over the Python args tuple
        for a in args:
            sum_lists += a
        return sum_lists
    print(SUMListsByArgs(1, 2, 3, 4, 5, 6))
    
    
    
    
    21

     

     

    2、**kwargs的简介、使用方法(字典的形式,表示一个一个有着对应关系的关键字参数)

    (1)、**kwargs的简介、使用方法

         **kwargs将参数打包关键字参数以dict形式给函数体调用。其实,**kwargs工作原理和*args有点类似,但不是接收位置参数,而是接收关键字(keyword)参数(也叫被命名的参数)。同样地,该对象可命名为kwargs或者其它名称kwargs123,主要是前缀有“**”号,它是解包(unpacking)操作符。但是该可迭代对象是字典dict,所以获取返回值要使用.values()

    def kwargs01(**kwargs):
        print( kwargs, type(kwargs))
    kwargs01(a='一个处女座的程序猿')
    
    def kwargs02(**kwargs):
        print(kwargs)
    kwargs02(a='我是', b='一个处女座的程序猿', c='!')
    
    
    
    
    
    
    {'a': '一个处女座的程序猿'} <class 'dict'>
    {'a': '我是', 'b': '一个处女座的程序猿', 'c': '!'}

     

     

    (2)、解决上边的问题——如何设计不同数量的参数的函数

    def StrConnect(**kwargs):
        strs01='';strs02=''
        # Iterating over the Python kwargs dictionary
        for b in kwargs:
            strs01 += b
        for a in kwargs.values():
            strs02 += a
        print('keys集合:',strs01)
        print('values集合:',strs02)
        return strs02
    print(StrConnect(a="大家好", b=",", c="我是", d="一个处女座的程序猿", e="!"))
    
    
    
    
    
    keys集合: abcde
    values集合: 大家好,我是一个处女座的程序猿!
    大家好,我是一个处女座的程序猿!

     

     

    知识点拓展:函数中参数的顺序——如何接受可变数量的位置参数和命名参数?

    1、arg、*args、**kwargs的混合使用简介——args和kwargs组合起来可以传入任意个数的参数,这在参数未知的情况下是很有效的,同时加强了函数的可拓展性。

          args和kwargs组合起来可以传入任意个数的参数,这在参数未知的情况下是很有效的,同时加强了函数的可拓展性。

    • 顺序很重要,非默认参数必须在默认参数之前处理,因此*args在**kwargs的前面;
    • 参数的正确顺序:位置参数→*args参数→**kwargs参数、非默认参数→默认参数;参数arg、*args、**kwargs三个参数的位置必须是一定的。
    def VariableParasNum_Test(arg,*args,**kwargs):
        print('VariableParasNum_Test')
        print(arg,args,kwargs)
    VariableParasNum_Test(1,2,3,4,a=5, b=6, c=7)
    
    
    
    VariableParasNum_Test
    1 (2, 3, 4) {'a': 5, 'b': 6, 'c': 7}

     

    (1)、函数参数中不包含默认参数的情况

    其中

    • x为1,y为2;
    • 3,4都给args,即args=(3,4);
    • a=5,b=6,
    • y=7以字典形式传给kwargs
    def VariableParasNum_NoDefault_Test(x, y, *args,**kwargs):
        print('VariableParasNum_NoDefault_Test')
        print(x, y, args, kwargs)
    VariableParasNum_NoDefault_Test(1,2,3,4,a=5,b=6,c=7)    
    
    
    VariableParasNum_NoDefault_Test
    1 2 (3, 4) {'a': 5, 'b': 6, 'c': 7}


     

    (2)、函数参数中包含默认参数的情况

    同时存在位置参数、默认参数、*args参数的情况:正确顺序为以下两种情况,切记位置参数均在最前边

    T1、(位置参数→默认参数→*args)

    其中

    • x为1,
    • y=1的值被2替换,
    • 3,4,5都给args,即args=(3,4,5)
    def VariableParas_IncludeDefault_Test(x,y=1,*args):
        print('VariableParas_IncludeDefault_Test')
        print(x,y,args)
    VariableParas_IncludeDefault_Test(1,2,3,4,5)
    
    
    VariableParas_IncludeDefault_Test
    1 2 (3, 4, 5)

     

    T2、(位置参数→*args→默认参数)

    其中

    • x为1,
    • 2,3,4,5都给args,即args=(2,3,4,5)
    • y始终为1
    def ArgsAndDefault_Test(x,*args,y=1):
         print('ArgsAndDefault_Test')
         print(x,args,y)
    ArgsAndDefault_Test(1,2,3,4,5)   
    
    
    ArgsAndDefault_Test
    1 (2, 3, 4, 5) 1
    

     

     

    (3)、同时包含当位置参数、默认参数、*args*、*kwargs参数的情况:正确顺序为位置参数→*args*→默认参数→*kwargs)

    其中

    • x为1,y为2
    • 3,4都给args,即args=(3,4)
    • a,b分别被替换成5,6
    • y=7以字典形式传给kwargs
    def VariableParas_IncludeAll_Test(x, y, *args, a=8, b=9, **kwargs):
        print('VariableParas_IncludeAll_Test')
        print(x, y, args, a, b, kwargs)
    VariableParas_IncludeAll_Test(1,2,3,4,a=5,b=6,c=7)
    
    
    VariableParas_IncludeAll_Test
    1 2 (3, 4) 5 6 {'c': 7}

     

     

     

    2、深入理解解包(unpacking)星号操作符——*和**

    解包(unpacking)操作符,是将python中可迭代对象的值解包的操作符。

    • *:单个星号操作符,可以用在任意python提供的可迭代对象上。
    • **:两个星号操作符,只能用于字典

     

    (1)、利用解包操作符*应用于list输出内容本身——print()会先将list解包

    理解:print()已经将三个不同的参数作为输入,而不是以一个list作为输入。包操作符(*)来调用函数,而不是用在函数定义中。在这里,print()将list中的单个item作为一个个参数。如下所示,输出不再是list本身,而是list的内容。

    lists01 = [1, 2, 3, 4, 5, 6]
    print(lists01)
    print(*lists01)
    
    
    
    [1, 2, 3, 4, 5, 6]
    1 2 3 4 5 6
    

     

    (2)、多个解包操作符*使用方法

    用*操作符去解包一个list并传递给函数作为参数,就好像你在传递每一个单独的参数。这表示你可以使用多个解包操作符,从多个lists中获取值并作为参数传递一个函数。

    def SUMListsByArgs(*args):
        res = 0
        for x in args:
            res += x
        print(res)
        return res
    
    list01 = [1]
    list02 = [2, 3]
    list03 = [4, 5, 6]
    SUMListsByArgs(*list01, *list02, *list03)
    
    
    
    
    
    
    21

     

     

    (3)、利用解包操作符*将list分成三个不同的部分——第一个值、最后一个值和中间的所有值

    一个变量被分配给a,最后一个被分配给c,其它的值都被打包成一个list b。

    lists = [1, 2, 3, 4, 5, 6]
    first, *middle, last = lists
    print(first, middle, last)
    
    
    
    
    1 [2, 3, 4, 5] 6
    

     

     

    (4)、利用解包操作符*将两个list列表进行合并—使用*解包可迭代对象(列表和字符串)

    list01 = [1, 2, 3]
    list02 = [4, 5, 6]
    list03 = [*list01, *list02]
    print(list03)
    
    
    
    [1, 2, 3, 4, 5, 6]

     

     

    (5)、利用解包操作符*对字符串进行解包操作:两种方法

    a   = [*"一个处女座的程序猿"]    # 直接解包
    *b, =   "一个处女座的程序猿"     # *将字符串指定到一个新的list 
    print(a)
    print(b)
    
    
    ['一', '个', '处', '女', '座', '的', '程', '序', '猿']
    ['一', '个', '处', '女', '座', '的', '程', '序', '猿']

     

     

    (6)、利用解包操作符**解包字典对象——**将两个dict字典进行合并

    dict01 = {'AI':1, 'ML':2, 'DL':3}
    dict02 = {'CV':4, 'NLP':4, 'DS':4}
    dict03 = {**dict01, **dict02}
    print(dict03) 
    
    
    
    {'AI': 1, 'ML': 2, 'DL': 3, 'CV': 4, 'NLP': 4, 'DS': 4}
    
    


     

     

    *args和**kwargs的函数调用使用方法

           *args和**kwargs不仅可以在函数定义中使用,还可以在函数调用中使用。在调用时使用就相当于pack(打包)和unpack(解包),类似于元组的打包和解包。

    def unpackByargs(arg1, arg2, arg3):
        print(arg1, arg2, arg3)
    args = ("一个处女座的程序猿", 2021, 315)
    unpackByargs(*args)
    
    
    
    
    一个处女座的程序猿 2021 315
    

     

     

     

     

    展开全文
  • getchar()用法 getch()函数使用方法

    万次阅读 2015-12-22 19:12:35
    getchar()用法 1.从缓冲区读走一个字符,相当于清除缓冲区 2.前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符取走的话,...
    getchar()用法
    
    1.从缓冲区读走一个字符,相当于清除缓冲区
    
    2.前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误
    
    3.
    getchar()是在输入缓冲区顺序读入一个字符(包括空格、回车和Tab)
    getchar()使用不方便,解决方法: 
    (1)使用下面的语句清除回车: 
    while(getchar()!='\n'); 
    (2)用getche()或getch()代替getchar(),其作用是从键盘读入一个字符(不用按回车),注意要包含头文件<conio.h>
    
    4.【转】
    getchar()是stdio.h中的库函数,它的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了,第一次getchar()时,确实需要人工的输入,但是如果你输了多个字符,以后的getchar()再执行时就会直接从缓冲区中读取了。
    实际上是 输入设备->内存缓冲区->程序getchar  
    你按的键是放进缓冲区了,然后供程序getchar  
    你有没有试过按住很多键然后等一会儿会滴滴滴滴响,就是缓冲区满了,你后头按的键没有存进缓冲区.  
    键盘输入的字符都存到缓冲区内,一旦键入回车,getchar就进入缓冲区读取字符,一次只返回第一个字符作为getchar函数的值,如果有循环或足够多的getchar语句,就会依次读出缓冲区内的所有字符直到'\n'.要理解这一点,之所以你输入的一系列字符被依次读出来,是因为循环的作用使得反复利用getchar在缓冲区里读取字符,而不是getchar可以读取多个字符,事实上getchar每次只能读取一个字符.如果需要取消'\n'的影响,可以用getchar();来清除,这里getchar();只是取得了'\n'但是并没有赋给任何字符变量,所以不会有影响,相当于清除了这个字符.还要注意的是这里你在键盘上输入ssss看到的回显正是来自于getchar的作用,如果用getch就看不到你输入了什么.
     
    
    getch()函数使用方法
    
    
    
    
     
    所在头文件: conio.h
      函数用途:从控制台读取一个字符
      函数原型:int getch(void)
      返回值:读取的字符
      例如:
      char ch;或int ch;
      getch();或ch=getch();
      用getch();会等待你按下任意键,再继续执行下面的语句;
      用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。
      易错点:
      1.所在头文件是conio.h。而不是 stdio.h
      2.在使用之前要调用initscr(),结束时要调用endwin()。否则会出现不输入字符这个函数
      也会返回的情况。
       3.在不同平台,输入回车,getch()将返回不同数值,而getchar()统一返回10(即\n)
      1)windows平台下ENTER键会产生两个转义字符 \r\n,因此getch返回13(\r)。
      2)unix、 linux系统中ENTER键只产生 \n ,因此getch返回10(\n)。
      3)MAC OS中ENTER键将产生 \r ,因此getch返回13(\r)。
      getch();并非标准C中的函数,不存在C语言中。所以在使用的时候要注意程序的可移植性。国内C语言新手常常使用getch();来暂停程序且不知道此函数来源,建议使用getchar();(如果情况允许)代替此功能或更换一款 编译器
    eg:
    #include<stdio.h>#include<conio.h> int main() { charc; while((c=getch())!='\r') { printf("*"); } return 0;}
    展开全文
  • localStorage 用法及使用注意事项

    千次阅读 2019-05-17 11:01:29
    localStorage 用法及使用注意事项 localStorage 介绍 在HTML5中,为了解决cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),增加了一个 localStorage,主要是用来作为本地存储的;localStorage 中一般...
    localStorage 用法及使用注意事项
    localStorage 介绍

    在HTML5中,为了解决cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),增加了一个 localStorage,主要是用来作为本地存储的;localStorage 中一般浏览器支持的容量大小是5M,针对不同的浏览器,localStorage容量大小会有所不同。

    localStorage 使用

    一、 localStorage的浏览器支持情况:

    localStorage用法

    二、localStorage 代码中的使用:

    1. 在项目中,使用localStorage首先需要做的先判断浏览器是否支持;

      if(!window.localStorage){
       	alert("浏览器不支持localstorage");
      }else{
          //主逻辑业务
          console.log('Hello world!');
      }
      
    2. localStorage 设置语法

      if(!window.localStorage){
          alert("浏览器支持localstorage");
      }else{
          var storage=window.localStorage;
          //第一种设置方式:
          storage["a"]=1;
          //第二种设置方式:
          storage.b=1;
          //第三种设置方式:
          storage.setItem("c",3);
          
          console.log(typeof storage["a"]);  //打印出结果:String
          console.log(typeof storage["b"]);  //打印出结果:String
          console.log(typeof storage["c"]);  //打印出结果:String
      }
      
    3. 在浏览器中查看结果:
      localStorage如何使用

    4. localStorage 获取

      	//第一种方法读取
      	var a=storage.a;
      	console.log(a);
      	
      	//第二种方法读取
      	var b=storage["b"];
      	console.log(b);
      	
      	//第三种方法读取
      	var c=storage.getItem("c");
      	console.log(c);
      

      注意:localStorage的设置和读取方式,官方推荐使用 setItem / getItem;

    5. localStorage 修改

      var getVal = localStorage.getItem('myStorage');
      if( getVal  != null ){
      	localStorage.setItem('myStorage','setOk');
      	console.log('修改成功');
      }else{
      	console.log('未找到myStorage, getVal返回值为 null');
      }
      
    6. localStorage删除

      var getVal = localStorage.getItem('myStorage');
      if( getVal  != null ){
      	localStorage.removeItem('myStorage');
      	console.log('删除成功');
      }else{
      	console.log('未找到myStorage,getVal返回值为 null');
      }
      
    7. localStorage 清除当前域名下所有内容

      localStorage.clear();
      
    8. localStorage中存入 JSON 对象,需先转换成 JSON 字符串,再写入,在读取时再转换成 JSON 对象:(否则会报错)

      var storage=window.localStorage;
      var data={
           name:'zhangSan',
           sex:'1'
       };
       //将对象转换为 String ,如果不转,在存入localStorage后,读取出来转换 json对象会报错
       var setData=JSON.stringify(data); 
       storage.setItem("data",setData);
       
       //将JSON字符串转换成为JSON对象输出
       var jsonString=storage.getItem("data");
       console.log(typeof jsonString); //打印出 String;
       var jsonObj=JSON.parse(jsonString);
       console.log(typeof jsonObj); //打印出 Object;
      

    localStorage 注意事项:

    1. 浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性
    2. 目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换
    3. localStorage在浏览器的隐私模式下面是不可读取的
    4. localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡
    5. localStorage不能被爬虫抓取到

    学习是动力的源泉,努力学习才会让源泉湍流不息!!!

    展开全文
  • querySelectorquerySelectorAll区别及用法

    万次阅读 2018-01-22 23:15:04
    用法与jQuery里的$()选择器类似,但有些细微区别: 1. querySelector只能选择第一个匹配的节点; 2. querySelectorAll可以选择多个节点,以","分隔开,返回的是个数组; 其他高级用法与jq基本一致,如后

    querySelector与querySelectorAll是H5提供的选择器,可用document.querySelector()选择元素操作节点,

    用法与jQuery里的$()选择器类似,但有些细微区别:

    1. querySelector只能选择第一个匹配的节点;

    2. querySelectorAll可以选择多个节点,以","分隔开,返回的是个数组;

    其他高级用法与jq基本一致,如后代选择器document.querySelector()document.querySelector("#app1>.item1"),

    document.querySelector("span.item1")等


    展开全文
  • mysql中top用法不同

    万次阅读 2019-05-24 20:14:39
    在mysql中select top用法和ms sqlserver有所区别。 若在mysql中实现select top功能得用: select * from tablename limit M,N 这里M表示从(M+1)条记录开始,N表示返回的记录条数 炒鸡重要的知识!!!
  • python中listtuple的用法及区别

    万次阅读 多人点赞 2017-12-06 16:32:06
    listtuple的用法及区别
  • nominal,ordinal,interval,ratio variable的区别为:意思不同用法不同。 一、意思不同 1.nominal意思:定类变量 2.ordinal意思:定序变量 3.interval意思:定距变量 4.ratio variable意思:定比变量 二、...
  • Html.partialRenderPartial的用法与区别

    千次阅读 2015-04-25 00:16:49
    Html.partialRenderPartial的用法与区别 Html.partialRenderPartial都是输出html片段,区别在于 Partial是将视图内容直接生成一个字符串并返回(相当于个转义的过程),RenderPartial方法是直接输出至当前 ...
  • isBlankisEmpty的不同
  • NIKTO介绍及使用方法

    万次阅读 2018-08-29 13:35:08
    1、 NIKTO:perl语言开发的开源WEB安全扫描器;识别网站软件版本;...依据响应文件内容判断,不同扩展名的文件404响应内容不同;去时间信息后的内容取MD5值;不建议用-no404参数(-no404参数指去不校...
  • ES6 Promise用法小结

    万次阅读 多人点赞 2018-07-25 10:42:49
    Promise 是异步编程的一种解决方案,其实是一个构造函数,自己身上all、reject、resolve这几个方法,原型上then、catch等方法。 Promise对象以下两个特点。 (1)对象的状态不受外界影响。Promise对象代表一...
  • Spring ApplicationListener使用方法及问题

    万次阅读 2017-05-12 13:48:26
    使用场景在一些业务场景中,当容器初始化完成之后,需要处理一些...用法本文以在Spring boot下的使用为例来进行说明。首先,需要实现ApplicationListener接口并实现onApplicationEvent方法。把需要处理的操作放在onAppl
  • Qt中QTimertimerevent的区别与用法

    万次阅读 多人点赞 2019-07-29 14:23:37
    为了全面性,顺带介绍使用QTimer实现定时执行的常用方法,并结合代码示例。 QTimer常见用法 QTimer实现定时执行的方法想必大家都无比熟悉,直接上代码进行说明。 QTimer的普遍用法如下,示例中使用QTimer每隔10s调用...
  • python——class类和方法用法详解

    千次阅读 多人点赞 2020-08-07 16:17:00
    因为一直不太清楚面向对象的类和方法的编程思想,所以特地补了一下python-class的知识,在这里记录分享一下。 文章目录类和方法的概念实例1.python类:`class`2.类的构造方法`__init__()`3.类中方法的参数`self...
  • Spring的注解@Qualifier用法

    万次阅读 多人点赞 2018-06-07 16:21:26
    根据注入资源的注解不同实现的方式一点小小的区别 下面上铺垫图 请忽略我的红线 在Controller中使用 @Autowired注入时 Qualifier的意思是合格者,通过这个标示,表明了哪个...
  • 1 : 在CC++中struct...在CC++三种定义结构的方法。 typedef struct { int data; int text; } S1; //这种方法可以在c或者c++中定义一个S1结构 struct S2 { int data; int text; }; // 这种定义方
  • blastn:是将给定的核酸序列核酸数据库中的序列进行比较;...Tblastn:将给定的氨基酸序列核酸数据库中的序列(双链)按不同的阅读框进行比对,对于寻找数据库中序列没有标注的新编码区很...
  • if语句不同的是,guard语句只有一个代码块,而if语句可多个代码块。(如 if 、else if、 else) 那么guard到底是什么作用呢?顾名思义,guard是作为保卫作用而存在的。当你不满足我的要求,那么请您出去;如果...
  • html中form表单的使用方法和介绍

    万次阅读 多人点赞 2017-10-04 09:43:33
    form表单的使用方法 第1节、表单赏析 第2节、了解表单 功能:用于搜集不同类型的用户输入的内容   了表单,网页的内容可以由用户自己创建,那么对于网页来说,我们既是网页创建都者,也是网页的消费者。 ...
  • pycharm基础使用方法

    万次阅读 多人点赞 2018-01-15 21:52:02
    0、前言   Pycharm 作为一款针对 ...本文我们将介绍 pycharm 编辑器的基本使用方法,主要包括以下几个方面: 下载安装 新建项目流程 配置 Pycharm Python控制台 其他参考资料 ...
  • C++ 命名空间-namespace作用与使用方法详解

    万次阅读 多人点赞 2017-06-27 17:49:37
    本文就详细介绍命名空间的意义和用法。1、为什么需要命名空间命名空间是ANSI C++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突。 在c++中4层次的作用域:文件、函数、类、复合语句。在不同的作用...
  • 在这两种情况下,它的用法完全不同。第一种情况,super作为函数调用时,代表父类的构造函数。ES6 要求,子类的构造函数必须执行一次super函数。class A {}class B extends A { constructor() { super(); } }上面...
  • compareTo(Object o)方法是java.lang.Comparable接口中的方法,当需要对某个类的对象进行排序时,该类需要实现Comparable接口的,必须重写public int compareTo(T o)方法。 它强行将实现它的每一个类的对象进行整体...
  • Angular Pipe管道理解及用法

    万次阅读 2018-08-27 17:16:31
    1.什么是Pipe?  就是管道,简单来说,管道的作用就是传输。并且不同的管道具有不同的作用。(其实就是处理数据) 2.pipe用法  {{ 输入数据 | 管道 : 管道参数}} (其中‘|’是管道操作符) 3.Angular自带的pipe...
  • both andboth of 得用法 区别

    千次阅读 2020-07-13 20:04:16
    both andboth of都"两个都"的意思,作bai主语时谓语动词du都用复数,但它们的用法有点zhi不同。dao 1、both …and… 连接两个并列成分。 如: 1). He can speak both English and Chinese . 他会说英语汉语。 ...
  • 这两个方法一般都是成对使用 request.setAttributerequest.getAttribute;; request.getSession().setAttributerequest.getSession().getAttribute(); 他们的作用域不同 request.getAttribute()只能在一个...
  • sort用法及声明。

    千次阅读 多人点赞 2018-11-06 21:02:07
    1.sort ...系统会根据你的数据形式数据量自动选择合适的排序方法,这并不是说它每次排序只选择一种方法,它是在一次完整排序中不同的情况选用不同方法,比如给一个数据量较大的数组排序,开始采用...
  • static关键字的用法与作用

    万次阅读 2018-08-29 21:17:44
    不同于其他关键字,他们都多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们先来了解一下static关键字及其用法。 总结(个人觉得概括的很不错的,所以转载了。) static是java...
  • 构造方法的作用和用法(对于刚接触的学员)

    万次阅读 多人点赞 2018-03-14 15:38:04
    很多新学员不知道构造方法是做什么的,的稀里糊涂,那什么是构造方法呢?先来理解一下构造方法的意思。 构造方法是一种特殊的方法,它是一个类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,...
  • Python中except用法和作用

    万次阅读 多人点赞 2019-08-29 10:21:39
    Python的except用来捕获所有异常...以下是使用except的一个例子: try: foo = opne(”file”) #open被错写为opne except: sys.exit(”could not open file!”) 因为这个错误是由于open被拼写成opne而造成的,然...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,125,912
精华内容 2,050,364
关键字:

和与及的用法有什么不同