Python高级语法与用法

#枚举其实是一个类

#枚举定义及特性
#什么是枚举:是一个被命名的整型常数的集合
#枚举类型就是为了保存一组常量,比如错误代码的清单,程序是不能轻易就改变代码的值,否则会产生严重的问题
from enum import  Enum            #enum相当于class
from enum import IntEnum,unique   #枚举类型的数值必须是int

class VIP(Enum):      #VIP(枚举名)是一个枚举(一个集合) 
    YELLOW = 1         #YELLOW是具体枚举类型,由枚举标签和值组成
    GREEN = 2         # 标签防止重复
    PINK = 3          #不会被改变 
    RED = 4
 #  RED = 4          #TypeError: Attempted to reuse key: 'RED'

print(VIP.GREEN)   #是一个枚举类型,type是enum ‘VIP’  
#VIP.GREEN = 3      #Cannot reassign members.   保护功能


#枚举的应用
#枚举可以分为:枚举的类型、枚举的标签、枚举的值
print(VIP.GREEN.value)      #值
print(VIP.GREEN.name)       #标签  type是class 'str'
print(VIP['GREEN'])

for v in VIP:               #VIP是枚举
    print(v)    #VIP.GREEN是枚举类型
    
#VIP的比较
#枚举类型间不可以做大小比较,可以做等值比较(==)、身份比较(is)
    
    
#枚举的注意事项
#@unique         防止value重复
class VIP(Enum):       
    YELLOW = 1        #枚举类型的数值可以相同
    GREEN = 1      #代表同一个枚举类型,第二个是第一个的别名,不代表一个独立的枚举类型
    PINK = 3          
    RED = 4
      
for v in VIP:               
    print(v)    #VIP.YELLOW, VIP.PINK, VIP.RED, 

for v in VIP.__members__.items():  #内置变量属性
    print(v ) 


for v in VIP.__members__:  #内置变量属性
    print(v) 


#根据数值找出枚举类型
a =1 
print(VIP(a))

#函数式编程、闭包

#%%
#python一切皆对象
#闭包是一种函数编程方式
#函数可以返回另一个函数

def curve(x,y):
    z1 = x + y
    w1 = x - y
    def curve_c(z,w):
        return z * w 
    return curve_c(z1,w1)   #返回的任然是一个值
print(curve(1,2))    

def curve1(x,y):
    z1 = x + y
    w1 = x - y
    def curve_c1(z,w):
        return z * w *z1 * w1
    return curve_c1   #返回是一个函数
r = curve1(1,2) 
print(r(3,3))

def test():
    print('Testing.')

f = curve
print(f(3,2))

t = test
t()
q = test()
print()

def curving_pre():       #是闭包
    a = 25              # 环境变量,具有记忆的功能,相当于函数内的全局变量
    def curving(x):
        #a = 25           #a定义在这就不叫环境变量了
        return a*x*x    
    return curving     #返回一个函数
w = curving_pre()
print(w.__closure__)
print(w.__closure__[0].cell_contents)  #huanjingbianliang
print(w(2))

#闭包:函数+环境变量  比如a

#闭包的意义在于其环境,函数里的函数必须要用到环境变量

def  f1():          #不是闭包
    a = 20              #由于外部的a没有被f2调用,因此就不是一个环境变量
    def f2():
        a = 10        #此为一个局部变量
        print(a)   
    print(a)
    f2()
    print(a)
#旅行者从0开始出发,走了几次,分别计算其总步数

class Travel():          #类方法
    steps = 0
    def add_steps(self,x):
       self.__class__.steps += x
       print(str(self.__class__.steps))
tra1 = Travel()       
tra1.add_steps(2)
tra1.add_steps(2)
tra1.add_steps(3)

Origin = 0           #非闭包方式
def steps(x):
    global Origin       #全局变量声明
    total_steps = Origin + x
    Origin = total_steps
    return Origin

print(steps(4545))
print(steps(3))
   
initial = 0          #闭包方法 、环境变量记住了上一次的行为
def steps(pos):     #闭包方法避免过多引用全局变量,因为全局变量会受多个函数的影响
    def add_steps(steps):
        nonlocal pos       #非局部变量申明
        new_pos = pos + steps
        pos = new_pos
        return new_pos
    return add_steps

tra2 = steps(initial) 
tra2(223)
print(tra2(33))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值