冻结的集合前面一节讲述了集合的基本概念,注意,那里所涉及到的集合都是可原处修改的集合。还有一种集合,不能在原处修改。这种集合的创建方法是:>>>f_set=frozenset("qiwsir")#看这个名字就知道了frozen,冻结的set>>>f_setfrozenset(['q','i','s','r','w'])>>>f_set.add("python")#报错Traceback(mostrecentcalllast):File"",line1,in
系统 2019-09-27 17:56:34 2114
Python猜数游戏用Python循环来实现简单的猜数游戏用Python循环来实现简单的猜数游戏下面是简单的循环,有注释很容易理解!print('-------------------------Cool_breeze_-----------------------')importrandom//导入随机数secret=random.randint(1,9)try://异常修复下面的代码print("""+-----------------------+|
系统 2019-09-27 17:55:41 2114
1.最小界面组成#导入tkinter模块importtkinter#创建主窗口对象root=tkinter.Tk()#设置窗口大小(最小值:像素)root.minsize(300,300)#创建一个按钮组件btn=tkinter.Button(root,text='屠龙宝刀,点击送')btn.pack()#加入消息循环root.mainloop()设置初始化界面大小#设置初始化界面大小root.geometry('300x400')2.组件的摆放方式:1.
系统 2019-09-27 17:55:39 2114
在写桌面软件时,通常会使用到托盘上的泡泡提示功能,让我们来看看使用python如何实现这个小功能。一、Linux系统在Linux上,实现一个气泡提示非常简单,使用GTK实现的pynotify模块提供了些功能,我的环境是Ubuntu,默认安装此模块,如果没有,下载源文件编译安装一个。实现代码如下:#!/usr/bin/python#coding:utf-8importpynotifypynotify.init("Bubble@Linux")bubble_no
系统 2019-09-27 17:54:28 2114
一、协程协程,又叫微线程,纤程。英文名Coroutine。协程本质上就是一个线程优点1:协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越来越明显。(简单来说没有切换的消耗)优点2:不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好,所以执行效率比多线程高很多。(没有锁的概念)因为协程是一个线程执行,那怎么利用
系统 2019-09-27 17:54:05 2114
引用是指保存的值为对象的地址。在Python语言中,一个变量保存的值除了基本类型保存的是值外,其它都是引用,因此对于它们的使用就需要小心一些。下面举个例子:问题描述:已知一个列表,求生成一个新的列表,列表元素是原列表的复制复制代码代码如下:a=[1,2]b=a这种做法其实并未真正生成一个新的列表,b指向的仍然是a所指向的对象。这样,如果对a或b的元素进行修改,a,b的值同时发生变化。解决的方法为:复制代码代码如下:a=[1,2]b=a[:]这样修改a对b没
系统 2019-09-27 17:49:48 2114
接着上一篇,这里继续整合交易类。importdatetime#交易类,后期需要整合公钥,私钥classTransaction:#payer付款方,receiver收款方def__init__(self,payer,receiver,money):self.payer=payerself.receiver=receiverself.money=moneyself.timestamp=datetime.datetime.now()#交易时间def__repr_
系统 2019-09-27 17:49:31 2114
在python代码中可以看到一些常见的trick,在这里做一个简单的小结。json字符串格式化在开发web应用的时候经常会用到json字符串,但是一段比较长的json字符串是可读性较差的,不容易看出来里面结构的。这时候就可以用python来把json字符串漂亮的打印出来。root@Exp-1:/tmp#catjson.txt{"menu":{"breakfast":{"EnglishMuffin":{"price":7.5},"BreadBasket":{
系统 2019-09-27 17:47:56 2114
super的工作原理如下:defsuper(cls,inst):mro=inst.__class__.mro()returnmro[mro.index(cls)+1]其中,cls代表类,inst代表实例,上面的代码做了两件事:获取inst的MRO列表查找cls在当前MRO列表中的index,并返回它的下一个类,即mro[index+1]当你使用super(cls,inst)时,Python会在inst的MRO列表上搜索cls的下一个类。下面看一个例子:cl
系统 2019-09-27 17:47:45 2114
数组数组的设计数组设计之初是在形式上依赖内存分配而成的,所以必须在使用前预先请求空间。这使得数组有以下特性:1、请求空间以后大小固定,不能再改变(数据溢出问题);2、在内存中有空间连续性的表现,中间不会存在其他程序需要调用的数据,为此数组的专用内存空间;3、在旧式编程语言中(如有中阶语言之称的C),程序不会对数组的操作做下界判断,也就有潜在的越界操作的风险(比如会把数据写在运行中程序需要调用的核心部分的内存上)。因为简单数组强烈倚赖电脑硬件之内存,所以不适
系统 2019-09-27 17:46:17 2114