Python个人代码随笔(观看无益,请跳过)

  • 异常抛错:
  • 一般来说,在程序中,遇到异常时,会从这一层逐层往外抛错,一直抛到最外层,由最外层把错误显示在用户终端。
try:raise ValueError("A value error...")
except ValueError:print("ValueError in my code...")
  • 异常清理行为try语句下的可选finally子句:
  • finally子句目的在于定义在任何情况下都一定要执行的功能。一般来说,finally子句用于释放外部资源(文件或网络传输连接之类的),无论它们的使用过程中是否出错。
try:raise ValueError
except ValueError:print("a value error...")
finally:print("hahahahahahaha")

  • python迭代器(_Iterators_)对象在遵守迭代器协议时需要支持如下两种方法:
  • __iter__(),返回迭代器对象自身。这用在for和in语句中;
  • __next__(),返回迭代器的下一个值。如果没有下一个值可以返回,那么应该抛出StopIteration异常。
  • class Counter(object):def __init__(self,low,high):self.current = lowself.high = highdef __iter__(self):return selfdef __next__(self):# 返回下一个值,直到当前值大于highif self.current > self.high:raise StopIterationelse:self.current += 1return self.current - 1
  • # 调用上述迭代器c = Counter(5,10)
    for i in c:print(i, end=" ")
  • 生成器(Generator)是一种特殊类型的迭代器,它允许在迭代过程中逐步生成值,而不需要一次性生成所有值。通过生成器,可以方便的向程序提供一个可迭代的序列,同时可以节省内存,并允许在需要时延迟生成值。
  • 生成器可以通过两种方式定义:
  • 1,生成器函数(Generator Function)
  • 2,生成器表达式(Generator Expression)
  • 生成器函数:
  • 生成器函数是一种特殊的函数,它使用yield关键字来产生值。当调用生成器函数时,它返回一个生成器对象,该对象可以用于迭代生成值。
  • def my_generator():yield 1yield 2yield 3gen = my_generator()    # 调用生成器函数创建一个生成器对象
  • # 生成器
    def generator():yield 1yield 2yield 3gen = generator()  # 调用生成器函数创建一个生成器对象
    for item in gen:print(item)# 生成器的简单写法
    gen = (i * i for i in range(10))  # 这里用圆括号,方括号是列表
    for item in gen:print(item)
    # 生成器是一种特殊类型的函数,它可以在需要时生成值,而不必一次性生成所有值并将它们存储在内存中。
    # 生成器能够延迟产生序列的元素,这样可以减少内存占用并提高效率,特别是在处理大量数据时。
  • # 生成器
    def counter_generator(low, high):while low <= high:yield lowlow += 1
    for i in counter_generator(5,10):print(i, end=" ")
    # 在while循环中,每当执行到yield语句时,返回变量low的值并且生成器状态转为挂起。
    # 在下一次调用生成器时,生成器从之前冻结的地方恢复执行然后变量low的值加一。生成器继续while循环并且再次来到yield语句。。。# 生成器的使用场景:
    # 通常使用生成器进行惰性求值。这样使用生成器是处理大数据的好方法。如果你不想在内存中加载所有数据,你可以使用生成器,一次只传递给你一部分数据。# 生成器是一定不能重复循环的
    # 如果想要使得类的实例变成生成器,可以用__iter__和__next__方法实现。
  • 闭包(__Closures__):是由另外一个函数返回的函数。我们使用闭包去除重复代码。
  • def add_number(num):def adder(number):# adder是一个闭包return num + numberreturn adder
    a_10 = add_number(10)
    print(a_10(21))
    # adder是一个闭包,把一个给定的数字与预定义的一个数字相加
  • 装饰器(__Decorators__)用来给一个对象状态的添加一些新的行为。
  • # 装饰器
    # 装饰器是在不修改目标代码的前提下,为目标函数(或类)新增功能的函数(或类)。
    import time
    def timer(function):def wrapper():time_start = time.time()function()time_end = time.time()cost_time = time_end - time_startprint("花费时间: {}秒".format(cost_time))return wrapper@timer
    def func1():print("这是函数一嗷")@timer
    def func2():a,b = 10,2000while a<b:a += 1print("我是函数二")@timer
    def func3():print("俺是函数三, 俺还会跳节目三嗷!")func1()
    func2()
    func3()
  • Flask:是一个web框架。属于微框架。
  • WSGI服务器网关接口:是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/226181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MVC框架和Spring MVC的基本流程

