Python(56)_函数进阶

1  函数的命名空间

#-*-coding:utf-8-*-
‘‘‘
函数进阶
‘‘‘
‘‘‘
全局变量a,函数里面可以调用‘‘‘
a = 1
def fun():
    print(a)
fun()

‘‘‘
覆盖内置函数,调用时调用的是这个函数了,而不是python本身有的input()
‘‘‘
def input():
    print("in input function")
input()

‘‘‘
覆盖内置函数,用时调用的是这个函数了,而不是python本身有的max(),
‘‘‘
def  max():
    print(‘in max function‘)
max()
# max([1,2,3]) 这样是会报错的!

‘‘‘
这样也会调用全局的,一级一级往上调
‘‘‘
def aa():
    input()
aa()


2  函数调用的本质

#-*-coding:utf-8-*-
‘‘‘
函数进阶
‘‘‘
‘‘‘

‘‘‘
a = 1
def bowen():
    print(a)
print(id(bowen))
print(bowen)

原文地址:https://www.cnblogs.com/sunnybowen/p/10246756.html

时间: 2024-10-10 03:11:25

Python(56)_函数进阶的相关文章

python基础_函数进阶

函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形式 无参数,无返回值 无参数,有返回值 有参数,无返回值 有参数,有返回值 定义函数时,是否接收参数,或者是否返回结果,是根据 实际的功能需求 来决定的! 如果函数 内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部 如果希望一个函数 执行完成后,向外界汇报执行结果,就可以增加函数的返回值

python基础_变量进阶

变量进阶(理解) 目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1.1 引用的概念 在 Python 中 变量 和 数据 是分开存储的 数据 保存在内存中的一个位置 变量 中保存着数据在内存中的地址 变量 中 记录数据的地址,就叫做 引用 使用 id() 函数可以查看变量中保存数据所在的 内存地址 注意:如果变量已经被定义,当给一个变量赋值的时候,本

python语法基础-函数-进阶-长期维护

###############    函数的命名空间和作用域    ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自己写的非函数中的代码 是在程序从上到下被执行的过程中依次加载进内存的, 放置了我们设置的所有的变量名和函数名, 局部命名空间,——函数 就是函数内部定义的名字 在函数调用的时候才会产生这个命名空间,随着函数调用的结束,这个命名空间就消失了, 内置命名空间,——Python解释器, 就是Python解释器一启动

python基础_函数

函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 所谓函数,就是把 具有独立功能的代码块 组织为一个小模块,在需要的时候 调用 函数的使用包含两个步骤:1.定义函数 -- 封装 独立的功能2.调用函数 -- 享受 封装 的成果 函数的作用,在开发程序时,使用函数可以提高编写的效率以及代码的 重用 02. 函数基本使用 2.1 函数的定义 定义函数的格式如下: def 函数名(): 函数封装的代码 -- def 是英

python学习之---函数进阶

一,递归函数: 做程序应该都知道,在一个函数的内部还可以调用其它函数,这叫函数的调用,但是有一种特殊的情况,在一个函数内部对自身函数的调用,我们成这为函数的递归调用. 在此,使用一个家喻户晓的例子来演示一下函数的递归调用------求阶乘: 1 >>> func(1) 2 1 3 >>> func(10) 4 3628800 5 >>> func(100) 6 9332621544394415268169923885626670049071596826

python基础_面向对象进阶

@property装饰器 之前我们讨论过Python中属性和方法访问权限的问题,虽然我们不建议将属性设置为私有的,但是如果直接将属性暴露给外界也是有问题的,比如我们没有办法检查赋给属性的值是否有效.我们之前的建议是将属性命名以单下划线开头,通过这种方式来暗示属性是受保护的,不建议外界直接访问,那么如果想访问属性可以通过属性的getter(访问器)和setter(修改器)方法进行对应的操作.如果要做到这点,就可以考虑使用@property包装器来包装getter和setter方法,使得对属性的访问

python学习之函数进阶三

一.模块介绍 os模块常用方法 os.getcwd()    #获取当前工作目录 os.listdir("F:\\")    #获取指定目录下的所有文件和目录 os.remove('b.json')    #删除指定文件 os.stat('a.json')    #获取文件属性 os.chmod()        #修改文件属性 os.mkdir('hyh')    #创建目录 os.rmdir('hyh')    #删除目录 os.system('dir')    #运行shell命

Python学习之函数进阶

函数的命名空间 著名的python之禅 Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't

python学习总结(函数进阶)

-------------------程序运行原理------------------- 1.模块的内建__name__属性,主模块其值为__main__,导入模块其值为模块名 1.创建时间,py文件比pyc文件新,则从新生成pyc. 2.magic num,做运行前版本测试,版本不同重新生成pyc. 3.PyCodeObject对象,源代码中的字符串,常量值,字节码指令,原始代码行号的对应关系. 2.LEGB规则 1.Local :本地 当前所在命名空间(如函数,模块),函数的参数也属于命名空