python的枚举函数 python枚举法例子( 三 )


lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数 。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率 。
语法
lambda函数的语法只包含一个语句 , 如下:
lambda [arg1 [,arg2,.....argn]]:expression
如下实例:
实例(Python 2.0+)
#!/usr/bin/python# -*- coding: UTF-8 -*-
# 可写函数说明sum = lambda arg1, arg2: arg1 + arg2
# 调用sum函数print "相加后的值为 : ", sum( 10, 20 )print "相加后的值为 : ", sum( 20, 20 )
以上实例输出结果:
相加后的值为 :30相加后的值为 :40
return 语句
return语句[表达式]退出函数 , 选择性地向调用方返回一个表达式 。不带参数值的return语句返回None 。之前的例子都没有示范如何返回数值,下例便告诉你怎么做:
实例(Python 2.0+)
#!/usr/bin/python# -*- coding: UTF-8 -*-
# 可写函数说明def sum( arg1, arg2 ):# 返回2个参数的和."
total = arg1 + arg2
print "函数内 : ", total
return total
# 调用sum函数total = sum( 10, 20 )
以上实例输出结果:
函数内 :30
变量作用域
一个程序的所有的变量并不是在哪个位置都可以访问的 。访问权限决定于这个变量是在哪里赋值的 。
变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称 。两种最基本的变量作用域如下:
全局变量
【python的枚举函数 python枚举法例子】局部变量
全局变量和局部变量
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域 。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问 。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中 。如下实例:
实例(Python 2.0+)
#!/usr/bin/python# -*- coding: UTF-8 -*-
total = 0 # 这是一个全局变量# 可写函数说明def sum( arg1, arg2 ):#返回2个参数的和."
total = arg1 + arg2 # total在这里是局部变量.
print "函数内是局部变量 : ", total
return total
#调用sum函数sum( 10, 20 )print "函数外是全局变量 : ", total
以上实例输出结果:
函数内是局部变量 :30函数外是全局变量 :0
干货 - 一文搞定Python 枚举enum是一组绑定到唯一常数值python的枚举函数的符号名称python的枚举函数,并且具备可迭代性和可比较性的特性 。python的枚举函数我们可以使用enum创建具有良好定义的标识符,而不是直接使用魔法字符串或整数,也便于开发工程师的代码维护 。
python的枚举函数我们可以使用class语法创建一个枚举类型,方便python的枚举函数我们进行读写,另外 , 根据函数API的描述定义,我们可以创建一个enum的子类 , 如下:
enum自带属性name和value , 日常工作中使用最多的也是这两个属性,我们打印看看结果:
枚举支持迭代和遍历顺序 。举个例子:
打印结果:
可以看出,遍历的每一个status是一个独立的枚举成员 , 拥有name和value属性 。
另外,我们也可以使用如下形式来进行枚举遍历:
上 面我们创建的枚举类中,value值是可以重复的,如果我们不想枚举类中的值重复可以是用装饰器@unique,举例如下:
我们运行后,报如下异常:
我们查看源代码,发现加入此装饰器的枚举类型,unique方法会将其__members__.items()进行遍历 , 追加到duplicates列表中,如果发现列表不为空,则抛出如上异常信息 。

推荐阅读