MVC&#xff08;Model-View-Controller&#xff09;是一种设计模式&#xff0c;用于将应用程序的逻辑分离为三个不同的组件&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和控制器&#xff08;Controller&#xff09;。MVC框架的原理是基于…

linux源码包管理

8.2 源码包管理 source code需要经过GC,C编译环境编译才能运行 ​ 可以设定个人设置&#xff0c;但配置复杂 ​ 软件包示例: nginx-1.8.1.tar.gz -----------------------------------------------------------------------------------------------------------------------…

企业与员工

相信大家最近都关注到了董宇辉这件事,在看“热闹”的同时,我们也要关注到事情的本质。最后回到根本,归根到底就是企业与员工。 在此之前,我们先一起回顾一下历史,当然,以下内容都是我根据老一辈的分享以及历史资料做出来的总结: 我们新中国成立,经历了很多事情,特别是…

Event Driven设计模式

EDA&#xff08;Event-Driven Architecture&#xff09;是一种实现组件之间松耦合、易扩展的架构方式。一个最简单的EDA设计需要包含如下几个组件&#xff1a; Events&#xff1a;需要被处理的数据。一个Event至少包含两个属性&#xff0c;类型和数据&#xff0c;类型决定了Eve…

知识付费小程序开发:构建个性化学习平台的技术实践

随着在线学习和知识付费的兴起&#xff0c;开发一款知识付费小程序成为了创新的热点之一。本文将通过使用Node.js、Express和MongoDB为例&#xff0c;演示如何构建一个基础的知识付费小程序后端&#xff0c;并实现用户认证和知识内容管理。 1. 初始化项目 首先&#xff0c;确…

CSS复合选择器(在基础选择器上元素选择的方式不同)

后代选择器&#xff1a; ------------ 此情况下&#xff0c;红色的可以划去 子&#xff08;元素&#xff09;选择器&#xff1a; 并集选择器&#xff1a; 伪类选择器&#xff1a; 如放上字符会变色。 链接伪类选择器&#xff1a; foucus伪类选择器&#xff1a;

matplotlib如何在label中加入字符并换行【已解决】

最近在跑一个超参数的实验&#xff0c;但是发现x轴的刻度就很丑 显然&#xff0c;lr和theta在一行显得很冗余 这个是此时的label x_labels [$\t{lr0.05}\ \tθ10}$, 40, 60] 正常加换行符即可&#xff0c;但是要加上$$ x_labels [$\t{lr0.05}\ $\n$ \tθ10}$, 40, 60] 大…

听力健康“吃”出来

大多数的研究报告都指出&#xff0c;听力下降的最常见原因是年龄和噪音暴露。然而&#xff0c;近年来越来越多的文章开始探讨其他因素对听力的影响。食物不仅是维持人类基本生存的必需品&#xff0c;随着营养学的进步&#xff0c;人们也逐渐认识到食物中的营养与保持健康之间存…

zabbix6入门到精通(3) 预处理

zabbix6入门到精通&#xff08;3&#xff09; 预处理 配置 — 主机 文件系统主项目 vfs.fs.get 测试一下 添加预处理 $[?(.fsname ‘/’)] $[0].inodes.pfree JSONPath参照&#xff1a; https://www.zabbix.com/documentation/6.0/zh/manual/config/items/preprocessi…

多线程中的单例模式

