• python编程从零基础到项目实践第六章学习---自定义函数第二步


    1、参数位置相关内容

    def test(name,age):
    print("姓名:%s,年龄:%d"%(name,age))

    test("hah",11) 姓名:hah,年龄:11
    test(name="cscs",age=50) 姓名:cscs,年龄:50 关键值传参


    def test1(name="",age=20):
    print("姓名%s,年龄%d"%(name,age))
    test1() 姓名,年龄20 传默认值
    test1("hh") 姓名hh,年龄20 填一个的话默认给name
    test1("111",13) 姓名111,年龄13 都填的话按照填写的来


    2、不定长参数 格式:函数名([param1,param2,pamar3...,]*paramX) 带*的paramX可以接受任何数值,但是一个自定义函数只能有一个带*的参数,而且只能放在最右边的参数中国。
    *可代表传多个参数
    def fruit(name,*weidao):
    print(name)
    print(type(weidao))
    print(weidao)

    fruit("ggg",111,222,333)

    ggg
    <class 'tuple'>
    (111, 222, 333)

    3、传递任意数量的键值对   函数名([param1,param2,pamar3...,]**paramX)   传递的是键值对

    def fruit2(name,**weidao):
    print(name)
    print(type(weidao))
    print(weidao)

    fruit2("xigua",aa="aaaa",bb="bbbb")

    xigua
    <class 'dict'>
    {'aa': 'aaaa', 'bb': 'bbbb'}

    全局变量和局部变量

    j=5
    def sum1(i):
    i=i+j
    return i
    i=8
    print(sum1(6))
    print(j)
    print(i)

    11 5 8
    j为全局变量 函数里的i为局部变量 函数外的i为全局变量
    global全局变量
    j = 5
    k = 3
    def sum1(k):
    global j
    j=j+5
    k=4
    return k

    print(j) 5 全局变量 j=5的值不变
    print(k) 3 全局变量k=3的值不变
    print(sum1(10)) 4 函数里的k=4局部变量会变

    闭包
    j=5
    def sum1():
    k=2
    def sum2():
    i=k+j
    return i
    return sum2()
    print(sum1())

    7

    全局变量的范围关系:全局变量>闭包变量>局部变量

  • 相关阅读:
    【JDK1.8】JDK1.8集合源码阅读——LinkedList
    【JDK1.8】JDK1.8集合源码阅读——ArrayList
    【JDK1.8】JDK1.8集合源码阅读——IdentityHashMap
    【Spring】Spring boot多数据源历险记
    【JDK1.8】JDK1.8集合源码阅读——LinkedHashMap
    还未完成的任务
    做题中的错误总结
    cdq分治学习笔记
    计算几何复习笔记
    线性基学习笔记
  • 原文地址:https://www.cnblogs.com/astroboyliu/p/13472493.html
Copyright © 2020-2023  润新知