Python教程

初学python-day11 函数3

本文主要是介绍初学python-day11 函数3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

函数

 

1. global关键字

修改全局变量,声明函数内外使用同一个变量

示例:

 1 name = 'xiaoming'
 2 
 3 def test():
 4     global name
 5     name = 'hello'
 6 
 7 test()
 8 print(name)
 9 
10 
11 运行结果:
12 hello

 

2.nonlocal关键字(只能在函数嵌套时使用)

声明函数内部使用同一个变量

name = 'xm'
def test():
    name = 'xh'
    def inner():
        nonlocal name
        name = 'laowang'
        print('inner-->', name)
    inner()
    print('test-->', name)

test()
print('glocal-->', name)

运行结果:

inner--> laowang
test--> laowang
glocal--> xm

Process finished with exit code 0

 

 

3.值传递与引用传递

前提:可变类型与不可变类型

不可变类型:类似C++的值传递,比如整数、元组等;传递的是变量的值,不会影响变量本身。

可变类型:类似C++的引用传递,如列表、字典等;将内存地址传递过去,将值进行修改,本身也会发生改变。

 

--值传递

在函数内部如果修改了函数外部的变量,那么在内部创建了一个同名的新的变量和函数外部的是没关系的。

num = 1
def changeNum();
    num =2
    print(num)

changeNum()
print(num)
--引用传递

可变类型在函数内部进行了修改,那么在外部的变量也会发生改变。

 

def changDic(kwarg):
    print(kwarg)            # 第三步
    kwarg['sex'] = 'man'            # 第四步
    print(kwarg)            # 第五步

dic = {'name':'xm', 'age':18}           # 第一步
changDic(dic)           # 第二步
print(dic)          # 第六步

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

这篇关于初学python-day11 函数3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!