前言Python生成器(generator)并不是一个晦涩难懂的概念。相比于MetaClass和Closure等概念,其较为容易理解和掌握。但相对于程序结构:顺序、循环和分支而言其又不是特别的直观。无论学习任何的东西,概念都是非常重要的。正确树立并掌握一些基础的概念是灵活和合理运用的前提,本文将以一种通俗易懂的方式介绍一下generator和yield表达式。1.Iterator与Iterable首先明白两点:Iterator(迭代器)是可迭代对象;可迭代
系统 2019-09-27 17:48:41 1900
Python是目前最流行的语言之一,它在数据科学、机器学习、web开发、脚本编写、自动化方面被许多人广泛使用。它的简单和易用性造就了它如此流行的原因。在本文中,我们将会介绍30个简短的代码片段,你可以在30秒或更短的时间里理解和学习这些代码片段。1.检查重复元素下面的方法可以检查给定列表中是否有重复的元素。它使用了set()属性,该属性将会从列表中删除重复的元素。defall_unique(lst):returnlen(lst)==len(set(lst)
系统 2019-09-27 17:48:34 1900
一数据结构和GIL1queue标准库queue模块,提供FIFO的queue、LIFO的队列,优先队列Queue类是线程安全的,适用于多线程间安全的交换数据,内部使用了Lock和Condition为什么说容器的大小不准确,其原因是如果不加锁,是不可能获取到准确的大小的,因为你刚读取了一个大小,还没取走,有可能被就被其他线程修改了,queue类的size虽然加了锁,但是依然不能保证立即get,put就能成功,因为读取大小和get,put方法是分来的。2GIL
系统 2019-09-27 17:48:10 1900
最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。1自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪2只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)一般来说注意这两点,构建包就不成问题。在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也
系统 2019-09-27 17:48:06 1900
测试题:0.Python是什么类型的语言?Python是一种脚本语言,写好了就可以直接运行Python是一种面向对象、解释型、动态类型计算机程序设计语言解释型:程序无需编译成二进制代码,而是在执行时对语句一条一条编译动态类型:在程序执行过程中,可以改变变量的类型它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起1.IDLE是什么?是python程序自带的简洁的集成开发环境2.print()的作用是什么?打印文本输出字
系统 2019-09-27 17:47:51 1900
我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图:str_list=str(['a','b','c'])forrowinstr_list:print(row)结果:Python字符串类型列表转换成真正列表类型那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码fro
系统 2019-09-27 17:47:49 1900
1.if语句Python中的if子句看起来十分熟悉.它由三部分组成:关键字本身,用于判断结果真假的条件表达式,以及当表达式为真或者非零时执行的代码块.if语句的语法如下:ifexpression:expr_true_suiteif语句的expr_true_suite代码块只有在条件表达式的结果的布尔值为真时才执行,否则将继续执行紧跟在该代码块后面的语句.(1)多重条件表达式单个if语句可以通过使用布尔操作符and,or和not实现多重判断条件或是否定判断条
系统 2019-09-27 17:47:35 1900
swapCase()方法返回所有可大小写,基于字符大小写交换字符串的一个副本。语法以下是swapCase()方法的语法:str.swapcase();参数NA返回值此方法返回其中所有基于大小写字符交换字符串的一个副本。例子下面的例子显示的swapCase()方法的使用。#!/usr/bin/pythonstr="thisisstringexample....wow!!!";printstr.swapcase();str="THISISSTRINGEXAMP
系统 2019-09-27 17:47:06 1900
importzipfileimporteasyguiasguifromthreadingimportThreaddefcrackPassword(zFile,password):try:zFile.extractall(pwd=password.encode("utf-8"))print("[+]crackpassword"+password)returnexcept(RuntimeError,zipfile.BadZipFile):print("密码:"
系统 2019-09-27 17:46:51 1900
预编译importrere1=re.compile(r'元字符组成的正则规则')#元字符下面会说re1.方法()#方法下边也会说元字符:表示普通字符:.#除了\n外都可以匹配的到\d#只匹配纯数字0-9\D#和\d相反,除了数字全都匹配\s#只匹配空格\S#和\s相反,除了空格,全都匹配#我喜欢用[\s\S]*?匹配所有\w#只匹配纯数字或大小写字母或下划线\W#与\w恰好相反,除了纯数字、大小写字母、下划线全都匹配[]#[abcde]只要包含这个列表的字
系统 2019-09-27 17:46:42 1900