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'}
原文地址:https://www.cnblogs.com/xp1005/p/6385627.html