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

    def test1():
    msg = "test1"
    print(msg)

    def test2():
    msg = "test2"
    print(msg)
    return msg

    def test3():
    msg = "test3"
    print(msg)
    return 1,2,3,"2lk3",[1,"akld"]

    t1 = test1()
    t2 = test2 ()
    t3 = test3()
    print(t1)
    print(t2)
    print(t3)

    输出的结果

    结论:python中的函数可以没有返回值,默认返回None

    python中的函数值返回一个值。

    python中的函数返回多个值,以元组的形式返回tuple

    2.python中的形参/实参

    2.1形参变量只有在调用时才分配内存,调用结束后立即释放内存。

    2.2在python中形参和实参是一一对应关系,不能产生一一对应关系则报错。

    def test1(x ,y ,z):
    print(x ,y ,z)

    test1(1,2,3)
    test1(y = 1 ,x = 2 , z = "dklf")
    test1(1 ,2 ,z = "jefy")
    # test1(x = 1 ,2 , 3)报错,关键字参数必须在位置参数的前面

    3.默认参数:在定义函数的时候,给形参赋初值。

    def test1(x , y = "jefy"):
    print(x)
    return x ,y

    t = test1(1 ,2)
    print(t)

    4.python中参数组:不固定长度的参数传递

    *:传递列表;**:传递字典//为了能够传递多个值,或在编程时,不确定能传入多个值,则使用此方式
    例1:
    def test1(x , *arg):
    print(x)
    return x ,arg
    t = test1(1 ,2,3,"sk" ,3)
    print(t)

    执行结果

    例子2;
    def test1(x , *arg):
    print(x)
    return x ,arg
    # t = test1(1 ,2,3,"sk" ,3)

    t1 = test1(12,["x" ,"2","jefy"])#这种方式将列表作为一个整体传入
    t2 = test1(1 ,*["jefy" ,"xingyi"])#*这种方式将列表元素一个个遍历后传入
    print(t1)

    print(t2)
    执行结果:
    (12, (['x', '2', 'jefy'],))
    (1, ('jefy', 'xingyi'))

    例子3:

    def test1(x , **kwargs)://以键值对或字典的形式传递参数
    return x ,kwargs
    t = test1(1 ,y = 2 , z = 3)
    print(t)
    执行结果:

    (1, {'y': 2, 'z': 3})

    例子4:

    
    
    def test1(x ,*args , **kwargs)://*和**形参的位置不能反,否则会报错
    return x ,args ,kwargs
    t = test1(1 ,2 ,y = 2 , z = 3)
    t1 = test1(1 ,2,3 ,y =2 ,z = 3)
    t2 = test1(1 ,*[1 ,2] ,**{"y":2 ,"z":3})
    print(t)
    print(t1)
    print(t2)

    (1, (2,), {'y': 2, 'z': 3})
    (1, (2, 3), {'y': 2, 'z': 3})
    (1, (1, 2), {'y': 2, 'z': 3})


    局部变量和全局变量

    注意:全局变量要求大写,局部变量要求小写。

    Name = "jefy"

    def test1():
    global Name#通过global关键字说明引用全局变量
    Name = "xingyi"
    print(Name)
    # print(Name)
    test1()


    def test2():
    Name = "xingyi"#这样将会报错,因为打印的内容无法判断是局部变量还是全局变量
    global Name

    print(Name)
    # print(Name)
    test2()





    
    
  • 相关阅读:
    Git .gitignore文件简介及使用
    JMeter 报告监听器导入.jtl结果文件报错解决方案
    JMeter 中实现发送Java请求
    JMeter 正则表达式提取器结合ForEach控制器遍历提取变量值
    Tomcat_记一次tomcatwar包应用简单部署过程
    Python_基于Python同Linux进行交互式操作实现通过堡垒机访问目标机
    Python_关于多线程下变量赋值取值的一点研究
    JMeter 后置处理器之正则表达式提取器详解
    性能测试 CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据
    Python 标准类库-数据类型之copy-深拷贝浅拷贝操作
  • 原文地址:https://www.cnblogs.com/jefy/p/9218180.html
Copyright © 2011-2022 走看看