随笔分类 -  Python

摘要:为什么要设计好目录结构? 目录组织方式 关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结构。在Stackoverflow的这个问题上,能看到大家对Python目录结构的讨论。 假设你的项目名为foo,比较建议的最方便快捷目录结构这样就足够了: 简要解释一下: 除此之外,有 阅读全文
posted @ 2018-12-07 13:51 zhengna 阅读(747) 评论(0) 推荐(0)
摘要:定义:本质是函数,装饰其他函数就是为其他函数添加附加功能。 原则: 实现装饰器知识储备: 把一个函数名当做实参传递给另一个函数(在不修改函数源代码的情况下为其添加功能) 返回值中包含函数名(不修改函数的调用方式) 高阶函数+嵌套函数——>装饰器 什么是函数即“变量”?如下图,x,y,test都可以看 阅读全文
posted @ 2018-12-07 11:42 zhengna 阅读(152) 评论(0) 推荐(0)
摘要:可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list、tuple、dict、set、str等; 一类是generator,包括生成器和带yield的generator function。 这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。 可以使用isi 阅读全文
posted @ 2018-12-07 11:38 zhengna 阅读(178) 评论(0) 推荐(0)
摘要:1 列表生成式 我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],要求你把列表里的每个值加1,怎么实现?你可能会想到2种方式 a=[0,1,2,3,4,5,6,7,8,9] b=[] for i in a: b.append(i+1) a=b print(b) # 阅读全文
posted @ 2018-12-07 11:33 zhengna 阅读(218) 评论(0) 推荐(0)
摘要:一 socket介绍 TCP/IP 基于TCP/IP协议栈的网络编程是最基本的网络编程方式,主要是使用各种编程语言,利用操作系统提供的套接字网络编程接口,直接开发各种网络应用程序。 socket概念 socket本质上就是在2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实现数据的互相传 阅读全文
posted @ 2018-12-06 10:34 zhengna 阅读(810) 评论(0) 推荐(0)
摘要:通过8.2的实例1-6,我们可以总结出来,socket的服务端和客户端的一般建立步骤: 服务端 步骤:1创建实例,2绑定,3监听,4阻塞,5发送&接收数据,6关闭。 客户端 步骤:1创建实例,2连接,3发送&接收数据,4关闭。 总结 阅读全文
posted @ 2018-12-06 10:34 zhengna 阅读(234) 评论(0) 推荐(0)
摘要:多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。 那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块 阅读全文
posted @ 2018-09-17 09:04 zhengna 阅读(157) 评论(0) 推荐(0)
摘要:在Python中,经典类(class Person:)和新式类(class Person(object):)的主要区别就是体现在多继承的顺序上。 Python 2.x中默认都是经典类,只有显式继承了object才是新式类;Python 3.x中默认都是新式类,不必显式地继承object。 假设现在有 阅读全文
posted @ 2018-09-17 09:03 zhengna 阅读(273) 评论(0) 推荐(0)
摘要:实例1: 利用socket模拟客户端和服务器端各自收发一次数据: #Author:Zheng Na # 客户端 import socket # 声明socket类型,同时生成socket连接对象 client = socket.socket() # 默认参数family=AF_INET(表示地址簇为 阅读全文
posted @ 2018-09-14 14:12 zhengna 阅读(692) 评论(0) 推荐(0)
摘要:Inheritance 继承 面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”。被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般 阅读全文
posted @ 2018-09-13 09:18 zhengna 阅读(200) 评论(0) 推荐(0)
摘要:属性分为静态属性和动态属性,静态属性就是变量,动态属性就是方法。但是一般我们说的属性就是变量,方法就是方法。私有属性/方法就是外面访问不了,只有自己能够访问的属性/方法。如何将属性和方法分别变成私有属性和私有方法?就是在属性名或方法名前面加“__”(两个下划线)即可。 阅读全文
posted @ 2018-09-13 09:12 zhengna 阅读(232) 评论(0) 推荐(0)
摘要:析构函数是在实例释放、销毁的时候执行的,通常用于做一些收尾工作。比如说,关闭一些数据库连接、打开的临时文件等。 现在有一个问题,假设我们声明了一个实例r1,然后就调用了一次,以后再也没有用过它,这个程序运行了2年,按理说这个实例只用了一次,应该被销毁。那么Python是否会将其自动销毁呢?答案是否定 阅读全文
posted @ 2018-09-12 09:53 zhengna 阅读(339) 评论(0) 推荐(0)
摘要:编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种不同的方式,对这些不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式。不同的编程范式 阅读全文
posted @ 2018-09-10 08:56 zhengna 阅读(654) 评论(0) 推荐(0)
摘要:首先建一个dog类,实例化为3个dog对象,并让它们都叫。 从运行结果来看,只有一个小黄狗在叫,那么我们如何将其变为3个狗呢?可以传参数。 好了,到这里你就可以看出面向对象编程的好处了。那就是OOP可以使程序更加容易扩展和易更改。 下面我们再举一个开发简单版CS游戏的例子。哈哈,这里我就不赘述了,初 阅读全文
posted @ 2018-09-10 08:56 zhengna 阅读(146) 评论(0) 推荐(0)
摘要:类变量 VS 实例变量 类变量的作用 类变量的作用就是保存大家共用的属性,节省开销(省内存)。比如某一个系统中的所有用户均是中国人,那么国籍这个变量就可以写为类变量。如下代码中的2个Person类所示,虽然最终结果时一样的,但是使用Person1类时,每实例化一个对象,就会开辟一块内存,传一个默认参 阅读全文
posted @ 2018-09-10 08:56 zhengna 阅读(192) 评论(0) 推荐(0)
摘要:需求: 1、查 输入:www.oldboy.org 获取当前backend下的所有记录 2、新建 输入: arg = { 'bakend': 'www.oldboy.org', 'record':{ 'server': '100.1.7.9', 'weight': 20, 'maxconn': 30 阅读全文
posted @ 2018-07-30 16:35 zhengna 阅读(268) 评论(0) 推荐(0)
摘要:目录 Python3学习之路~2.1 列表、元组操作 Python3学习之路~2.2 简单的购物车程序 Python3学习之路~2.3 字符串操作 Python3学习之路~2.4 字典操作 Python3学习之路~2.5 简单的三级菜单程序 Python3学习之路~2.6 集合操作 Python3学 阅读全文
posted @ 2018-07-30 14:17 zhengna 阅读(417) 评论(0) 推荐(1)
摘要:Python内置函数表: 内置参数详解:https://docs.python.org/3/library/functions.html?highlight=built#ascii 用法: #Author:Zheng Na # abs() 取绝对值 print(abs(-10)) #10 # all 阅读全文
posted @ 2018-07-06 08:55 zhengna 阅读(235) 评论(0) 推荐(0)
摘要:1 递归 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据 阅读全文
posted @ 2018-06-29 17:22 zhengna 阅读(223) 评论(0) 推荐(0)
摘要:1 函数基本语法及特性 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 语法定义: 可以带参数 2 返回值 要想获取函数的执行结果,就可以用return语句把结果返回 注意: def test01(): pass def test02( 阅读全文
posted @ 2018-06-25 08:41 zhengna 阅读(253) 评论(0) 推荐(0)