# def my_sum(*args):
# sum_2=0
# for i in args:
# sum_2+=i
# return sum_2
#
#
# ret=my_sum(1,2,3,4)
# print(ret)
#-------------------------------------------------------------------
#命名空间, 名称空间 namespa
# 局部命名空间:每个函数都拥有自己的命名空间
# 全局命名空间:写在函数外边的变量名
#内置命名空间:python解释器启动之后就可以使用的名字 #python的解释器要运行起来
# 加载顺序
# 所有内置命名空间中的名字-->然后按照顺序加载全局命名空间中的名字
#局部命名空间的名字:在调用函数的时候产生,并且随着调用的结束而消失 # 函数的嵌套定义
# def func():
# def qqxing():
# print('我是qqxing')
# qqxing() # func() # 函数的嵌套定义
# 作用域: 一个名字可以使用的区域
#全局作用域: 内置名字空间和全局名字空间中的名字都属于全局名字空间域
#局部作用域:局部名字空间中的名字属于局部作用域
#局部作用域可以使用全局做用域中的变量
#而全局作用域不能使用局部作用域中的变量
#局部作用域中还可以嵌套更小的局部作用域
# 作用域链:小范围作用域可以使用大范围的变量 但作用域链是单向的不能反向使用
# n=0
# def funcl():
# def func2():
# print(n)
# func2()
# funcl()
# --------------------------------------------------
# def func():
# a=10
# b=20
# print(locals()) # 保存了当前作用域中的变量 # n=10
# m=22
# print(globals())# 保存了在全局作用域中的名字和值
# print(locals())#中的内容会跟根据执行中的位置来决定作用域中的内容
# 如果在全局执行的话
#globals和locals打印的结果是一致的 #函数的嵌套和嵌套的嵌套定义
# 命名空间: 三种 内置全局 局部
# 关于作用域: 两种 全局和局部
# 作用域的特点: 作用域链 名字的使用是从小范围到大范围的就近事件
#globals和locals的方法 # n=1
# def func():
# global n
# n=n+1
#
# func() # 小范围可以使用大范围的 但不能修改
# print(n) # 如果想要修改 使用global关键字 -----尽量避免
# 如果想要修改最近拥有改变量的外层函数的 使用nonlocal--不影响全局
# n=0
# def func():
# n=1
# def func2():
# global n
# n+=1
# func2()
# print(n)
#
# func()
# print(n)
#-------------------------------------#跟上边的一起
#第一类对象的概念
# 函数的名字可以赋值
# 可以作为一个数据结构的元素
#可以作为一个函数的参数
#可以作为一个函数的返回值 # def func():
# print('in func')
# f=func()
# print(f)

												

day11 函数和命名空间的更多相关文章

  1. 10,*args **kwargs 函数的命名空间。

    用户传入到函数中的实参数量不定时,或者是为了以后拓展, 此时要用到动态参数*args,**kwargs(万能参数.) *args(接受的是所有的位置参数) 以元组的形式返回给函数调用者. **kwar ...

  2. python函数对象-命名空间-作用域-02

    函数对象 函数是第一对象: # 函数名指向的值可以被当做参数传递 函数对象的特性(*****灵活运用,后面讲装饰器会用到) 函数名可以像变量一样被传递 # 变量可以被传递 name = 'jason' ...

  3. day11——函数名的使用、f格式化、迭代器、递归

    day11 函数名的第一类对象及使用 1.可以当作值被赋值给变量 def func(): print(1) print(func) a = func a() 2.当作元素存放在容器中 def func ...

  4. day11 函数

    day11 函数 一.函数基础 """ 1 什么是函数 函数是盛放代码的容器:把实现某一功能的代码放到一个函数内就制造一个工具 2 为何要用函数 没有用函数之前程序的问题 ...

  5. day11函数的进阶动态参数,命名空间,作用域,第一类对象

    一.习题收藏 5.写函数,计算传入字符串中[数字].[字母].[空格] 以及 [其他]的个数,并返回结果. # def func4(s): # dic = { # 'num':0,'alpha':0, ...

  6. 【Python 函数对象 命名空间与作用域 闭包函数 装饰器 迭代器 内置函数】

    一.函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(Firs ...

  7. DAY11 函数(二)

    一.函数的对象 1.1定义:函数名就是存放了函数的内存地址,存放了内存地址的变量都是对象,即 函数名 就是 函数对象 1.2函数对象的应用 1 可以直接被引用 fn = cp_fn def fn(): ...

  8. C++(十六) — 类中引用成员函数、命名空间的使用

    1.为什么类中引用成员函数? 类将属性和方法做了封装.类是一种数据类型,也就是:固定大小内存块的别名. 类的定义是一个抽象的概念,定义时不分配内存,当用类定义对象时,才分配一个固定大小的内存块. 此时 ...

  9. Python:函数的命名空间、作用域与闭合函数

    1,参数陷阱 如果默认参数的只是一个可变数据类型,那么每一次调用的时候,如果不传值就共用这个数据类型的资源. 2,三元运算 c=a if a>b else b#如果a>b返回a,否则,返回 ...

随机推荐

  1. Linux环境下连接Mssql 2008

    首先,Linux环境装个驱动:Microsoft® SQL Server® ODBC Driver 1.0 for Linuxhttps://www.microsoft.com/en-us/downl ...

  2. MySql—修改权限

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant sele ...

  3. 2018 ACM ICPC 南京赛区 酱油记

    Day 1: 早上6点起床打车去车站,似乎好久没有这么早起床过了,困到不行,在火车上睡啊睡就睡到了南京.南航离南京南站很近,地铁一站就到了,在学校里看到了体验坐直升机的活动,感觉很强.报道完之后去吃了 ...

  4. 【BZOJ】2019: [Usaco2009 Nov]找工作(spfa)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2019 spfa裸题.....将飞机场的费用变成负,然后spfa找正环就行了 #include < ...

  5. socket文件权限变更引起crs无法启动故障

    Crs无法正常启动,也无法关闭.[root@rac101 ~]# crsctl stop crsStopping resources. This could take several minutes. ...

  6. RelativeSource.TemplatedParent 属性wpf

    今天看到这一句代码时候,自己只是知道绑定了,可是不知道绑定了什么啊 就去查了一下,后来说的好像是绑定的TemplateParent返回的 一个值.可是这是为什么呢, 有的说是绑定的是一个资源. 下面有 ...

  7. PrintArea打印,@media screen解决移动web开发的多分辨率问题,@media print设置打印的样式

    PrintArea打印,局部DIV打印插件,依赖JQuery. github:https://github.com/RitsC/PrintArea 当打印时需要临时改变页面布局,可以使用 @media ...

  8. [Linux 学习] Centos 使用yum出现Loaded plugins: refresh-packagekit, security

    sudo vim  /etc/yum/pluginconf.d/fastestmirror.conf enabled=0  //把1改为0 verbose=0 socket_timeout=3 hos ...

  9. $().each() 与 $.each()区别,以及 jquery ajax 应用

    在jquery 中我们可以选择$().each() 与 $.each() 进行迭代对象和数组 $(items).each(function(){ //item })   , 而后者则 $.each(i ...

  10. 联想打字必须按FN+数字-fn打字

    对于联想G40.14英寸系列的本本,好多时候无意间可能把数字键锁定了. 这时候要做的是:打开运行--输入OSK--打开虚拟屏幕键盘.这时候可以找到 选项---打开数字键盘. 有时候某些电脑上没有NUM ...