• python3 初识函数


    函数

    def sayhi(name):
        print('Hi, i am %s' % name)
    
    sayhi('pretty')
    sayhi('girl')
    
    x = 2
    y = 3
    
    def calc(a, b): # a b 形参,占位符
        return a**b
    
    c = calc(x, y) # x y 实参
    print(c)

    • 实参: 有确定值的参数,所有的数据类型都可以被当作参数传递给函数
    • 形参: 只有在被调用时才分配内存,调用结束后立刻释放内存,值仅在函数内有效(局部变量)
    • 形参的作用域只在当前函数内部
    • 局部变量:作用域只在当前函数内部,外部变量默认不能被函数内部修改,只能引用
    • 如果想在函数里修改全局变量,必须global,但是强烈建议不要这么用
    • 函数内部是可以修改列表、字典、集合、类、字符串

    def info():
        n.append('a new info')
        n1['c'] = 3
    
    n = ['hehe', 'aaaa']
    n1 = {'a':1, 'b':2}
    info()
    # print(n, n1)
    
    def re_use():
        n.append('bbb')
    re_use()
    print(n)

    输出

    ['hehe', 'aaaa', 'a new info', 'bbb']

    def stu(name, age, lession, price='1000',*args, **kwargs):
        print('姓名:',name)
        print('年龄:',age)
        print('课程:',lession)
        print('价格:',price)
        print(args, kwargs)
        print('-'*30)
    • 默认参数
    stu('小花', 22, 'python')

    输出

    姓名: 小花
    年龄: 22
    课程: python
    价格: 1000
    () {}
    • 关键参数,必须放在位置参数后面
    stu('玛丽',28,price='2000', lession='linux')

    输出

    姓名: 玛丽
    年龄: 28
    课程: linux
    价格: 2000
    () {}
    • 非固定参数 *args **kwargs
    • *args = () 打印元祖,以位置参数的形式传入
    • **kwargs = {} 指定变量,打印字典,以关键参数形式传入
    stu('杰克',21,'c++','100','IT','iteye', sex='male')

    输出

    姓名: 杰克
    年龄: 21
    课程: c++
    价格: 100
    ('IT', 'iteye') {'sex': 'male'}
  • 相关阅读:
    java基础—面向对象2
    java基础—java读取properties文件
    java基础—super关键字
    java基础—this关键字
    java基础—object类
    java基础—equals方法
    java基础—哈希编码
    Struct2(五)处理表单
    struct2(四)编写Struct2 的Action
    Struct2(三) Struct2 标签
  • 原文地址:https://www.cnblogs.com/xp1005/p/6385627.html
Copyright © 2020-2023  润新知