冲扬心法

笑声激发自强,发愤、图强、飞身向上

   :: 首页  ::  ::  ::  :: 管理

随笔分类 -  Python编程

摘要:参考python核心编程 ORM(Object Relational Mapper),如果你是一个更愿意操作Python对象而不是SQL查询的程序员,并且仍然希望使用关系型数据库作为你的后端,那么你可能更倾向于使用ORM。 ORM将纯SQL语句进行了抽象画处理,将其实现为python中的对象,这样你 阅读全文
posted @ 2018-06-10 00:46 风雨一肩挑 阅读(4542) 评论(0) 推荐(0)

摘要:参考python核心编程 编写一个用户洗牌的脚本,根据用户输入,选择连接sqlserver或者MySQL,创建数据库、表,随机生成数据,并实现增删改查。 其中,为了兼容python2和python3,统一了打印函数、录入函数、动态导包等 一些字段声明为全局变量,这样我们在后续的学习中,可以引用这些变 阅读全文
posted @ 2018-05-27 17:00 风雨一肩挑 阅读(11250) 评论(0) 推荐(0)

摘要:摘录 python核心编程 本节我们将展示一个中级的tkinter应用实例,这个应用是一个目录树遍历工具:它会从当前目录开始,提供一个文件列表,双击列表中任意的其他目录,就会使得工具切换到新目录中,用新目录中的文件列表代替旧文件列表。这里新增了列表框、文本框和滚动条,此外还增加了鼠标单击、键盘按下、 阅读全文
posted @ 2018-04-26 22:48 风雨一肩挑 阅读(3200) 评论(0) 推荐(0)

