11 2018 档案
摘要:# class Foo: # pass # # class Bar(Foo): # pass # # # obj=Bar() # # # print(isinstance(obj,Bar)) # # print(isinstance([],list)) # # print(issubclass(Bar,Foo)) # 反射:指的是通过字符串来操作属性 class Foo...
阅读全文
摘要:类中定义的函数有两大类(3小种)用途,一类是绑定方法,另外一类是非绑定方法1. 绑定方法:特点:绑定给谁就应该由谁来调用,谁来调用就会将谁当作第一个参数自动传入1.1 绑定给对象的:类中定义的函数默认就是绑定对象的1.2 绑定给类的:在类中定义的函数上加一个装饰器classmethod2. 非绑定方法特点: 既不与类绑定也不与对象绑定,意味着对象或者类都可以调用,但无论谁来调用都是一个普通函数,根...
阅读全文
摘要:成人的BMI数值:过轻:低于18.5正常:18.5-23.9过重:24-27肥胖:28-32非常肥胖, 高于32 体质指数(BMI)=体重(kg)÷身高^2(m) EX:70kg÷(1.75×1.75)=22.86 # property装饰器就是将一个函数属性伪装成一个数据属性 # class People: # def __init__(self,name,weight,heigh...
阅读全文
摘要:1 什么是封装 装就是将数据属性或者函数属性存放到一个名称空间里 封指的是隐藏,该隐藏是为了明确地区分内外,即该隐藏是对外不对内(在类外部无法直接访问隐藏的属性,而在类内部是可以访问)2 为何要封装 1. 封数据属性:??? 2. 封函数属性:???3 如何封装??? 在类内定义的属性前加__开头 # class People: # __country='C...
阅读全文
摘要:1 多态 多态指的是同一种事物的多种形态2 多态性: 可以在不用考虑对象具体类型的情况下而直接使用对象 优点: 归一化,简化对象的使用 # import abc # # class Animal(metaclass=abc.ABCMeta): # @abc.abstractmethod # def speak(self): # pa...
阅读全文
摘要:1、什么是组合 组合指的是一个对象拥有某一个属性,该属性的值是另外一个类的对象 obj=Foo() obj.attr1=Bar1() obj.attr2=Bar2() obj.attr3=Bar3()2、为何用组合 为了减少类与类之间代码冗余3、如何用 class OldboyPeople: school='Oldboy' def __ini...
阅读全文
摘要:在子类派生出的新方法中重用父类功能的方式二:只能在子类中用 python2:super(自己的类名,对象自己) python3:super() 调用super()会得到一个特殊的对象,该特殊的对象是专门用来引用父类中的属性的,完全参照mro列表 注意: 1、该方式与继承严格依赖于继承的mro列表 2
阅读全文
摘要:#coding:utf-8 # 多继承背景下属性查找的顺序:对象-》对象的类-》按照从左往右的顺序一个一个的分支找下去 # # #第四层 # class I: # # x='I' # pass # # #第三层 # # class E: # # x='E' # pass # # class F(I): # # x='F' # pass # #...
阅读全文
摘要:# 单继承背景下属性查找的顺序:对象-》对象的类-》父类-》。。。 # class Foo: # # x=333 # pass # # class Bar(Foo): # # x=222 # pass # # obj=Bar() # # obj.x=111 # print(obj.x) class Foo: def f1(self): ...
阅读全文
摘要:在子类派生出的新方法中重用父类功能的方式一: 指明道姓地访问某一个类的函数 注意: 1、该方式与继承是没有关系的 2、访问是某一个类的函数,没有自动传值的效果
阅读全文
摘要:继承解决的是类与类之间的代码冗余问题,一定是一个类是另外一个类的子类 继承关系的查找 总结对象之间的相似之处得到类,总结类与类之间的相似之处就得到了类们的父类 问题:如何在子类派生出的新方法中重用父类的功能
阅读全文
摘要:前言 本文只针对nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解过的。 Nginx能做什么 1、反向代理 2、负载均衡 3、HTTP服务器(包含动静分离) 4、正向代理 以上就是我了解到的nginx在不依赖
阅读全文
摘要:1、什么是继承 继承是一种新建类的方式,新建的类称之为子类,被继承的类称之为基类、父类、超类 继承描述的是一种‘遗传’的关系:子类可以重用父类的属性 在python中继承注意两点: 1、在python中支持一个子类同时继承多个父类 2、python中类分为两种: 新式类:但凡继承object的类,以
阅读全文
摘要:qq能登录但是网页打不开 重启网卡 cmd在C:\Windows\System32目录里 以管理员身份运行cmd,输入以下命令 netsh winsock reset 提示成功重置,winsock目录,重启计算机完成重置
阅读全文
摘要:装饰器是因为程序员追求dry(don't repeat yourself) 字面意思就是不要重复自己,强调的意思就是在进行编程时相同的代码不要重复写,最好只写一次,然后可以在其他地方直接引用。如此一来,可以提高代码重用率,缩减代码量,同时也有助于提高代码的可读性和可维护性,当需要作出更改是,只需要更
阅读全文
摘要:==判断两个对象值是否相等 is表示两个变量是否指向一块对象
阅读全文
摘要:把列表当堆栈使用,堆栈作为一个特定的数据结构,它的特点是后进先出,用append()方法可以把一个元素添加到堆栈顶,用不指定索引的pop()方法可以把一个元素从堆栈顶释放出来 把列表当队列使用,队列是先进先出 方法一 方法二
阅读全文
摘要:range和xrange用法相同,不同的是xrange不是生成一个序列,而是作为一个生成器,即生成一个取出一个 相对来说,xrange比range性能优化很多,因为不需要一下子开辟一块很大的内存,特别是数据量比较大的时候 注意: xrange和range这两个基本是使用在循环的时候 当需要输出一个列
阅读全文
摘要:打开网址http://www.netsarang.com/download/software.html 找到最新版的xshell,点击下载 在跳转的页面填写个人信息,许可证类型选择家庭和学校使用,除了邮箱其他都可以乱填,最后点击提交,下载地址会发送到你的邮箱 下载后之后一路点点点
阅读全文
摘要:step over 执行下一步 蓝色高亮的那一行表示准备执行的代码
阅读全文
摘要:在终端创建scrapy项目时报错 PS D:\scrapy_project> scrapy startproject fangFatal error in launcher: Unable to create process using '"' 由于在Windows下同时安装了Python2.7和p
阅读全文
摘要:字符串操作 EX在设置值的时候设置过期时间,ttl查看过期时间 expire能单独设置过期时间 查看所有的key key * 列表操作 lpush从列表左边添加值,rpush从列表右边添加值 lrange key 0 -1查看列表索引0到-1的所有元素(头尾都取),lrange是查看某个区间的元素
阅读全文
摘要:右键wechat查看属性,找到目标(wechat的执行路径),复制 然后在桌面新建文档,输入下面命令,想多开几个就复制几行 另存为bat文件,所有文件类型 双击运行
阅读全文
摘要:一 、引子 基于单线程实现并发,即只用一个主线程情况下实现并发,并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过长或有一个优先级更高的程序替代了它 在介绍进程理论时,提及进程
阅读全文
摘要:查看某个端口被哪个程序占用 netstat -anp |grep 端口号 查看进程号对应的程序 ps -ef | grep 17997 查看指定端口号的进程情况 netstat -tunlp
阅读全文
摘要:先来看看解封装 这将3,4,5封装到元组mytuple中 现在我们将这些值解封装到变量x,y,z中
阅读全文
摘要:因为python没有私有变量的概念,所以约定俗称以下划线为开头来声明一个变量为私有,所以如果你不想让变量私有,就不要使用下划线开头
阅读全文
摘要:我们在python中,除十进制外还可以使用二进制、八进制和十六进制 1、二进制数字由0和1组成,我们使用0b或0B前缀表示二进制数 2、使用bin()函数将一个数字转换为它的二进制形式 3、八进制数由数字0-7组成,用前缀0o或0O表示8进制数 4、十六进数由数字0-15组成,用前缀0x或者0X表示
阅读全文
摘要:该运算符按二进制位对值进行操作 1、与(&),按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 2、或(|),按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1 3、异或(^),按位异或运算符:当两对应的二进位相异时,结果为1 4、取反(~),按位取反运算符
阅读全文
摘要:通过身份运算符‘is’和‘is not’,我们可以确定两个值是否相同
阅读全文
摘要:通过成员运算符‘in’ 和 ‘not in’,我们可以确认一个值是否是另一个值的成员
阅读全文
摘要:python中有三个逻辑运算符:and、or、not
阅读全文
摘要:我们将所有的算术运算符和赋值运算符号放在一起展示
阅读全文
摘要:1、开发定址法 2、再哈希法 3、链地址法 4、建立一个公共溢出区
阅读全文
摘要:在python中,我们有7种运算符:算术运算符、关系运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符 我们有7个算术运算符,能让我们对数值进行算术计算 1、加号(+),将两个值相加 2、减号(-),将第一个值减去第二个值 3、乘号(*),将两个值相乘 4、除号(/),用第二个值除以第
阅读全文
摘要://运算符执行地板除法(向下取整除),它会返回整除结果的整数部分 这里整除后会返回3.5 同样的,执行取幂运算,ab会返回a的b次方 最后,%执行取模运算,返回除法的余数
阅读全文
摘要:当一个嵌套函数在其外部区域引用了一个值时,该嵌套函数就是一个闭包,其意义就是会记录这个值
阅读全文
摘要:当用python写代码时,有时可能还没想好函数怎么写,只写了函数声明,但为了保证语法正确,必须输入一些东西,这种情况下,我们会使用pass语句 break语句能使我们跳出循环 #0#1#2 continue语句能让我们跳到下一个循环 012456
阅读全文
摘要:#使用lower方法把字符串转换为小写 a='Ayushi'.lower() print(a)#ayushi #使用upper方法把字符串转换为大写 b='Ayushi'.upper() print(b)#AYUSHI # 使用isupper()和islower()方法检查字符串是否全为大写或小写 print('Ayushi'.isupper())#False print('AYUSHI...
阅读全文
摘要:字符串中的前导空格就是出现在字符串中第一个非空格字符前的空格,我们使用方法lstrip()可以将它从字符串中移除 可以看到,该字符串既有前导字符,也有后缀字符,调用lstrip()去除了前导空格,如果我们想去除后缀空格,就用rstrip()方法
阅读全文
摘要:在python中,标识符可以还是任意长度。此外,我们在命名标识符时还必须遵守以下规则 1 只能以下划线或者A-Z/a-z中字母开头 2 其余部分可以使用A-Z/a-z/0-9 3 区分大小写 4 关键字不能作为标识符,python中共有如下关键字:
阅读全文
摘要:如果能区分像myname和Myname这样的标识符,那么它就是区分大小写的。也就是说它很在乎大写和小写。 Traceback (most recent call last): File "E:/py3.6code/xx", line 6, in <module> print(Myname)NameE
阅读全文
摘要:join能让我们将指定字符添加至字符串中 #1,2,3,4,5,6 #<class 'str'> split()能让我们用指定字符分割字符串
阅读全文
摘要:from random import shuffle mylist=[0,1,2,3,4,5,6,7,8] shuffle(mylist) print(mylist)
阅读全文
摘要:mylist=[0,1,2,3,4,5] a=mylist[-1]#负索引和正索引不同,他是从右边开始检索 b=mylist[-3:-1] #还能用于列表中的切片print(a)#5 print(b)#[3,4]
阅读全文
摘要:import os os.chdir(r'C:\Users\Administrator\Desktop')#os.chdir切换到指定目录 with open('a.txt') as today: count=0 for i in today.read(): if i.isupper(): count+=1 print(count)...
阅读全文
摘要:当我们不知道向函数传递多少参数时,比如我们向传递一个列表或元组,我们就使用*args 32147 当我们不知道该传递多少关键字参数时,使用**kwargs来收集关键字参数
阅读全文
摘要:roots={x**2:x for x in range(5,0,-1)} print(roots) #{25: 5, 16: 4, 9: 3, 4: 2, 1: 1}
阅读全文
摘要:答案是no,循环引用其他对象或引用自全局命名空间的对象的模块,在python退出时并非完全释放 另外,也不会释放c库保留的内存部分
阅读全文
摘要:help函数是一个内置函数,用于查看函数或模块用途的详细说明 Help on function copy in module copy: copy(x) Shallow copy operation on arbitrary Python objects. See the module's __do
阅读全文
摘要:python有一个私有堆空间来保存所有的对象和数据结构。作为开发者,我们无法访问它,是解释器在管理它,但是有了核心api后,我们可以访问一些工具。python内存管理器控制内存分配 内置垃圾回收器会回收使用所有的未使用内存,所以使其适用于堆空间
阅读全文
摘要:当一个类继承另一个类,它就被称为一个子类/派生类,继承父类/基类/超类。它会继承/获取所有类成员(属性和方法) 继承能让我们重新使用代码,也能更容易的创建和维护应用 单继承:一个类继承单个基类 多继承:一个类继承多个基类 多级继承:一个类继承自单个基类,后者继承自另一个基类 分层继承:多个类继承自单
阅读全文
摘要:一个线程就是一个轻量级进程,多线程能让我们一次执行多个线程。 python是多线程语言,其内置有多线程工具包 python中GIL(全局解释器锁)确保一次执行单个线程。一个线程保存GIL并在将其传递给下个线程之前执行一些操作,这会让我们产生并行运行的错觉。实际上只是线程在CPU上轮流运行,当然,所有
阅读全文
摘要:a,b=2,3 c=22 if a<b else print(11) print(c)
阅读全文
摘要:马尔科夫链是一种随机模型,能根据先前的事件单独预测一个时间。 用马尔科夫链生成文本也是采用了相同的理念,努力找到一个词出现在另一个词后面的概率。 代码包含两部分,一个用来训练,一个用来生成 #生成器部分包含一个循环。它首先会选取一个随机的起始词并将其添加至一个列表,然后会在词典中所搜包含潜在跟随词的
阅读全文
摘要:赋值 浅拷贝 拷贝了一份a给b,修改b的索引为1的元素,b变了,a没有变,因为数字是不可变的,修改b索引为-1的元素里的元素,发现a变了,因为列表是可变的 深拷贝 #a [1, 2, 3, 4, [35, 44, 66]]#b [11, 2, 3, 4, [35, 44, 66]]#a [1, 2,
阅读全文
摘要:python的默认参数只会在函数定义时被确定,而不是每次调用时重新确定,所以,一旦在函数中修改了默认参数,则在随后的调用中都会生效 由于这个特性,在定义函数时,如果默认参数使用可变的对象类型,如空列表,会导致逻辑出错
阅读全文
摘要:a=list('abcde') print(a) # ['a', 'b', 'c', 'd', 'e']
阅读全文