pyqt5 界面案例,pyqt5图形界面编程
什么是pythonic?Pythonic翻译成中文就很python了。名词结构的使用在日常语言中非常普遍。比如:很少女。在日常语言中,名词结构的词带来强调和加强的意思。所以我个人对python的理解是:只有python能做到,代码更简洁,优雅,执行效率更高。
例如,替换两个变量的值是很常见的:
python:
a,b=b,a不是python:
Temp=aa=bb=temp上面的例子可以很好的看出python的优点和特点,这就是pythonic。当然,python也可以用非python的方式编写,但那不符合python的思想。
变量一个数字的范围我们经常使用以下方法:
L=[0,1,2,3,4]for i in l: print i or:
对于范围(5)中的I:print I python:
对于xrange(5)中的I:print I xrange将生成一个迭代器,一次遍历一个范围的一个值。这个方法将比range节省更多的内存。在python 3.x中,Xrange已被重命名为range
反向遍历列表我们经常使用以下方法:
L=[江西,广东,江苏,福建,湖南] for I in range (len (l)-1,-1,-1):print I python式书写:
L=[江西,广东,江苏,福建,湖南]for i in reversed(l):打印I遍历列表及其下标。我们经常使用以下方法:
L=[江西,广东,江苏,福建,湖南] for I in range (len (l)): print I,l[I]python式书写:
L=[江西,广东,江苏,福建,湖南] for I,value in enumerate (L): print I,value下面的写法更加高效优雅,省去了你自己创建下标和获取对应值的麻烦。
遍历两个列表,我们经常使用以下方法:
L1=[江西,广东,江苏,福建,湖南]l2=[南昌,广州,南京,福州,长沙]表示邮政编码中的省,市(L1,l2):打印省,市pythonic
L1=[江西,广东,江苏,福建,湖南]l2=[南昌,广州,南京,福州,长沙]为省,城市在Izip (L1,l2):打印省,城市Izip是Ite。Zip会在内存中生成一个新的列表,需要更多的内存。Izip比zip更高效。在python 3.x中,izip改名为zip,取代了原来的zip作为python的内置函数。
计数字典例如,我们需要获得列表中每个元素的数量,并生成一个字典:
L=[江西,广东,江苏,福建,湖南,江西,福建,江苏]我们常用以下方法:
d={ } for item in l:if item not in d . keys():d[item]=0d[item]=1拼音书写:
d={ } for item in l:d[item]=d . get(item,0) 1 #左右从集合导入default dictd=default dict(int)for item in l:d[ item ]=1遍历字典。例如,需要遍历字典的键和值:
D={ 省:广东,市:深圳 }我们常用以下方法:
对于d中的item:print item,d[item]#或this for key,value in d. items (): print key,value pythonic写:
对于key,value in d. iteritems (): printkey,value用pythonic编写,因为iteritems返回一个迭代器。注意:python 3.x中不再提供Itemitems,items中的行为非常接近Itemitems。
例如,分组列表有这样一个要求,即以下列表的元素需要按长度分组:
L=[红色,绿色,蓝色,黄色,黑色,粉色,灰色]我们经常使用以下方法:
d={ } for item in l:key=len(item)if key not in d:d[key]=[]d[key]。append(item)print d # {3: [red],4: [blue , pink , grey],5: [green ,Black],6:[ yellow ]} # Or this d={ } for item in l:key=len(item)d . set default(key,[])。append (item) print d # {3: [红色],4: [蓝色,灰色],5: [绿色,黑色],6: [黄色]} python式书写:
从集合导入默认dictd=中项目的默认dict(list):key=len(item)d[key]。Append (item)连接字符串例如,需要将以下列表中的元素连接成一个新字符串:
L=[h , e , l , l , o]我们经常使用以下方法:
l [1:]中的项目的s=l[0]:s=item print s python式书写:
打印“”。join(l)例如,对链表的操作有一个要求,它要求增加或删除下列链表的元素:
L=[哈哈,呵呵,呵呵]我们经常使用以下方法:
Del [0] l.pop (0) l.insert (0,哼)pythonic式写作:
从集合导入dequel=dequel(l)del l[0]l . pop left()l . append left( hum )为什么要用dequee?因为deque效率更高。