python 函数

Posted jefy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()






以上是关于python 函数的主要内容,如果未能解决你的问题,请参考以下文章

python使用上下文对代码片段进行计时,非装饰器

python 元组有用的函数,方法和片段。

Python代码阅读(第26篇):将列表映射成字典

VSCode自定义代码片段——声明函数

Python学习 :函数

VSCode自定义代码片段8——声明函数