python
文章平均质量分 69
gaoyishu91
有坚忍不拔之志
展开
-
module 模块 和 包
模块(module)模块(module) 的标准定义: if you want to write a somewhat longer program, you are better off using a text editor to prepare the input for the interpreter and running it with that file as input inste...原创 2018-04-16 17:49:12 · 304 阅读 · 0 评论 -
面向对象编程(复习用)
三大编程范式:面向过程编程,面向对象编程,函数式编程。类:把一类事物的相同特征和动作整合到一起就是类。抽象概念。对象:就是基于类而创建的一个具体事物。实例化:由类生产对象的过程就是实例化。比如,类定义了一些特征和动作,那么98K是type 狙击枪,feature杀伤力大,装八倍镜,m24也具有这些特征,除了name不同。就可以将栓狙的共性结合在一起,特征也结合在一起。把他们全部包起来装好。所以,面...原创 2018-04-19 12:49:31 · 191 阅读 · 0 评论 -
学习笔记--进程和线程
进程本质上是一段程序的运行过程(抽象的概念)定义:就是一个程序在数据集上的一次动态执行过程。由:程序,数据集和进程控制块组成。程序计数器来保存状态。单个cpu是并发,不是并行,进程之间是来回切换;如果有多个cpu,会有并行,一个cpu跑一个程序;如果2个cpu跑四个程序,肯定是一个cpu跑一个,剩下2个是时间片切换。线程两个进程占两个独立的内存空间,彼此相互独立;线程的出现是为了降低上下文的消耗,...原创 2018-05-01 16:06:34 · 117 阅读 · 0 评论 -
网络通信原理
网络协议1.互联网的本质就是一系列的网络协议。2.互联网协议按照功能不同分为osi七层:应,表,会,传,网,数,物。五层:应,传,网,数,物。层的作用1.物理层:基于电器特性发送高低电压,高压对应数字1,低压对应数字0.2.数据链路层:以太网协议 (网卡)规定:一组电信号构成一个数据包,叫做 帧。每一个数据帧分成:头head和数据data两个部分head是18个字节 发送者6,接收者6,数据类型6...原创 2018-04-24 10:42:03 · 2135 阅读 · 0 评论 -
并发并行同步异步---学习于yuanchengqi老师
并发和并行并发:系统具有处理多个任务的能力。并行:系统具有同时处理多个任务的能力。并行是并发的一个子集。同步与异步同步:当进程执行到io操作(等待外部数据)时-----等:同步异步:不等,去执行其他,一直等到数据接收成功才回来处理。处理效率高。GIL:全局解释锁现在你的cpu是4核,有进程1,2,1中有子线程1.1,1.2,2中有2.1.2.2子线程。进程线程1线程2线程3进程11.11.21.3...原创 2018-05-01 21:05:25 · 447 阅读 · 0 评论 -
socket
一:客户端/服务器架构即sc架构1.硬件c/s架构 2.软件c/s架构二:计算机网络架构 (在上一篇博客中有)https://blog.csdn.net/gaoyishu91/article/details/80059455三:socket为什么有socket,因为在应用层中软件产生的数据,必须打包好,通过tcp传输给网络层,那么数据打包必须遵循tcp格式才行。socket可以给一个工具去简单的...原创 2018-04-24 16:11:55 · 116 阅读 · 0 评论 -
多态,继承,封装
多态:对象如何通过他们共同的属性和动作来操作和访问,而不用考虑他们的类,反应在执行时候。python中一切皆对象,不同的对象调用相同的方法,获得结果。比如len可以计算列表长度,字符串长度。len(str1)-----> str1.__len__()len(list)----->list.__len__()所以,都是调用对象的方法,是面向对象。那么,他们调用的都是相同的属性,没考虑他们...原创 2018-04-21 11:13:46 · 102 阅读 · 0 评论 -
多进程模块
引子因为gil锁,就算python用了threading.Thread进行并发编程,一个cpu还是只能有一个线程同时执行。如何利用多个cpu呢,只有多进程了,每个进程中一个线程运行。多进程进程和线程的接口差不多,所以多进程的实现方式和多线程的实现方式也差不多。调用方式一:from multiprocessing import Processimport timedef f(name): ...原创 2018-05-03 18:09:55 · 193 阅读 · 0 评论 -
pandas基本操作
#查看dataframe的数据,一般是看哪一个column有空数据,有多少空数据,是否应该drop该列df.info()原创 2018-05-18 19:34:15 · 165 阅读 · 0 评论 -
PEP8编码规范
转载自豆瓣:PEP8 Python 编码规范一 代码编排1 缩进。4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格。2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车。3 类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行。二 文档编排1 模块内容的顺序:模块...转载 2018-04-28 10:33:48 · 123 阅读 · 0 评论 -
字符串处理和循环控制
# -*- coding: utf-8 -*-import strings = 'abc's[0] = 'x' #string不支持元素操作#去除空格s = ' abcd efg'print(s.strip()) #去掉所有空格,返回的是新的字符串,因为字符串不能修改print(s.lstrip()) #去掉左边空格print(s.rstrip()) #去掉右边空格pr...原创 2018-04-28 10:57:01 · 440 阅读 · 0 评论 -
浅拷贝和深拷贝
引子:今天做题目时,碰到个东西感觉有意思:有一个pandas dataframe格式的数据,第一列是id号,需要去掉;但是去掉之前你不知道之后要不要用它,所以先保存一下:ID = df['ID']之前,老师讲过,像这样保存内存地址必须先给一个变量名,要不然会被内存清除。比如:def Foo(): print("Good")Foo #这个是看函数的内存地址Foo() #运行之后就被...原创 2018-04-28 21:18:53 · 485 阅读 · 0 评论 -
configparser的使用去操作配置文件
import configparser #写配置文件config = configparser.ConfigParser() #有了一个空字典 config = {}config["DEFAULT"] = {"yishu":"27"} #defalut操作和字典一样,给键值对config["bitcome"] = {} #如果想创建新的配置类型,你要给它名字,先创建一个新的...原创 2018-04-18 17:09:38 · 1450 阅读 · 0 评论 -
反射等一系列内置函数
hasattr(obj,"name")getattr(obj,"name",default = xx)setattr(obj,"name", '')delattr(obj,'name')在文件中用反射def sa_hi(): print('Nihao a')isinstance(obj,cls) #判断一个对象是否是一个类的对象,也可以判断是否是父类的,反应族谱关...原创 2018-04-22 16:35:34 · 154 阅读 · 0 评论 -
python相关知识点整理一(自己复习用)
List操作注意事项list = [1,'str',{'name':'yishu'}]for i list: print(i)list.append() 在后面添加list.clear() 清除list.count() 计算个数list.index('str') = 1 获取str的索引位置list.insert(0,99) 在0位置插入99,后面向后移位v = list.po...原创 2018-04-16 21:55:12 · 163 阅读 · 0 评论 -
python相关知识点整理二(自己复习用)
字典骚操作l = [11,22,33,44,55,66,77,88,99,90]result = {}for item in l: if item < 66: #阅读到11时,小于66 if "k1" not in result: #判断键值在不在字典中,不在 result['k1'] = [item, ] #创建一个键值'...原创 2018-04-16 22:54:12 · 184 阅读 · 0 评论 -
python相关知识点整理三(自己复习用)
生成器,装饰器,迭代器什么叫递归?什么叫迭代?迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值迭代器协议对象必须提供一个next方法,执行该方法有2个结果,要么返回迭代中的下一项;要么引起一个StuopIteration异常,以终止迭代。(只能往后走不能往前退)可迭代对象实现了迭代器协议的对象。(内部有__iter__方法)for循环本质是循环所有对象,全部使用迭...原创 2018-04-16 23:00:55 · 153 阅读 · 0 评论 -
python相关知识点整理四(自己复习用)
filter, map, reduce几句话就能讲明白filter(function, iterable) 作用的是可迭代对象,list / tuple / dict / set / strlists = ['11班01','11班02','12班02','13班02'] #可迭代对象f = filter(lambda x: x.startswith('11班'),lists) #遍历li...原创 2018-04-16 23:44:25 · 126 阅读 · 0 评论 -
基本的模块介绍
time模块 根据目的不同,转换时间的显示形式import datetimeprint(datetime.datetime.now()) #2018-04-18 09:08:28.282755#时间戳 是一个秒数,计算print(time.time()) #float表达式#结构化时间 当地时间t = time.localtime() #拿到时间对象print(t.tm_year)...原创 2018-04-17 10:13:55 · 182 阅读 · 0 评论 -
XML模块
json和pickle跳过,直接xml。先看xml的数据类型:<?xml version="1.0" encoding="UTF-8"?><note> #标签 <to>Tove</to> #闭合标签 还有自闭合标签 <from>Jani</from> <heading原创 2018-04-17 17:05:55 · 209 阅读 · 0 评论 -
装饰器
装饰器的作用在于,如果你想重复写一些修饰性的代码在不同的主代码中,为了避免重复性的写入这些代码,可以用装饰器。把函数包装起来。def using_logging(func): def wrapper(): print("good,using this first") func() #这里是执行func的命令 print("good,usi...原创 2018-04-11 22:24:35 · 81 阅读 · 0 评论 -
正则表达式
正则表达式可以用于模糊匹配,找东西。import rere.findall("yishu","gasghether")十几个元字符,六个匹配. 通配符 可以代替任意一个字符,除了/nr = re.findall("y..u","gasyghuether")print(r)^ 以什么开头r =re.findall("g..y","gasyghuyther")print(r)原创 2018-04-17 21:34:45 · 161 阅读 · 0 评论 -
getattr,setattr,defattr,__getattr__,__setattr__,__delattr__,反射,继承,派生
#程序可以访问检测修改它本身状态的能力。# 四个函数 参数均是 前面func名称,后面是字符串# hasattr() object,name 判断object中有没有一个name字符串对应的方法或者属性# getattr() 获得func的属性字典(__dict__)中key对应的值,数据属性就是值,函数属性就是地址。= func.name# setattr() 设置,和改字典一样。...原创 2018-04-21 23:22:50 · 162 阅读 · 0 评论 -
授权
import timeclass Open: def __init__(self,filename,mode = 'r', encoding = 'utf-8'): self.file = open(filename,mode,encoding=encoding) #得到一个文件句柄 self.mode = mode self.encod...原创 2018-04-22 00:08:31 · 155 阅读 · 0 评论 -
logging模块
import logginglogging.basicConfig( level=logging.DEBUG, #从哪个级别开始 DEBUG级别最小,所以排他上面的全部打印 filename="logger.log", #默认显示在屏幕(stream),可以输入到这个文件中 filemode = "w", #默认是追加写在log中,w设定成清楚原数据写人新数据 ...原创 2018-04-18 15:04:37 · 91 阅读 · 0 评论 -
从sql数据库中提取table并转换成numpy格式数据输出
import MySQLdbimport numpy as np#get data from sql databasesclass database(): def __init__(self): self.conn = MySQLdb.connect( host='127.0.0.1', user='root', ...原创 2018-07-11 11:32:19 · 1374 阅读 · 0 评论