- 博客(11)
- 收藏
- 关注
原创 迭代器的优势
在平时工作中,习惯于把一个或多个数据存储到一个变量中,然后在需要的时候使用for函数取出来使用。这样做会使计算机内存被严重消耗,那么可以使用只存储采集数据方法的类,在需要用到数据的时候调用这个采集数据方法,把数据采集到里面,然后使用的时候通过迭代的方法取数。 如果想使一个类的实例具有可迭代性,那么必须在里面定义私有方法:__inter__(self),并且有返回值,这个返回值会指向迭代器,即还要创建一个迭代器。创建迭代器的方法是,创建一个私有方法:__next__(self).这个迭代器是...
2021-09-16 11:45:32 462
原创 迭代判断及及迭代器
在Python3版本中,判断一个对象是不是可迭代(即是不是可以用for循环取数据),使用collections这个包终端isinstance来判断。1、判断是否可迭代:
2021-09-16 11:10:58 599
原创 定义类属性和类方法、静态方法
一、类的属性除了实例属性(__init__(self,)中定义的属性),还有类属性。类属性的定义不在初始化方法中进行,在初始化方法外面进行定义。类属性可以在主题函数中直接用类名+‘.’的方式直接调用,不需要先实例再用实例+‘.’的方法进行调用。二、方法中的静态方法和类方法1、静态方法 这个方法和类的其他方法最明显的区别在于定义的方法小括号内是空,既不用写self也不用写cls。不过静态方法的定义需要在该方法的上一行写个声明,即为@staticmethod2、类方法 顾名思义...
2021-09-07 18:23:03 894
原创 一个类的属性调用另一个类的实例
先定义一个类,然后初始化它的属性。比如士兵发射子弹,先定义一个士兵类,然后初始化两个属性,士兵的姓名和士兵手中的枪。 由于一开始不知道士兵会使用什么枪作战,所以士兵使用的枪初始化属性可以先被定义为None。 从上面的描述可知,枪是被调用的对象,所以先创建一个'枪'对象: 1.初始化枪类的属性,包括名称,子弹数目 2.创建一个添加子弹的方法和发射子弹的方法 创建一个士兵类,属性:名称、枪;方法:开火。由于一开始枪属性内容未知,可以先使它的值为None。然后在fire()...
2021-09-06 16:27:28 404
原创 一个类调的方法用另一个类的实例
在编写一个复杂类的时候,一个主要的大类的方法可以调用一个或多个小类的实例。类的实例就是一个变量,指向一个内存地址。一个类的方法调用另一个类的实例,即将一个类的实例当做形参传入,里面的内容指向这个实例所有的属性。下面这个是家具的类下面这个是房子这个类,里面有个方法add_iterm(self,ite)是添加家具,使用房子类的实例houseq来调用方法,然后将家具类的实例bed当做形参传入。在编写类的时候,初始化内容包含所有实例化时需要传入的参数,对于不需要外界传入的参数可以先将参...
2021-09-06 15:37:02 520
原创 类中__init__/__str__/__del__的解释
1、__init__:表示类的初始化,所有涉及到初始化的语句都在这段代码下面,实例化一个类就会主动调用这个私有方法。2、__str__(self):这个是类的一个私有方法,表示只要实例化一个类,使用print函数就会输出的内容3、__del__(self):表示实例化一个类结束时会调用的私有方法,和__init__初始化方法相对应,这个是结束时调用的方法。...
2021-09-06 15:20:40 376
原创 使用套接字发送和接收信息
一.发送信息步骤:1.创建套接字;2.发送信息;3.关闭套接字import socketdef main(): #创建一个套接字 udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #从键盘获取数据 send_data = input("请输入要发送的数据:") #使用套接字发送数据 udp_socket.sendto(send_data.encode("utf-8"),("19...
2021-08-28 17:16:06 1089
原创 实现虚拟机中乌班图和本机Windows实现正常通信的方法-桥接
首先在乌班图中设置桥接:虚拟机->设置->网络设置城桥接然后再使用clear,再使用ipconfig如果上述方法不行,可使用代码实现:suduodhclient然后输入密码
2021-08-27 18:52:18 286
原创 网络通信初学
一.查看本机IP地址及开关网卡:Linux命令:ifconfig关闭网卡1:sudo ifconfig ens40 down开启网卡1:sudo ifconfig ens40 upWindows命令:ipconfig二.IP版本IP V4和IP V6
2021-08-26 20:58:03 161
原创 写继承类的代码时调用父类初始化出现RuntimeError: super(): no arguments错误
在写一个继承类的时候,由于忘记定义初始化,而直接使用super()来调用父类初始化方法会出现报错:RuntimeError: super(): no arguments正确写代码的方法是:
2021-08-24 21:44:25 3150
原创 使用pygame.time.set_timer()报错pygame.error: pygame is not initialized
检查很多遍代码,没有发现代码错误和书写错误:最后报错pygame.error: pygame is not initialized代码没问题,那就很可能是软件少了一些插件,检查已安装第三方库发现少了pygame_ai这个包:然后下载pygame_ai:下载完成后,等软件更新完成,再执行代码就正常了:...
2021-08-24 09:05:35 504
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人