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

    为啥要用到函数:

      复杂度增大

      组织结构不清晰

      可读性差

    工具就是具备某一种功能的物件,就是程序中函数的概念。

    事先准备工具的过程称为函数的定义

    遇到特定的场景拿来用就称为函数的调用

    函数的分类:

      内置函数

      自定义函数

    函数的使用:

      先定义

      再使用

    函数的定义:

    def print_name():
        print('hello,yangshuai')
    
    def print_xing():
        print('*'*20)
    
    print_xing()
    print_name()
    print_xing()
    

     函数的定义与变量的定义类似,没有事先定义变量,而直接引用变量会报错。

    没有事先定义汗水,而直接引用函数会报错。

    函数的使用分为两个阶段,定义阶段和调用阶段。

      函数在定义阶段只检测语法,不执行代码

    函数的定义语法:

      

    def 函数名(arg1,arg2,arg3):
        "注释"
        函数体
        return 返回值  #可以有,可以没有
    

     

    定义函数的三种形式:

      无参:一般只是执行某些打印信息

      有参:需要传参数进来

       空函数:

     小例子:比如说比较大小的参数

    def my_max(x,y): #其中的x,y是需要传入的两个值
        if x > y:
            print(x)
         return x else: print(y)      return y  #如果要是执行赋值操作的话必须写返回值操作 my_max(1,2)
    res=my_max(1,2)

     return   当执行一次return的时候,函数就结束掉,并把return返回的值作为执行的结果。

    如果暂时写不出来的话,可以利用:

    def delect(sql):
        ".......caozuo"
        pass
    
    #select * from mysql.user;
    while True:
        sql=input('>>:').strip()
        if not sql:continue
       cmd_info=sql.split()
    cmd=cmd_info[0]

       if cmd == 'select'
       select(cmd_info)  

    如果输入多个参数,而且多个参数只有前面几个是被赋值的,后面的溢出参数要给一个变量传过去怎么办,我们可以用这种方法:

    def test(x,*args):
        print(x)
        print(args)
    test(1,2,3,4,5,6)
    

    这样的话x就被赋值了1,其他参数被赋值给了args。

    args前面的*代表意思是:可以传多个值给这个参数。

    将N个关键字转化为字典的方式输出或存储的话,可以利用**kwargs:

    def test2(**kwargs):
        print(kwargs)
    
    test2(name='yangshuai',age='8',sex='F')
    

       输出为:{'name': 'yangshuai', 'age': '8', 'sex': 'F'}

  • 相关阅读:
    B. Connecting Universities DFS,无向树
    HDU 5808 Price List Strike Back bitset优化的背包。。水过去了
    uva 6910
    HDU 5778 abs 数学
    Invitation Cards POJ 1511 SPFA || dij + heap
    HDU 2243 考研路茫茫——单词情结 求长度小于等于L的通路总数的方法
    cmd链接mysql
    如何设置远程访问mysql
    ERROR 1045 (28000): Access denied for user'root'@'localhost'(using password:YES)51Testing软件测试网-H*?U)}$h }P6H4H
    String ,StringBuffer,StringBuilder的区别(转)
  • 原文地址:https://www.cnblogs.com/sexiaoshuai/p/7206873.html
Copyright © 2011-2022 走看看