自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 关于python中__init__()和__new__()的区别

1.__new__至少要有一个参数cls,代表要实例化的类,此参数在实例化时由Python解释器自动提供2.__new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以return父类__new__出来的实例,或者直接是object的__new__出来的实例3.__init__有一个参数self,就是这个__new__返回的实例,__init__在__new_

2018-01-18 22:28:35 325

转载 关于python的__new__()方法

__new__()方法只能用于从object继承来的新式类。object将__new__()方法定义为静态类,并且至少需要传递一个参数,cls表示需要实例化的类,此参数在实例化时由python解释器自动提供。重写__new__如果(新式)类中没有重写new方法,python会默认调用该类的直接父类的new方法来构造该类的实例,如果该类的父类也没有重写new方法,那么将一直按照此规则一直追溯到obj

2018-01-18 15:54:51 811

原创 关于Python的__init__()方法

1.在创建对象的时候,顺便设置对象的属性使用方法:class 类名: def __init__(self): pass注意在对象创建后,默认立刻自动调用__init__()方法,1.__init__()方法在创建一个对象时,默认被调用,不需要手动调用2.__init__(self)方法中,默认有一个参数self,如果在创建对象时传递了两个实参,则__init__(self)方法中self作为第一

2018-01-18 15:17:39 1661

原创 tcp/udp区别和优缺点、长连接/短连接区别和优缺点

tcp/udp在模型的传输层自下而上网络接口层、网际层(ip/ARP/icmp/igmp/rarp)、传输层(tcp/udp)、应用层      物理层/数据链路层、网络层、传输层、会话层/表示层/应用层udp:面向无连接的通信协议,数据包括目的端口信息和源端口信息优点:面向无连接,操作简单,要求系统资源较少,速度快,由于不需要连接,可进行广播发送缺点:发送数据之前不需要与对方建立连接,接收到数据

2018-01-17 22:40:01 14216

原创 服务端下载器

import socketdef read_file_data(file_name):    try:        f = open(file_name, 'rb')    except Exception as e:        print('文件不存在')    else:        file_data = f.read()        return file_namedef mai

2018-01-17 20:48:45 247

原创 udp绑定端口

# coding:utf-8import socket udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)udp_socket.bind(('',7788))send_data = input('请输入发送的信息:')udp_socket.sendto(send_data.encode(), ('',8080))recv_da

2018-01-17 20:47:06 3002

原创 客户端下载器

import socketimport osdef main():    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)        # send_ip = input('请输入目的ip:')        # send_port = int(input('请输入目的端口:'))        file_name

2018-01-17 20:45:55 284

原创 数据库常用基本操作

启动数据库sudo service mysql start停止数据库sudo service mysql stop重启数据库sudo service mysql restart查看所有数据库show databases;创建一个数据库create database 数据库名 charset=utf8;查看数据库的创建语句show create datab

2018-01-05 23:57:23 1578

原创 【Python】进程线程协程对比

简单总结进程是资源分配的单位线程是操作系统调度的单位进程切换需要的资源很最大,效率很低线程切换需要的资源一般,效率一般协程切换任务资源很小,效率高多进程、多线程根据cpu核数不一样可能是并行的 也可能是并发的。协程的本质就是使用当前进程在不同的函数代码中切换执行,可以理解为并行。 协程是一个用户层面的概念,不同协程的模型实现可能是单线程 也可能是多线程。

2017-12-25 20:45:57 1311

原创 【Python】协程

协程协程,又称微线程,纤程。英文名Coroutine。协程是啥协程是python个中另外一种实现多任务的方式,只不过比线程更小占用更小执行单元(理解为需要的资源)。 为啥说它是一个执行单元,因为它自带CPU上下文。这样只要在合适的时机, 我们可以把一个协程 切换到另一个协程。 只要这个过程中保存或恢复 CPU上下文那么程序还是可以运行的。通俗的理解:在一个线程中的某个函数,可以在任

2017-12-25 20:44:34 287

原创 【Python】迭代器

迭代器迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。1. 可迭代对象我们已经知道可以对list、tuple、str等类型的数据使用for...in...的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。但是,是否所有的数据类型都可以放到fo

2017-12-25 20:43:50 658

原创 【Python】进程池

进程池Pool当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进

2017-12-25 20:41:45 1908

原创 【Python】进程间通信

进程间通信-QueueProcess之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。1. Queue的使用可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理:#coding=utf-8from multiprocessing import Queueq=Q

2017-12-25 20:40:03 855

原创 【Python】进程和线程对比

进程、线程对比功能进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ线程,能够完成多任务,比如 一个QQ中的多个聊天窗口定义的不同进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存

2017-12-25 20:37:58 267

原创 【Python】多进程

进程以及状态1. 进程程序:例如xxx.py这是程序,是一个静态的进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元。2. 进程的状态工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态就绪态:运行的条件都已经慢去,正在等在cpu执行执行态:cpu正在执行其功能

2017-12-25 20:28:36 483

原创 【Python】多任务udp聊天

