其他

  1.迭代器

    定义:帮助对某类对象(str/list/tuple/dict/set)中的元素进行逐一获取

    可迭代对象:内部具有__iter__()方法且返回一个迭代地址。(可被for循环就是可迭代对象)

#列表转换迭代器
v1 = [1,2,3,4]
v2 = iter(v1)
var = v2.__next__()
print(val) #进行第一次迭代输出1,执行几次迭代就输出几次
#迭代器想要获取每一个值,反复调用val = v2.__next__(),直到报错Lstoplteration错误,表示已经迭代完毕 #将一个对象变成可迭代对象,在类中实现__iter__方法且返回一个迭代器(生成器)
class Foo1: class Foo2:
def __iter__(self): def __iter__(self):
return iter([1,2,3,4]) yield 1
obj = Foo1() yield 2
obj = Foo2()

  2.生成器

    定义:函数中如果存在yield,那么该函数就是一个生成器,调用生成器函数会返回一个生成器

       生成器只有被for循环时,内部代码才会执行,每次循环都会获取yield返回值

       return和yield同时存在时还是属于生成器

#生成器
def func():
arg = arg +1
yield 1
yield 2

  3.异常处理

#基本格式
try:
int('asd')
v = []
v[100] #超出索引范围
except ValueError as e: #判断是不是这种错误
pass
except IndexError as e:
pass
except Exception as e:
print(e) #e是Exception类的对象,对象中有一个错误信息
finally:
print('无论对错都会执行的代码') #主动触发异常
try:
int('')
raise Exception('') #主动抛出异常
except Exception as e:
print(e) #输出111 #自定义异常
class MyException(Exception): #继承Excetion
pass
try:
raise MyException();
except MyException as e:
print(e)

  4.项目的目录结构

    简单的脚本:在引入模块时,默认名字短的在上

    单可执行文件:if __name__ = '__main__':

             start()

    多可执行文件:bin(执行文件)  conf(配置settings)  src(业务逻辑)  db(数据文件)  lib(扩展模块)  log(日志文件)

  5.报错记录

    StopIteration:迭代完毕无可迭代对象后报错

    KeyError:查询的键不在字典中报错

    SyntaxError:语句错误(变量名错误、结构错误)

    TypeError:类型错误

python其他的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  10. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

随机推荐

  1. jmeter diff测试(调用JAR包处理)

    1.准备接口数据(对比字段,即json数据中需要提取的key对应的值进行对比) 2.配置获取EXCEL数据 3.新建线程,并建两个http请求,分别用于请求新旧接口 4.提取需要对比的内容 5.赋值变 ...

  2. IIS+PHP访问量大时内存爆满等性能问题解决方案

    如今还是有许多人在用老掉牙的 IIS6 + PHP.本文解决方法适用于使用 FastCGI 运行 PHP 的用户. 问题原因: 你可以试一试,你在 VPS 上用 IIS6 安装 FastCGI 跑 P ...

  3. VUE注意事项(建项目)

    1>删除空格影响的:删除掉框中的代码 2>不需要新建,直接打开APP.vue,在此文件上进行修改,(注意:index.html最好不要进行修改) 3>修改APP.vue为自己需要的页 ...

  4. [转]SqlServer索引的原理与应用

    索引的概念 索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法. 索引是什么:数据库中的索引类似于一本书的目录,在一本书中使用目录 ...

  5. Mybatis中的复合条件查询

    1.Map中根据字段名存儲: 定义接口:List<Student> selectByCondition1(Map<String,Object> map); 映射文件: < ...

  6. https握手失败案例(一)

      OkHttpClient okHttpClient = new OkHttpClient.Builder() .connectTimeout(15, TimeUnit.SECONDS) .read ...

  7. 【Web应用-迁移】迁移 Web 应用到新的应用服务计划的相关限制和说明

    现象描述 当前 Web 应用所在的应用服务计划和目标应用服务计划属于同一个资源组,但是通过 Portal 点击 “更改应用服务计划”,依旧看不到目标应用服务计划. 问题分析 导致上述问题的原因是,用户 ...

  8. Android学习总结(三)——IntentService的用法

    一.IntentService的基本概念 IntentService是继承于Service并处理异步请求的一个类,在IntentService内有一个工作线程来处理耗时操作,启动IntentServi ...

  9. 并查集+思维——X-Plosives

    一.问题描述(题目链接) 有n种化合物,每种化合物由两种元素组成.当几种的化合物数量等于他们所含不同元素的数量时,就会发生爆炸.现在依次给出化合物的组成,当新的化合物与之前的化合物放在一起会发生爆炸时 ...

  10. caffe修改需要的东西 6:40

    https://blog.csdn.net/zhaishengfu/article/details/51971768?locationNum=3&fps=1