从零开始的Linux运维屌丝之路,资源免费分享平台   运维人员首选:简单、易用、高效、安全、稳定、社区活跃的开源软件

22、Python 函数的局部变量

发布:蔺要红04-25分类: Python


 
局部变量:在函数里面赋值的变量为局部变量、只在本函数内生效
在一个函数里面,局部变量具有最高优先级,
函数可以调用全局变量、
函数外的代码不可以调用函数里的变量
 
name = "LinYaoHong"
def change_name():
    name = "蔺要红"  #局部变量
    print("在函数里改名",name,id(name))  #id(name)内存地址不同
change_name()
print(name,id(name))  #在全局变量里name的值并没有改,只是再函数里面改
E:\Python\学习\venv\Scripts\python.exe E:/整理版笔记/python/函数/函数局部变量.py
在函数里改名 蔺要红 14329216
LinYaoHong 14261488
#通过内存地址可以看出全局和局部变量的区别
 
global在函数里修改全局变量、一般不用,了解一下
 
#global 在函数里修改全局变量
name = "Linyaohong"
def change_name():
    global name              #global(全局)以后可以修改全局变量
    name = "Dingqiaoli"
    print(name)
change_name()
print(name)
E:\Python\学习\venv\Scripts\python.exe E:/整理版笔记/python/函数/在函数里全局变量.py
Dingqiaoli
Dingqiaoli
  
在函数里修改全局变量—列表数据
 
# -*- coding: UTF-8 -*-
name = ["Lin","Yao","Hong"]
def change_name():
    name = ["Ding","Qiao","Li"]  #通过重新赋值name全局变量name不会被改变
    print(name)
change_name()
print(name)

E:\Python\学习\venv\Scripts\python.exe E:/整理版笔记/python/函数/在函数里修改列表数据.py
['Ding', 'Qiao', 'Li']
['Lin', 'Yao', 'Hong']
 
# -*- coding: UTF-8 -*-
name = ["Lin","Yao","Hong"]
def change_name():
    global name              #global以后可以修改全局变量
    name = ["Ding","Qiao","Li"]
    print(name)
change_name()
print(name)

E:\Python\学习\venv\Scripts\python.exe E:/整理版笔记/python/函数/在函数里修改列表数据.py
['Ding', 'Qiao', 'Li']
['Ding', 'Qiao', 'Li']
 

#总结:整体列表(内存地址)不可修改,但是里面的元素都可以被修改,
#元祖(元祖本身不可修改,但是里面的列表等可以被修改),字典,列表,集合,对象,类,里的元素都可以被修改
# 字符串、数字 不可以不修改

 
# -*- coding: UTF-8 -*-
name = ["Lin","Yao","Hong","蔺蔺蔺"]
def change_name():
    del name[2]          #可以修改列表里的元素,
    name[1] = "蔺要红"
    print(name)
change_name()
print(name)

E:\Python\学习\venv\Scripts\python.exe E:/整理版笔记/python/函数/在函数里修改列表数据.py
['Lin', '蔺要红', '蔺蔺蔺']
['Lin', '蔺要红', '蔺蔺蔺']
温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,如有侵权我会在24小时之内删除!

欢迎使用手机扫描访问本站