摘要:摘录 python核心编程s GUI(Graphical User Interface)图形用户界面。 Tcl、Tk和Tkinter Tkinter是python的默认GUI库。它基于Tk工具包,该工具包最初是为工具命令语言(Tcl)设计的。Tk普及后,被移植到很多其他的脚本语言中,包括Perl(P 阅读全文
posted @ 2018-04-24 20:42 风雨一肩挑 阅读(2038) 评论(1) 推荐(0)

摘要:摘录python核心编程 本例中演示生产者-消费者模型:商品或服务的生产者生产商品,然后将其放到类似队列的数据结构中。生产商品中的时间是不确定的,同样消费者消费商品的时间也是不确定的。 使用queue模块(python2.x版本中,叫Queue)来提供线程间通信的机制,从而让线程之间可以分享数据。具 阅读全文
posted @ 2018-04-19 21:10 风雨一肩挑 阅读(2754) 评论(0) 推荐(0)

摘要:摘录python核心编程 一般的,多线程代码中,总有一些特定的函数或者代码块不希望(或不应该)被多个线程同时执行(比如两个线程运行的顺序发生变化,就可能造成代码的执行轨迹或者行为不相同,或者产生不一致的数据),比如修改数据库、更新文件或其他会产生竞态条件的类似情况。此时就需要同步了。 同步:任意数量 阅读全文
posted @ 2018-04-18 20:17 风雨一肩挑 阅读(2948) 评论(1) 推荐(2)

摘要:摘录python核心编程 socketserver(python3.x版本重新命名)是标准库中的网络编程的高级模块。通过将创建网络客户端和服务器所必须的代码封装起来,简化了模板,为你提供了各种各样的类。 除了隐藏了实现细节之外,它督促我们使用类(面向对象的思维)来编写应用程序,并且,这些应用程序是时 阅读全文
posted @ 2018-04-12 15:13 风雨一肩挑 阅读(1008) 评论(0) 推荐(0)

摘要:摘录 python核心编程 使用socket()模块函数创建套接字——通信端点 其中,AF_INET表示使用的是IPv4协议,SOCK_STREAM表示的面向连接的TCP协议,SOCK_DGRAM表示面向无连接的UDP协议。 在创建TCP和UDP客户端与服务器前,先看看socket模块的属性以及套接 阅读全文
posted @ 2018-04-11 16:22 风雨一肩挑 阅读(908) 评论(0) 推荐(0)

摘要:摘录 廖雪峰网站 datetime是python内置的处理日期和时间的标准库 获取当前日期和时间 获取指定日期和时间 datetime转换为timestamp 实际上,计算机中都是用数字表示时间的。1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1 阅读全文
posted @ 2018-04-09 22:30 风雨一肩挑 阅读(982) 评论(0) 推荐(0)

摘要:摘录 python核心编程 python的re模块允许多线程共享一个已编译的正则表达式对象,也支持命名子组。下表是常见的正则表达式属性: compile()编译正则表达式 在模式匹配发生之前,正则表达式模式必须编译成正则表达式对象,而且正则表达式在执行的过程中可能进行多次的比较操作。所以,强烈建议使 阅读全文
posted @ 2018-04-08 22:27 风雨一肩挑 阅读(2084) 评论(0) 推荐(0)

摘要:摘录 python核心编程 上节介绍的thread模块,是不支持守护线程的。当主线程退出的时候,所有的子线程都将终止,不管他们是否仍在工作。 本节开始,我们开始介绍python的另外多线程模块threading,该模块支持守护线程,其工作方式:守护线程一般是一个等待客户端请求的服务器。如果没有客户端 阅读全文
posted @ 2018-03-29 23:16 风雨一肩挑 阅读(50102) 评论(0) 推荐(2)

摘要:参考书籍:python核心编程 _thread模块除了可以派生线程外,还提供了基本的同步数据结构,又称为锁对象(lock object,也叫原语锁、简单锁、互斥锁、互斥和二进制信号量)。 下面是常用的线程函数: _thread模块的核心函数是start_new_thread()。专门用来派生新的线程 阅读全文
posted @ 2018-03-26 22:51 风雨一肩挑 阅读(6661) 评论(1) 推荐(0)

摘要:本文主要介绍如何在python中使用线程。 全局解释器锁: python代码的执行是由python虚拟机(又名解释器主循环)进行控制的。python中,主循环中同时只能有一个控制线程在执行,就像单核CPU系统中的多线程一样——内存中可以有很多程序,但是在任意给定时刻只有有一个程序在执行。同理,虽然p 阅读全文
posted @ 2018-03-26 21:23 风雨一肩挑 阅读(562) 评论(0) 推荐(0)

摘要:多线程编程 在多线程(multithreaded,MT)出现之前,计算机程序的执行都是由单个步骤序列组成的,该序列组合在主机的CPU中按照同步顺序执行。无论是任务本身需要按照步骤顺序执行,还是整个过程实际上包含了多个子任务,都需要按照既定顺序方式执行。那么,如果这些子任务相互独立,没有因果关系呢,我 阅读全文
posted @ 2018-03-26 15:27 风雨一肩挑 阅读(411) 评论(0) 推荐(0)

摘要:当我们在内存中定义一个dict的时候,我们是可以随时修改变量的内容的: 我们可以随时修改name和age的值。但是当我们重新运行程序的时候,name、age的初始化值还是wc和28,实际情况下我们需要保存该dict的最后的值。 我们把变量从内存中变成可存储或传输的过程称之为序列化。python中称之 阅读全文
posted @ 2018-03-26 13:47 风雨一肩挑 阅读(2012) 评论(0) 推荐(0)

摘要:python内置了os模块可以直接调用操作系统提供的接口函数,os.name查询的是操作系统,‘nt’表示windows系统 使用os.environ查看环境变量: 还可以获得某个具体的环境变量的值: 查看当前目录的绝对路径: 在某个目录下面创建新目录,需要两个步骤:先join(合成路径),再mkd 阅读全文
posted @ 2018-03-20 23:34 风雨一肩挑 阅读(2133) 评论(0) 推荐(0)

摘要:主要介绍python两个内存读写IO:StringIO和BytesIO,使得读写文件具有一致的接口 StringIO 内存中读写str。需要导入StringIO 也可以用一个str初始化StringIO,然后像读文件一样读取: BytesIO 内存中操作二进制数据: 细心的童鞋会发现,f.read( 阅读全文
posted @ 2018-03-20 21:59 风雨一肩挑 阅读(800) 评论(0) 推荐(0)

摘要:IO——Input/Output,即输入输出。对于计算机来说,程序运行时候数据是在内存中的,涉及到数据交换的地方,通常是磁盘、网络等。比如通过浏览器访问一个网站,浏览器首先把请求数据发送给网站服务器,这个动作叫外发数据,即Output,随后网站服务器把数据网页发送给浏览器,这个动作是从外面接收数据, 阅读全文
posted @ 2018-03-17 22:32 风雨一肩挑 阅读(1369) 评论(0) 推荐(0)

摘要:单元测试反应的是一种以测试为驱动的开发模式,最大的好处就是保证一个程序模块的行为符合我们设计的测试用例,在将来修改的时候,可以极大程度保证该模块行为仍然是正确的。 下面我编写一个Dict来,这个类的行为和dict一直,同时可以通过属性来访问。 mydict.py文件: 引入python自带的unit 阅读全文
posted @ 2018-03-17 21:21 风雨一肩挑 阅读(9005) 评论(0) 推荐(0)

摘要:世界人都知道,程序总会有bug存在。复杂点的bug一般人不能一眼看出,这就一要一套调试程序的手段。 方法一:使用print()函数直接打印: 我们在认为可能出错的地方打印变量出来。这有很大的弊端,因为打印的代码实际功能并不需要。这都是垃圾信息。 方法二:用断言assert代替打印print() as 阅读全文
posted @ 2018-03-16 18:02 风雨一肩挑 阅读(3395) 评论(0) 推荐(0)