在python编码中for循环处理任务时,会将所有的待遍历参量加载到内存中。 其实这本没有必要,因为这些参量很有可能是一次性使用的,甚至很多场景下这些参量是不需要同时存储在内存中的,这时候就会用到本文所介绍的迭代生成器yield。 1.基本使用 首先我们用一个例子来演示一下迭代生成器yield的基本使用方法,这个例子的作用是构造一个函数用于生成一个平方数组02,12,22...。 在普通的场景中我们一般会直接构造一个空的列表,然后将每一个计算结果填充到列表中,最后return列表即可,对应的是这里的函数square_number。 而另外一个函数square_number_yield则是为了演...

  49iChyeZd8DE   8天前   22   0   0 Python

一、Python现成的反转功能: 在Python中有专门进行列表反转的函数--reverse() l=[13,30,42,85,9,45] l.reverse()[45,9,85,42,30,13] 还可以使用切片操作进行列表反转 l=[13,30,42,85,9,45] print(l[::-1])[45,9,85,42,30,13] 关于字符串的反转,并没有确切的函数对字符串进行反转,但是字符串也可以使用切片进行反转 s="hello" print(s[::-1])olleh 以上对列表和字符串的反转,都是现成的,使用起来很方便;但是我们也可以自己为列表和字符串手写一个反转函数(仅供...

  49iChyeZd8DE   13天前   16   0   0 Python

pathlib模块提供了表示文件系统路径的类,可适用于不同的操作系统。 使用pathlib模块,相比于os模块可以写出更简洁,易读的代码。pathlib模块中的Path类继承自PurePath,对PurePath中的部分方法进行了重载,相比于os.path有更高的抽象级别。 本文将带你学习如何使用pathlib模块中的Path类读写文件、操纵文件路径和基础文件系统,统计目录下的文件类型以及查找匹配目录下某一类型文件等。 下面就开始进入我们的学习时刻。 1.获取目录 Path.cwd(),返回文件当前所在目录。 Path.home(),返回用户的主目录。 应用示例: frompathlibi...

  49iChyeZd8DE   19天前   25   0   0 Python

paramiko是一个用Python语言编写的、遵循SSH2协议、支持以加密和认证方式进行连接远程服务器的模块。改模块可以对远程服务器进行一些命令或文件操作。 1.安装 使用pip3安装paramiko模块 pip3installparamiko 连接远程服务器 paramiko模块连接远程服务器可以使用远程服务器的用户名、密码登录 importparamiko 创建一个SSHClient对象 ssh=paramiko.SSHClient() 将信任的主机加到host_allow列表 ssh.set_missing_host_key_policy(paramiko.AutoAddPolic...

  49iChyeZd8DE   23天前   18   0   0 Python

一、协程和线程的比较及其适用场景 1共用变量问题 多线程中可能出现多个线程争抢变量,所以变量需要加锁;协程中任一时刻都只有一个线程,所以变量不需要加锁。 但是协程虽然不像多线程争抢变量但仍是和多线程一样共用变量的,即共用变量在某处改变在另外一处引用时也会发生改变。 2协程的适用场景 从资源角度说,协程只有一个线程只能使用一个cpu核,所以它适合用于IO密集(包括磁盘IO和网络IO)函数,并不适用于计算密集函数。 从事情重复性说,协程类似多线程,适用于被反复调用的函数(for或while),也可用于做不同事情的多个函数。 3协程的切换 线程是由操作系统来控制切换的,并不需要我们自己来调度;但协程...

  49iChyeZd8DE   27天前   21   0   0 Python

一.map函数 需求1:num1=[1,2,3,4],我的需求是把num1中的每个元素平方后组成新列表。 ret=[] num1=[1,2,3,4] foriinnum1: ret.append(i2) print(ret) 输出结果: >>>[1,4,9,16] 需求2:如果有1万个列表呢,怎么办? 思路:如果用for循环,当然功能上是没问题的,但是需要写很多重复代码,重复代码??顿时想到函数的特性就是避免重复代码,哈哈哈,天才也.... num1=[1,2,3,4] deffoo(array): ret=[] foriinarray: ret.append(i2) ...

  49iChyeZd8DE   2024年04月02日   32   0   0 Python

一.map函数 需求1:num1=[1,2,3,4],我的需求是把num1中的每个元素平方后组成新列表。 ret=[] num1=[1,2,3,4] foriinnum1: ret.append(i2) print(ret) 输出结果: >>>[1,4,9,16] 需求2:如果有1万个列表呢,怎么办? 思路:如果用for循环,当然功能上是没问题的,但是需要写很多重复代码,重复代码??顿时想到函数的特性就是避免重复代码,哈哈哈,天才也.... num1=[1,2,3,4] deffoo(array): ret=[] foriinarray: ret.append(i2) ...

  49iChyeZd8DE   2024年03月27日   19   0   0 Python

一、网络基础 网络由下往上分为:物理层、数据链路层、网络怪、传输层、会话层、表示层和应用层。 TCP/IP协议是传输层协议,主要解决数据如何在网络中传输;socket则是对TCP/IP协议的封装,它本身不是协议,而是一个调用接口; HTTP、FTP是应用协议,主要解决如何包装数据; TCP连接的三次握手: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端...

  49iChyeZd8DE   2024年03月19日   57   0   0 Python

使用threading.Event对象关闭子线程 Event机制工作原理: Event是线程间通信的一种方式。其作用相当于1个全局flag,主线程通过控制event对象状态,来协调子线程步调。 使用方式 主线程创建event对象,并将其做为参数传给子线程 主线程可以用set()方法将event对象置为true,用clear()方法将其置为false。 子线程循环体内,检查event对象的值,如果为True,则退出循环。 子线程,可使用event.wait()将阻塞当前子进程,直至event对象被置为true. event类的常用方法 set()设置True clear()设置False,...

  49iChyeZd8DE   2024年03月13日   38   0   0 Python

1.Python如何递归删除空文件夹,这个问题很常见。但大多数人的解决办法都是自己实现递归函数解决这个问题,其实根本不用那么麻烦。 Python中的os.walk提供了一种从内到外的遍历目录树的方法(设置topdown=False),这样由内到外判断当前目录树下是否有文件和文件夹,如果都没有则意味着当前目录树为空文件夹,os.rmdir删除即可。 eg. importos forroot,dirs,filesinos.walk(path,topdown=False): ifnotfilesandnotdirs: os.rmdir(root) 2.如果在遍历文件夹同时,先做了一些操作,比如删...

  49iChyeZd8DE   2024年02月29日   37   0   0 Python

1、定义一个类 classMyObj: def__init__(self,name,age): self.name=name self.age=age defmyFunc(self): pass mo=MyObj('Boby',24) print(mo) print(mo.__dict__) 结果 <__main__.MyObjobjectat0x000000815C364518> {'name':'Boby','age':24} 从以上代码来看;直接使用mo.__dict__即可获取该实例的属性值; 2、还可以设置属性 还是上面的类; mo=MyObj('Boby',...

  49iChyeZd8DE   2024年01月18日   13   0   0 Python

回调函数在各种编程函数中都是比较常见的,回调函数的出现主要是为了降低函数之间调用的耦合性,从而实现解耦。 简单来说,如果一个函数可以作为被传递就称这个函数为回调函数。 比如:func1(func2()),那么func2就是回调函数。此时,只需要知道func2这个函数的功能是什么,在执行func1时调用func2就可以,无须关心func2的实现过程是什么。 deffunc1(func2): func2() deffunc2(): print('我是func2函数') func1(func2) 如此,像上面这样执行就可以完成一个简单的回调函数的使用。 通过这样的使用还可以实现一些稍微复杂的回...

  49iChyeZd8DE   2024年01月13日   18   0   0 Python

在编程过程中合理的使用异常可以使得程序正常的执行。有直接抛出异常的形式,也能通过捕获异常加入异常时的业务逻辑处理。 创建自定义异常类案例 classMyException(Exception): def__init__(self,msg): ''' :parammsg:异常信息 ''' self.msg=msg 使用raise关键字抛出异常案例raise关键字抛出异常主要是为了在特定的条件。 defthrow_exception(num=0): ''' 测试异常抛出函数 :paramnum:数值 :return: ''' ifnum10: raiseMyException('num不能等于1...

  49iChyeZd8DE   2024年01月09日   12   0   0 Python

1.引入为什么需要TypeVar PEP484的作者希望借助typing模块引入类型提示,不改动语言的其它部分。通过精巧的元编程技术,让类支持[]运算不成问题。但是方括号内的T变量必须在某处定义,否则要大范围改动python解释器才能让泛型支持特殊的[]表示法。 鉴于此,我们增加了typing.TypeVar构造函数,把变量名称引入当前命名空间。 由于java,c和TypingScript等语言不要求实现声明类型变量的名称,因此没有与python的TypeVar类对应的结构。 2.示例 fromcollections.abcimportIterable fromtypingimportType...

  49iChyeZd8DE   2023年12月28日   16   0   0 Python

方法一: 使用struct模块,特点轻量化,简单易用。缺点就是可读性不是太好,使用小数据临时使用一下,对于大量的数据解析,写起来比较繁琐,显得有点力不从心。 importstruct data=b'\x92\xaa\xbb\xcc\x11\x22\x33\x44' a,b,c,d,e=struct.unpack(">BBBBI",data) print("a=0x%xb=0x%xc=0x%xd=0x%xe=0x%x"%(a,b,c,d,e)) packData=struct.pack(">BBBBI",a,b,c,d,e) print("packData:%s"%packData...

  49iChyeZd8DE   2023年12月22日   85   0   0 Python

X[:,0]  二维数组取第1维所有数据 X[:,1] 第2列 X[0,:] 第1行 X[3,:] 第三行 X[1:4,:] 第一二三行 总结一下: 无论是左边还是右边逗号都要靠近冒号: 如果冒号:的左边或者右边还有冒号,这时候就说明其中一个冒号代表的是范围(eg:1:5从1到4) 如果冒号:左边或者右边没有任何东西,那么这时候代表全体 [a:b]对a的改变是行的改变,对b的改变是队列的改变 出现一个新的问题:负数出现了应该怎么理解? X=[1,2,3,4,5,6,7,8,9,10] X[-3:0] X[:-3]Python学习交流群:711312441 结果: >>&gt...

  49iChyeZd8DE   2023年12月12日   112   0   0 Python

一、介绍 argparse模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后argparse将弄清如何从sys.argv解析出那些参数。argparse模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。 二、示例 importargparse parser=argparse.ArgumentParser(description='test') parser.add_argument('--sparse',action='store_true',default=False,help='GATwithsparseversionornot.') ''' ...

  49iChyeZd8DE   2023年12月08日   33   0   0 Python

下面是关于如何查看Python函数参数的攻略。具体步骤如下: 步骤1:查看函数文档 首先,我们可以查看函数的文档来了解其参数。 Python在函数内置文档中提供了对函数参数的详细描述。可以在交互式解释器中使用help()函数来查看函数文档,也可以使用__doc__属性来打印函数文档。 同样,我们也可以使用help()函数或__doc__属性来查看某个模块、类等其他可调用对象的文档。 下面是一个示例代码,使用help()函数和__doc__属性来查看sorted()函数的文档,并了解其参数信息: 使用help()函数查看函数文档 help(sorted) 使用__doc__属性打印函数文档 p...

  49iChyeZd8DE   2023年12月04日   27   0   0 Python

一、保留小数点后n位 方法一:使用字符串格式化注意:使用字符串格式化后的是字符串格式 a=12.3456 print("%.3f"%a)保留小数点后三位 print("%.2f"%a)保留小数点后两位 输出 12.346 12.35 方法二:使用round内置函数注意:使用round后的是浮点数格式 a=12.3456 a1=round(a,2)保留小数点后两位 a2=round(a,3)保留小数点后三位 print(a1) print(a2) 输出 12.35 12.346 二、Python之向上取整、向下取整以及四舍五入函数 ceil和floor都是在math库下面的 import...

  49iChyeZd8DE   2023年12月01日   48   0   0 Python
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~