Python成长笔记 - 基础篇 (十)】的更多相关文章

本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 主题:学员管理系统 需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下 讲师视图 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节上课纪录对应多条学员的上课纪录, 即每节课都有整班学员上, 为了纪录每位学员的学习成绩,需在创建每节上课纪录是,同时         为这个班的每位学员创建一条上课纪录 为学员批改成绩…
本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queue队列 开发一个线程池 进程 语法 进程间通讯 进程池   ssh   ssh_sftp         SSH密钥 RSH -非对称密钥验证   公钥:public key 私钥: privat key   10.0.0.31 ----连接----> 10.0.0.41 私钥 公钥   10.0.…
回顾: 线程:资源的集合:内存共享,两个或多个线程同时修改一份数据时,造成结果可能不正确,必须加锁 进程:运行的最小单元 守护进程:在start之前设置setDemo() 队列queue:作用解耦,使程序之间是实现松耦合,提高处理效率 FIFO:先进先出 LIFO:后进先出 队列中的数据使用完就没了(消费者生产者模型) 事件event:(红绿灯模型)     python中的多线程是一个假象,我们是利用它上下文切换 io操作不占用CPU,计算操作占用CPU, python中大量的计算反而会使程序…
  三大特性: 1.封装:在类中对数据赋值.内部调用对外部用户是透明的,这使类变成了一个胶囊或容器,里面包含着类的数据和方法 2.继承:一个类可以派生出子类,在父类中定义的属性.方法会自动被子类继承 # class People:#经典类 class People(object):#新式类 def __init__(self,,age): self.name = self.age = age   def eat(self): print('%s is eating' %self.name)  …
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configparser hashlib subprocess logging模块 re正则表达式     程序解耦:程序其他地方拆分开,降低了数据逻辑层和后台数据交互接口的关联   import sys,os   os.path.diirname(os.path.abspath(__file__)) 打印上级目录地址   模块…
1.面向对象:类(class) 2.面向过程:过程(def) 3.函数式编程:函数(def)----python   1.函数:http://egon09.blog.51cto.com/9161406/1834777 编程语言中函数定义:函数是逻辑结构化和过程化的一种编程方法. 12345678910111213 python中函数定义方法: def test(x): "The function definitions" x+=1 return x def:定义函数的关键字test:函…
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码   一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 names = ["Wang","Hou1","NiuNiu","Zhou","Hou2",[1,2]] 可以通过列表角标的方式去获得list中的值 print(names)print(names[0])…
Python的设计目标之一是让代码具备高度的可阅读性.它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观.它不像其他的静态语言如C.Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和惊喜. Python缩进 Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯.并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字.增加缩进表示语句块的开始,而减少缩进则表示语…
一.Python介绍 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),由吉多·范罗苏姆(Guido van Rossum)于1989年发明,第一个公开发行版发行于1991年. Python是一个高层次的结合了解释型.动态强类型的.面向对象的脚本语言 Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节,编译型语言是一次把所有的代码转换成机器语言,然后写成可执行文件:而解释型是在程序运行的前一刻,还只有源程序而没有可执行程序,程序每执行到源程序的某一…
堡垒机架构 堡垒机的主要作用权限控制和用户行为审计,堡垒机就像一个城堡的大门,城堡里的所有建筑就是你不同的业务系统 , 每个想进入城堡的人都必须经过城堡大门并经过大门守卫的授权,每个进入城堡的人必须且只能严格按守卫的分配进入指定的建筑,且每个建筑物还有自己的权限访问控制,不同级别的人可以到建筑物里不同楼层的访问级别也是不一样的.还有就是,每个进入城堡的人的所有行为和足迹都会被严格的监控和纪录下来,一旦发生犯罪事件,城堡管理人员就可以通过这些监控纪录来追踪责任人. 堡垒要想成功完全记到他的作用,只…
本节内容: 1.RabbitMQ 消息队列 2.Redis 3.Mysql   PY 中的线程queue(threading Queue):用于多个线程之间进行数据交换,不能在进程间进行通信 进程queue:父进程与子进程中的交互,或者是同属于同一个父进程下多个子进程进行交互:两个不相关的进程间交互不能用进程queue RabbitMQ --信息流是单向的 两个完全独立的程序进行交互:1.进程间建立socket 2.一个写入disk,另一个调用 3.使用中间进程,RabbitMQ等      …
创建一个socketserver 至少分以下几步: First, you must create a request handler class by subclassing the BaseRequestHandlerclass and overriding its handle() method; this method will process incoming requests.  Second, you must instantiate one of the server classe…
socket编程 应用层: 表示层: 会话层: 传输层: 网络层: ip地址 数据链路层: MAC地址 物理层:   协议类型: TCP/IP协议:三次握手,四次断开     2. Socket 参数介绍 socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None)  必会 Create a new socket using the given address family, socket type and proto…
1.装饰器: 装饰器:器代表函数的意思,装饰器就是一个函数,作用是用来装饰其他的函数 原则: 1.不能修改被装饰函数的源代码 2.不能修改被装饰函数的调用方式 实现装饰器所需要的知识: 1.函数即变量 2.高阶函数 1.把一个函数名当做实参传给另外一个函数 2.返回值中包含函数名 3.嵌套函数 高阶函数+嵌套函数 = 装饰器 装饰器 有参数.无参数.有返回值.无返回值.装饰器参数 2.列表生成式: 代码简洁,简化代码 生成器和列表的区别,列表是直接把数据放到内存中,而生成器是在调用的时候才能会生…
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python…
目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 9.循环次数限制 10.简单的嵌套循环 11.常用数据类型 12.字符串格式化 13.列表常用操作 14.列表后续操作 15.文件基本操作 1.学习Python目的: 1.学完之后,可以做开发运维监控.自动化软件.聊天软件.BBS.博客和网站. 2.投资自己,结识更多的朋友,变更更优秀的人 Pyt…
新式类和经典类的区别 python2.7 新式类——广度优先 经典类——深度优先 python3.0 新式类——广度优先 经典类——广度优先 广度优先才是正常的思维,所以python 3.0中已经修复了经典类深度优先的特性,改为了广度优先 class A: n = 'A' def f2(self): print("f2 from A") class B(A): n= 'B' def f1(self): print("from B") def f2(self): pr…
目录 1.迭代器&生成器 2.装饰器 a.基本装饰器 b.多参数装饰器 3.递归 4.算法基础:二分查找.二维数组转换 5.正则表达式 6.常用模块学习 #作业:计算器开发 a.实现加减成熟及括号优先级解析 b.用户输入1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式,运算后得出结果,结果必须与真实的计算器所得出的结果一致 1.迭代器&…
目录 1.算法基础 2.冒泡排序 3.时间复杂度 (1)时间频度 (2)时间复杂度 4.指数时间 5.常数时间 6.对数时间 7.线性时间 1.算法基础  要求:生成一个4*4的2维数组并将其顺时针旋转90度 #!_*_coding:utf-8_*_ array=[[col for col in range(5)] for row in range(5)] #初始化一个4*4数组 #array=[[col for col in 'abcde'] for row in range(5)] for…
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. 如:os 是系统相关的模块:file是文件操作相关的模块 模块分为三种: 自定义模块 内置模块 开源模块 自定义模块 1.定义模块 情景一: 情景二: 情景三: 2.导入模块 Python之所以应用越来越广泛,在…
Python之路,Day6 - 面向对象学习 本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.       同时可参考链接: http://www.cnblogs.com/wupeiqi/p/4493506.html     面向对象编程(Object-Oriented Programming )介绍   对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,大家虽然都按老师讲的都知道OOP的三大特性是继承.封装.多态,并且大家…
http://www.cnblogs.com/wupeiqi/articles/5040823.htmlhttp://i.cnblogs.com/EditPosts.aspx?postid=5543730  scoket基础 client端口最多有65535  2**16 在三次握手执行完之后,所有的通信都是基于socket来完成的 不管是http.dns.ftp.smtp.ssl.mysql都是基于socket实现的 可以认为socket是一条管道或者高速公路,对于http.dns等是一辆车…
一.系统命令 1.Ctrl+D 退出Python IDLE input方法中输入EOF字符,键入Ctrl+D 2.命令行选项: -d   提供调试输出 -O 生成优化的字节码(.pyo文件) -S 不导入site模块以在启动时查找python路径 -v 冗余输出(导入语句详细追踪) -m modelName 将一个模块以脚本形式运行 -Q opt 除法选项 -c cmd 运行以命令行字符串形式提交的python脚本 file 从给定的文件运行python脚本 二.拓展网站和工具 1.https:…
目录 1.Python介绍 2.Python编码 3.接受执行传参 4.基本数据类型常用方法 5.Python主文件判断 6.一切事物都是对象 7.   int内部功能介绍 8.float和long内部功能介绍 9.str内部功能介绍 10.上下文管理剖析 11.list内部功能介绍 12.tuple内部功能介绍 13.字典和列表   1.python介绍 pyhton print 编译 执行 速度 cpython print("alex xx") c解释器 .pyc(字节码)  机器…
目录 1.Python计数器Counter 2.Python有序字典OrderredDict 3.Python默认字典default 4.python可命名元组namedtuple 5.Python双向队列deque 6.Python单向队列deque 7.Python深浅拷贝原理 8.Python深浅拷贝应用 9.python函数的基本定义(open.lambda.递归.装饰器) collections系列…
目录 1.正在表达式 2.正则表达式常用5种操作 3.正则表达式实例 4.re.match与re.search的区别 5.json 和 pickle 1.正则表达式   语法: import re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0-9]代表匹配0至9的任意一个数字, 所以这里的意思是对传进来的字符串进行匹配,如果这个字符串的开头第一个字符是数字,就代表匹配上了 m = p.match('14534Abc'…
目录 1.简介 2.字符匹配 1.简介:就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行. 2.字符匹配:字符匹配(普通字符,元字符):普通字符:大多数字符和字母都会和自身匹配        >>> re.findall('alex','yuanaleSxalexwupeiqi')           ['alex'] 2元字符…
模块介绍 本节大纲: 模块介绍 time &datetime模块   (时间模块) random   (随机数模块) os   (系统交互模块) sys shutil   (文件拷贝模块) json & pickle shelve   (封装模块) xml处理 yaml处理 configparser hashlib subprocess logging模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码…
OS模块 提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级…
json & pickle 模块(序列化) json和pickle都是序列化内存数据到文件 json和pickle的区别是: json是所有语言通用的,但是只能序列化最基本的数据类型(字符串.字典.列表),像函数.类.python日期都不能序列化 pickle可以序列化python几乎所有的数据类型 如果两个程序都需要交互内存数据,如果都是python语言的情况下,复杂的交互用pickle. 用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于pyt…