Python中函数详解


函数定义

def calc(a,b):
    c=a+b
    return c

result=calc(10,20)
print(result)

函数参数传递

1.位置实参

def calc(a,b):
	c=a+b
    return c
  
calc(10,20)

2.关键字实参

def calc(a,b):
	c=a+b
    return c
  
calc(b=10,a=20)

函数参数传递内存分析

def fun(arg1,arg2):
    print("arg1=",arg1)
    print("arg2=",arg2)
    arg1=100
    arg2.append(10)
    print("arg1=",arg1)
    print("arg2=",arg2)

n1=11
n2=[22,33,44]
print(n1)
print(n2)
fun(n1,n2)
print(n1)
print(n2)

在这里插入图片描述
在这里插入图片描述
如果是不可变对象时,在函数体的修改不会影响实参的值,arg1的修改为100,不会影响n1的值
如果是可变对象,在函数体的修改会影响实参的值,arg2的修改,append(10),会影响到n2的值

函数返回值

  1. 如果函数没有返回值,函数执行完毕之后,不需要给调用处提供数据,return可以省略不写
  2. 函数的返回值,如果是1个,直接返回类型
  3. 函数的返回值,如果是多个,返回的结果为元组

函数的参数定义

  1. 个数可变的位置参数
def fun(*args):
    print(args)
fun(10)
fun(10,20,30)

在这里插入图片描述

  1. 个数可变的关键字形参
def fun1(**args):
    print(args)
fun1(a=10)
fun1(b=10,c=20,d=30)

在这里插入图片描述
在一个函数的定义过程中,既有个数可变的关键字形参,也有个数可变的位置形参,要求:个数可变的位置形参放在个数可变的关键字形参之前

变量作用域

def fun():
	global age
	age=20
	print(age)
print(age)

猜你喜欢

转载自blog.csdn.net/Hedenghui777/article/details/118552732