当前位置: 首页 > news >正文

青海建设厅网站首页最新网站建设语言

青海建设厅网站首页,最新网站建设语言,wordpress自动广告位,潍坊做网站优化14. 迭代器和迭代协议 在Python中,迭代器是支持迭代操作的对象,即它们可以一次返回其成员中的一个。任何实现了 __iter__() 和 __next__() 方法的对象都是迭代器。 class Count:def __init__(self, low, high):self.current lowself.high highdef __i…

14. 迭代器和迭代协议

        在Python中,迭代器是支持迭代操作的对象,即它们可以一次返回其成员中的一个。任何实现了 __iter__()__next__() 方法的对象都是迭代器。

class Count:def __init__(self, low, high):self.current = lowself.high = highdef __iter__(self):return selfdef __next__(self):if self.current > self.high:raise StopIterationelse:self.current += 1return self.current - 1# 使用迭代器
for number in Count(1, 5):print(number)

15. 生成器

        生成器是一种特殊的迭代器,可以更方便地使用简单的函数来创建。通过使用关键字 yield,函数在每次生成值时将挂起其状态。

def countdown(n):while n > 0:yield nn -= 1# 使用生成器
for i in countdown(5):print(i)

16. 装饰器的进阶用法

        装饰器可以用来修改其他函数的行为,而且可以堆叠、参数化。

def decorator_with_args(number):def my_decorator(func):def wrapper(*args, **kwargs):print("Something is happening before the function is called.")result = func(*args, **kwargs)print("Something is happening after the function is called.")return result * numberreturn wrapperreturn my_decorator@decorator_with_args(3)
def add(x, y):return x + yprint(add(2, 3))

17. 异步编程(asyncio

        Python的 asyncio 模块用于编写单线程并发代码使用协程,适用于IO密集型应用。

import asyncioasync def main():print('Hello')await asyncio.sleep(1)print('world')asyncio.run(main())

18. 类型注解

        Python从3.5版本开始引入了类型提示(type hints),用于指示变量和函数参数、返回值的类型,有助于代码的可读性和可维护性。

from typing import List, Dictdef greet_all(names: List[str]) -> None:for name in names:print(f"Hello, {name}")greet_all(["Alice", "Bob", "Charlie"])

19. 元编程

        元编程是指在运行时创建或自定义代码的技术。Python提供了多种元编程工具,包括元类和装饰器。

元类(Metaclasses)

        元类是创建类的类,它们允许你拦截Python的类构造过程。通过定义一个元类,你可以修改类的定义。

class Meta(type):def __new__(cls, name, bases, class_dict):print("A class is defined with name:", name)return type.__new__(cls, name, bases, class_dict)class MyClass(metaclass=Meta):pass# 输出: A class is defined with name: MyClass

20. 动态属性和方法

        Python支持在运行时动态地添加或修改对象和类的属性和方法,这增加了代码的灵活性。

class DynamicClass:pass# 动态添加属性
obj = DynamicClass()
obj.new_attr = "Hello"
print(obj.new_attr)# 动态添加方法
import types
def dynamic_method(self):return "Dynamic Method Called"obj.dynamic_method = types.MethodType(dynamic_method, obj)
print(obj.dynamic_method())

21. 上下文管理器的高级用法

        除了基本的 with 语句用法外,你可以创建支持复杂逻辑的自定义上下文管理器。

class ManagedResource:def __enter__(self):print("Enter resource")return selfdef __exit__(self, exc_type, exc_val, exc_tb):print("Exit resource")if exc_type:print(f"An error occurred: {exc_val}")return True  # Suppress exceptionswith ManagedResource():raise Exception("Something went wrong!")
# Enter resource
# Exit resource
# An error occurred: Something went wrong!

22. 多进程与多线程

        Python支持多线程和多进程编程,这对于提高IO密集型和计算密集型应用的性能非常重要。

多进程
from multiprocessing import Processdef print_func(continent='Asia'):print('The name of continent is : ', continent)if __name__ == "__main__":  # Required for Windowsnames = ['America', 'Europe', 'Africa']procs = []proc = Process(target=print_func)  # Create a Processprocs.append(proc)proc.start()# Create a process for each namefor name in names:proc = Process(target=print_func, args=(name,))procs.append(proc)proc.start()# Complete the processesfor proc in procs:proc.join()
多线程
import threadingdef print_cube(num):print("Cube: {}".format(num * num * num))def print_square(num):print("Square: {}".format(num * num))if __name__ == "__main__":t1 = threading.Thread(target=print_square, args=(10,))t2 = threading.Thread(target=print_cube, args=(10,))t1.start()t2.start()t1.join()t2.join()

http://www.yayakq.cn/news/367054/

相关文章:

  • wordpress网站后缀学校网站空间建设情况
  • 高端企业网站设计公司免备案国内虚拟主机
  • 地方房地产网站seo实战案例分享找事做网站怎么弄
  • 网站建设 后端开发软件WordPress设置作者信息
  • 旺道网站排名优化静态网页制作案例
  • 广西智能网站建设找哪家wordpress 单栏 宽屏
  • 商丘网站建设免费网络在线打电话
  • 云集网站建设公司网站建设优化服务策划
  • 网站建设的工作总结wordpress短链接清除
  • 顶呱呱做网站导航网站备案
  • 桂平市住房和城乡建设局门户网站网络运营管理
  • 做网站设计制作的公司做网站用小公司还是大公司
  • 自助建站网站建设设计公司上海企业网站设计制作
  • 服装企业官方网站比较厉害的网站制作公司
  • 外贸seo网站开发社区网站推广方案
  • 低代码建站平台网站后台管理系统有哪些
  • 个人网站建设公司地址哪个网站可以卖自己做的模型
  • 怎么查询网站备案接入商wordpress取消自动分页
  • 中企动力唐山网站建设致远oa协同管理系统
  • 如何做网站直播入口郑州网站设计培训
  • 比较出名做耐克的网站HTML发布网站
  • 网站建设正文字体多大合适怎么做淘宝联盟网站制作
  • 0资本建设网站游戏开发制作培训
  • 那家网站建设公司好网站视频插件怎么做
  • 租房网站建设知名广告公司有哪些
  • 网站建设的具体实施方案wordpress 侧边导航菜单
  • 不动产网站建设推广员网站怎么做
  • 网站开发公司应该具备怎样的资质wordpress 加载速度优化
  • 襄阳做网站公司有哪些淘宝网站推广怎么做
  • 360免费wifi助手网络推广优化