摘要: 作用域 全局作用域 全局有效:内置名称空间 全局名称空间 局部作用域 局部有效 局部作用域 global:局部修改全局 如果想修改多个 逗号隔开nonlocal:局部修局部 如果想修改多个 逗号隔开 # global 在局部修改全局的不可变数据类型# x = [] # 因为列表是可变类型x = 1 阅读全文
posted @ 2019-07-10 16:54 杨鑫Zz 阅读(101) 评论(0) 推荐(0)
摘要: 第一 重要的知识点 名字的查找 1首先你要先确定你在现在处在那个空间 1,如果站在全局: 那你的查找顺序就是全局到》》》内置 2,站在局部:局部 》》》全局》》》内置 上 代码 结果:555 如果在上述中删除555 那么结果就是444 如果删除444那么结果就是333 这就和找朋友是一样的 你要一层 阅读全文
posted @ 2019-07-10 16:50 杨鑫Zz 阅读(164) 评论(0) 推荐(0)
摘要: 名称空间 就是意味着要放名字的地方 存放的就是变量名与变量值的内存地址的绑定关系的地方 要想访问一个变量值 就必须去内存呢空间拿 那个所属的变量名 比如 : name = "yangxin" print(name) 结果就是yangxin 名称空间的分类: 1 内置的名称空间:就比如在我们的pyth 阅读全文
posted @ 2019-07-10 16:15 杨鑫Zz 阅读(121) 评论(0) 推荐(0)
摘要: def outer(): x = 1 print("outer") def innre(): print("innre") return innreres = outer()print(res)res()结果:outer 这个空函数的内存innre的地址 <function outer.<local 阅读全文
posted @ 2019-07-10 15:56 杨鑫Zz 阅读(251) 评论(0) 推荐(0)
摘要: 在函数的内部调用其他的函数 def index(): func() print("index") def func(): index() 阅读全文
posted @ 2019-07-10 15:47 杨鑫Zz 阅读(191) 评论(0) 推荐(0)
摘要: 函数是第一类对象:就是指函数名指向的值也可以被当做参数传递。 1, 函数名可以被传递。 name = "yangxin" x = name print (x) print ( id (x) ) 结果: yangxin 地址; x 和name相同 #上方的x 和name 同时在内存空间只想了yangx 阅读全文
posted @ 2019-07-10 15:33 杨鑫Zz 阅读(177) 评论(0) 推荐(0)
摘要: # 默认值参数:在函数的定义阶段,形参(变量名)就已经被赋值了# 在调用的时候可以不为默认值形参传值,默认使用定义阶段就已经绑定的值# 在调用的时候如果可以给默认值形参传值 传了那么就使用你传的值# 在定义阶段 默认值形参必须放在位置形参的后面 # def my_max(x,y=100):# if 阅读全文
posted @ 2019-07-09 18:09 杨鑫Zz 阅读(248) 评论(0) 推荐(0)
摘要: # 可变长参数# 站在调用函数传递实参的角度 实参的个数不固定的情况# 也就意味形参也不固定# 站在形参的角度 可以用*和**来接收多余的(溢出的)位置参数和关键字参数 # 站在形参的角度 看 *# 形参中的*会将多余的(溢出的)位置实参 统一用元组的形式处理 传递给*后面的形参名# def fun 阅读全文
posted @ 2019-07-09 18:09 杨鑫Zz 阅读(145) 评论(0) 推荐(0)
摘要: 求两个数的大小 返回大的那个 # 位置参数:在函数定义阶段按照位置从左往右依次书写的变量名 叫做函数位置形参# 位置形参在调用的时候 必须为其传值def my_max(x,y): print(x,y) if x > y: return x else: return y# res = my_max(1 阅读全文
posted @ 2019-07-09 18:08 杨鑫Zz 阅读(432) 评论(0) 推荐(0)
摘要: # def func():# return 'asfjsfda'# res = func()# print(res) # 函数内要想返回给调用者值 必须用关键字return"""不写return只写return写return None写return返回一个值写return返回多个值""" # 不写r 阅读全文
posted @ 2019-07-09 18:07 杨鑫Zz 阅读(146) 评论(0) 推荐(0)