# 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. glibc中malloc的详细解释_转

    glibc中的malloc实现: The main properties of the algorithms are:* For large (>= 512 bytes) requests, i ...

  2. linux—jdk 安装步骤

    1.         查看现有版本 java -version 2.         查看jdk的具体版本 rpm –qa| grep jdk rpm –qa| grep gcj 3.         ...

  3. ajax-C#

    $(document).ready(function(){ $("#month").change(function () { var yearSelect = $("#y ...

  4. 位集合类BitSet

    位集合类中封装了有关一组二进制数据的操作. 我们先来看一下例8.6 BitSetApp.java. 例8.6 BitSetApp.java //import java.lang.*; import j ...

  5. oracle锁一些知识

    表级锁共具有五种模式,如下所示. 行级排他锁(Row Exclusive,简称RX锁) 当我们进行DML时会自动在被更新的表上添加RX锁,或者也可以通过执行lock命令显式的在表上添加RX锁.在该锁定 ...

  6. MySQL Error: Illegal mix of collations for operation 'concat'

    在使用concat连接字符串时出现错误:MySQL Error: Illegal mix of collations for operation 'concat' 原因:字段操作默认为UTF8的编码, ...

  7. Qt 配置文件QSettings读取以及中文问题

    QSettings settings("xxxx.ini",QSettings::IniFormat);settings.setIniCodec(QTextCodec::codec ...

  8. Kotlin教程——史上最全面、最详细的学习教程,持续更新中....

    关于这个系列教程,我是从最基础的开发环境搭建到项目进阶到后面的项目开发这个过程来写的.我一直秉承从实际项目开发以及源码解析的角度去写好这个教程,并让从未接触过编程的朋友能学好kotlin这门语言.所以 ...

  9. mvc jsonresult 前台、后台解析

    背景介绍:asp.net中使用json对象传参;mvc中可以直接使用jsonresult这个对象 一:怎么使用jsonresult public JsonResult text() { var str ...

  10. Scrapy命令和备注

    Scrapy命令和备注 1.创建一个新项目(命令行) project是项目名 scrapy startproject <project_name> 2.调试项目(pycharm) 在pyc ...