单线程中的单例模式 在单线程中&#xff0c;实现一个单例模式是简单的&#xff1a; class Singleton { public:static Singleton* get_instance() {if (instance_ nullptr) {instance_ new Singleton();}return instance_;}private:Singleton() default;static Singleton*…

【halcon深度学习】目标检测的数据准备过程中的一个库函数determine_dl_model_detection_param

determine_dl_model_detection_param “determine_dl_model_detection_param” 直译为 “确定深度学习模型检测参数”。 这个过程会自动针对给定数据集估算模型的某些高级参数&#xff0c;强烈建议使用这一过程来优化训练和推断性能。 过程签名 determine_dl_model_detection…

Codeforces Round 914 (Div. 2) A~E

A.Forked!&#xff08;思维&#xff09; 题意&#xff1a; 给出骑士的跳跃能力 ( x , y ) (x, y) (x,y) 以及国王和皇后的位置&#xff0c;问有多少个位置可以让骑士可以直接攻击到国王和皇后。 分析&#xff1a; 棋盘非常大 ( 1 0 8 1 0 8 ) (10^{8} \times 10^{8}) (1…

Tomcat-指定启动jdk、修改使用的jdk版本

修改tomcat配置文件setclasspath.sh 配置文件首行增加以下代码&#xff0c;指定启动的jdk&#xff1a; export JAVA_HOME/opt/softwares/jdk1.8.0_211/ export JRE_HOME/opt/softwares/jdk1.8.0_211/jre

力扣labuladong——一刷day75

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣200. 岛屿数量&#xff08;广搜&#xff09;二、力扣200. 岛屿数量&#xff08;深搜&#xff09; 前言 图论&#xff0c;深搜还有广搜都只是手段 一、…

某保险公司持续信赖监控易:优化网络运维,确保业务稳定

一、背景介绍 某保险有限公司&#xff0c;作为一家全国知名的保险公司&#xff0c;始终以科技创新和优质服务为引领&#xff0c;不断优化其业务运营。随着业务的快速发展&#xff0c;其IT系统规模日益庞大&#xff0c;网络运维压力也随之增大。为了提高IT系统的稳定性和可靠性&…

drf入门规范

一 Web应用模式 在开发Web应用中&#xff0c;有两种应用模式&#xff1a; 1.1 前后端不分离 1.2 前后端分离 二 API接口 为了在团队内部形成共识、防止个人习惯差异引起的混乱&#xff0c;我们需要找到一种大家都觉得很好的接口实现规范&#xff0c;而且这种规范能够让后端写…

获取和移除cookie的方法

下载npm的cookie插件, 在utils.js文件中引入插件: 封装原始的Cookies.get()方法: 在xxxx.vue文件中引入方法: 使用getCookie方法获取cookie: 封装 移除cookie: export const removeCookie name>{ const options { path: /, domain: xxx.com }; Cookies.remove(name, opti…

i春秋云镜之Tsclient

首先拿到目标:39.99.137.155 首先通过Fscan扫描目标: 可以看到扫描出来了一个SqlServer的弱口令。 账号是sa&#xff0c;密码是1qaz!QAZ。 这里就不使用navicat进行连接了&#xff0c;这里使用impacket-mssqlclient进行连接。 impacket-mssqlclient sa:1qaz!QAZ39.99.137.…

糖糖别胡说,我真的不是签到题目

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 从前&#xff0c;有 nnn 只萌萌的糖糖&#xff0c;他们分成了两组一起玩游戏。他们会排成一排&#xff0c;第 iii 只糖糖会随机得到一个能力值 bib_ibi​。从第 iii 秒的时候&#xff…

yolov5单目测距+速度测量+目标跟踪

要在YOLOv5中添加测距和测速功能&#xff0c;您需要了解以下两个部分的原理&#xff1a; 单目测距算法 单目测距是使用单个摄像头来估计场景中物体的距离。常见的单目测距算法包括基于视差的方法&#xff08;如立体匹配&#xff09;和基于深度学习的方法&#xff08;如神经网…