Python之路18-函数作用域、全局变量、局部变量

#全局变量
school = ‘lianhedaxue‘

def test(name):
    #强制修改全局变量
    global school
    school = ‘haha‘
    print (‘before change‘,name,school)
    name = ‘Jack‘   #这个函数就是这个变量的作用域
    print (‘after change‘,name)

name = ‘Tom‘
test(name)
print (name)
print (school)
时间: 2025-01-06 02:55:23

Python之路18-函数作用域、全局变量、局部变量的相关文章

【python之路18】内置函数

1.abs(number)表示某个数字的绝对值 print(abs(-123)) #打印出123 2.all(iterable) 表示可迭代的参数全部为True那么返回True,否则返回False re = all([True,True]) #参数为可迭代的,当参数全部为True时才返回True,否则返回False print(re) #True python中False的情况:False,0,None,'',[],(),{},set(),其他情况则为True,可以用bool转换进行验证,例如:

python之路——初识函数

为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 让你计算'hello world'的长度,你怎么计算? 这个需求对于现在的你其实不难,我们一起来写一下. s1 = "hello world" length = 0 for i in s1: length = length+1 print(length) 好了,功能实现了,非常完美.然后现在又有了一个需求,要计算另外一个字符串的长度,"hello eva". 于是,这个时候你的代码

python之路 初始函数

python之初识函数: (一)为什么要使用函数:  首先举一个例子,假如我们现在要计算"hello world"这个字符串的长度,我们可以怎么计算1,直接print(len(hello world)) 就可以计算长度,那么现在   用len()这个函数了,我们还可以怎么计算呢,看下面代码 #利用for 循环计算字符串长度 s = "hello world" length = 0 for i in s: length += 1 print(length) 这样我们也

python学习-day16:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r

一.作用域 作用域在定义函数时就已经固定住了,不会随着调用位置的改变而改变 二.匿名函数 lambda:正常和其他函数进行配合使用.正常无需把匿名函数赋值给一个变量. f=lambda x:x*x print(f) #打印指向该函数的内存地址 print(f(5)) #内存地址(5) 调用运行该函数 def cala(x): y=x*x return y z=cala(5) print(z) >>> <function <lambda> at 0x10137d950&g

python之路_函数实例及装饰器介绍

一.习题讲解 1.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组.例如:[('红心',2), ('草花',2), -('黑桃,'A')] def cards(): num=[] for v in range(2,11): num.append(v) num.extend(['J','Q','K','A']) type=['红心','草花','方块','黑桃'] result=[] for i in num: for j in type: result.append((j,i)) re

[小技巧]python利用反射实现函数内静态局部变量

def func(): if not hasattr(func, '_value'): func._value = 0 # 初始化“静态局部变量”_value func._value += 1 print(func._value) # 测试 for i in range(10): func() 原文地址:https://www.cnblogs.com/qyxfzmbz/p/12348303.html

python 之路 day10 函数

一:深浅拷贝 :  s = [ [1,2] ,3  ,4  ]       s1 = s.copy()  ,   s1[0][0] = 8 ,  print (s) ,print (s1),   两个的结果都为 [   [8,1] ,  3 ,4  ]   首先是因为列表是可以修改的,再一个跟指针有关系,具体图如下: 浅拷贝(shallow copy) 只会拷贝第一层,如上面的 3,4 ,因为只有一个指针指向 深拷贝(deep copy): 全部克隆  需要模块, import copy 二 :

python之路---18 类与类之间的关系

三十七.类与类之间的关系 一.依赖关系 执行某个动作的时候. 需要xxx来帮助你完成这个操作      随时可以更换另外一个东西来完成此操作 此时的关系是最轻的. 二.关联关系(组合关系,聚合关系) 1.一对一关系 2.一对多关系 三.继承关系       (这是最重的关系) self在访问?法的顺序: 永远先找??的. ??的找不到再找?类的 父类  ==    基类  ==  超类 子类 ==    派生类 我们写的类和对象都是可哈希的 如果加上   __hash__ = None    对

python中的作用域以及内置函数globals()-全局变量、locals()-局部变量

在python中,函数会创建一个自己的作用域,也称为为命名空间.这意味着在函数内部访问某个变量时,函数会优先在自己的命名空间中寻找. 通过内置函数globals()返回的是python解释器能知道的变量名称的字典(变量名:值): 而locals()函数返回的是函数内部本地作用域中的变量名称字典.由此可以看出,函数都是由自己独立的命名空间的. 查看全局变量和局部变量: #coding=utf-8 outerVar="this is a global variable"def test()