资讯专栏INFORMATION COLUMN

【Python3】Python函数

roland_reed / 2044人阅读

摘要:函数对象函数是第一类对象,即函数可以当做数据传递可以被引用可以当做参数传递返回值可以是函数可以当做容器类型的元素函数的嵌套函数的嵌套的调用函数的嵌套定义返回值,即的值名称空间名称空间存放名字的地方名称空间分为三种内置名称空间随着解释器的启动

1. 函数对象

函数是第一类对象,即函数可以当做数据传递

可以被引用

可以当做参数传递

返回值可以是函数

可以当做容器类型的元素

def foo():
    print("from foo")

def index():
    print("from index")

dic = {
    "foo":foo,
    "index":index,
}

while True:
    choice = input(">>>>>").strip()
    if choice in dic:
        dic[choice]()
2. 函数的嵌套 2.1 函数的嵌套的调用
def max(x,y):
    return x if x > y else y

def max4(a,b,c,d):
    res1 = max(a,b)
    res2 = max(res1,c)
    res3 = max(res2,d)
    return res3
print(max4(234,456,123,789))
2.2 函数的嵌套定义
def f1():
    def f2():
        def f3():
            print("from f3")
        f3()
    f2()
f1()
# 返回值 from f3 ,即 f3的值
3. 名称空间

名称空间:存放名字的地方
名称空间分为三种

3.1 内置名称空间

随着python解释器的启动而产生

a = [1,2,3,4,5]
print(max(a))
3.2 全局名称空间

文件的执行会产生全局名称空间,指的是文件级别定义的名字都会放入改空间

x = 1
def fun():
    x = 2
    print(x)
fun()   
print(x)
3.3 局部名称空间

调用函数时会产生局部名称空间,只在函数调用时临时绑定,调用结束解绑定

x = 10000
def func():
    x = 1
    def f1():
        print(x)
        def f2():
            print(x)
        f2()
    f1()
func()
4. 作用域

作用域即范围(作用域关系是在函数定义阶段就已经固定的,与函数的调用位置无关)
查看作用域:globals(),locals()

4. 闭包函数
def f1():
    x = 1
    y = 2
    def f2():
        print(x,y)
    return f2

f = f1()
print(f.__closure__[0])
print(f.__closure__[0].cell_contents)
5. 装饰器 6. 迭代器 7. 生成器
def foo():
    print("一")
    yield  1
    print("二")
    yield 2
    print("三")
    yield 3
    print("四")

g = foo()
# for i in g:
#     print(i)

print(next(g))
print(next(g))
print(next(g))
print(next(g))
8. 内置函数
- - Built-in Functions - -
abs() dict() help() min() stator()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() enav() int() open() str()
bool() exec() isinstance() ord() sun()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round() -
delattr() hash() memoryview() set() -

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44411.html

相关文章

  • Python3的这些新特性很方便

    摘要:更高性能的默认缩短到时间的更安全的列表推导更简易的合并两个不仅仅合并很方便,合并等也很方便整数类型提供了两个整数类型和,只提供有个整数类型,如下的代码总结提供了很多新的特性,方便我们编码的同时,也带来了更好的安全性和较高的性能。 概述   随着Python在机器学习和数据科学领域的应用越来越广泛,相关的Python库也增长的非常快。但是Python本身存在一个非常要命的问题,就是Pyt...

    zhoutao 评论0 收藏0
  • python2与python3的区别

    摘要:与的区别默认编码方式是码。中输入内容分为和两个函数,前者只接受文本输入,而在中只有且统一将用户的输入存储为对象。中不再使用和后缀说明长整型。 python2与python3的区别python2默认编码方式是ascii码。(可在文件的首行:# -*- encoding:utf-8 -*...

    番茄西红柿 评论0 收藏2637
  • Python3 简明教程

    摘要:课程简介简明易懂的课程,不仅适用于那些有其它语言基础的同学,对没有编程经验的同学也非常友好。建议遵守以下约定使用个空格来缩进永远不要混用空格和制表符在函数之间空一行在类之间空两行字典,列表,元组以及参数列表中,在后添加一个空格。 showImg(https://segmentfault.com/img/bVCldE); 课程简介:简明易懂的 Python3 课程,不仅适用于那些有其它语...

    cyqian 评论0 收藏0
  • Python3基础知识

    摘要:基础知识基础语法基础知识编程第一步基础知识基本数据类型基础知识解释器基础知识注释基础知识运算符基础知识数字基础知识字符串基础知识列表基础知识元组基础知识字典基础知识条件控制基础知识循环基础知识迭代器与生成器基础知识函数基础知识数据结构基础知 Python3基础知识 | 基础语法 Python3基础知识 | 编程第一步 Python3基础知识 | 基本数据类型Python3基础知识 | ...

    freecode 评论0 收藏0

发表评论

0条评论

roland_reed

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<