案例:多任务版udp聊天器说明编写一个有2个线程的程序线程1用来接收数据然后显示线程2用来检测键盘数据然后通过udp发送数据要求实现上述要求总结多任务程序的特点参考代码:import socketimport threadingdef send_msg(udp_socket): """获取键盘数据,并将其发送给对方"""

2017-12-15 15:33:00 1131

原创 【Python】互斥锁

互斥锁当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制线程同步能够保证多个线程安全访问竞争资源,最简单的同步机制是引入互斥锁。互斥锁为资源引入一个状态:锁定/非锁定某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放资源,将资源的状态变成“非锁定”,其他的线程才能再次锁定该资源。互斥锁保证了每次只有一个线程进行写入操作,从而保

2017-12-15 15:29:58 261

原创 【python】多线程共享全局变量问题

多线程-共享全局变量问题多线程开发可能遇到的问题假设两个线程t1和t2都要对全局变量g_num(默认是0)进行加1运算,t1和t2都各对g_num加10次,g_num的最终的结果应该为20。但是由于是多线程同时操作,有可能出现下面情况:在g_num=0时,t1取得g_num=0。此时系统把t1调度为”sleeping”状态,把t2转换为”running”状态,t2也获得g_nu

2017-12-15 15:28:34 529

原创 【Python】线程

线程0. 线程是什么线程就是一个进程内部的一条代码执行流程(线程),我们以前写的几乎所有代码都是在这个默认的线程上执行的。如果想要完成多任务 ---- 进程内部开启多个执行流程 完美!!!!1. 使用threading模块python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用单线程

2017-12-15 15:27:00 263

原创 【Python】tcp文件下载器

客户端import socketimport osdef main():    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)        # send_ip = input('请输入目的ip:')        # send_port = int(input('请输入目的

2017-12-15 15:14:55 639

原创 【python】tcp网络程序-客户端/服务端

tcp客户端所谓的服务器端:就是提供服务的一方,而客户端,就是需要被服务的一方tcp客户端构建流程比如一个人想打10086求助人工服务。 tcp的客户端要比服务器端简单很多,客户端只需要找一个电话亭,拿起电话拨打即可,流程要少很多示例代码:from socket import *# 创建sockettcp_client_socket = socket(AF_INET, S

2017-12-15 14:34:39 316

原创 【Python】udp聊天器

udp聊天器说明在一个电脑中编写1个程序,有2个功能1.获取键盘数据,并将其发送给对方2.接收数据并显示并且功能数据进行选择以上的2个功能调用要求实现上述程序参考代码import socketdef send_msg(udp_socket): """获取键盘数据,并将其发送给对方""" # 1. 从键盘输入数据 msg

2017-12-15 14:30:42 1405

原创 【Python】udp网络程序-发送、接受数据

udp网络程序-发送、接收数据1. udp网络程序-发送数据创建一个基于udp的网络程序流程很简单,具体步骤如下:创建客户端套接字发送/接收数据关闭套接字与发短信类似。代码如下:#coding=utf-8from socket import *# 1. 创建udp套接字udp_socket = socket(AF_INET, SOCK_DGRAM)#

2017-12-15 14:28:22 4661

原创 socket简介

socket简介1. socket的作用所谓进程指的是:运行的程序以及运行时用到的资源这个整体称之为进程(在讲解多任务编程时进行详细讲解)所谓进程间通信指的是:运行的程序之间的实现数据共享和传递socket(简称 套接字) 是最通用的进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 S

2017-12-11 22:36:34 3849

原创 端口

端口1. 什么是端口端口就好一个房子的门,是出入这间房子的必经之路。如果一个程序需要收发网络数据,那么就需要有这样的端口在linux系统中,端口可以有65536(2的16次方)个之多!既然有这么多,操作系统为了统一管理,所以进行了编号,这就是端口号2. 端口号端口是通过端口号来标记的,端口号只有整数,范围是从0到65535注意:端口数不一样的*nix系统不一

2017-12-11 22:30:11 326

原创 网络通信概述

网络通信概述1. 什么是网络说明网络就是一种辅助双方或者多方能够连接在一起的工具如果没有网络可想单机的世界是多么的孤单单机游戏(不能和远在他乡的朋友一起玩)2. 使用网络的目的就是为了联通多方然后进行通信用的,即把数据从一方传递给另外一方前面的学习编写的程序都是单机的,即不能和其他电脑上的程序进行通信为了让在不同的电脑上运行的软件,之间能够互相传递数据,就需

2017-12-11 22:26:06 177

原创 Linux常用基础命令

Linux常用基础命令1 命令解析器shell就是命令解释器命令解析器的作用:对用户输入到终端的命令进行解析,调用对应的执行程序。 用户在终端输入命令, 由shell命令解释器对命令进行解析(按照$PATH环境变量搜索命令),解析成内核能够识别的指令, 最后由内核执行命令, 最后由终端显示命令执行的结果给用户.注意:shell在寻找命令的时候是按照$PATH

2017-12-11 09:49:58 259

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除