有关《Head First Python》一书中print_lol()函数的思考

关于《Head First Python》一书中print_lol()函数的思索

 

  在《Head First
Python》第一章中,讲述到Python处理千头万绪数据(以电影多少列表为例),首先将电影多少创设为Python列表,由于Python的变量标识符没有项目,列表中的每一个数量项可以是其他项目标多寡,甚至足以是另外一个列表,并且可以极其嵌套。下面起头print()和print_lol()的表演。

  www.4688.com 1

 

1   列表  movies = ["The Holy Grail", 1975, "Terry Jones & Terry Gilliam", 91,
2 
3               ["Graham Chapman",
4 
5                   ["Michael Palin", "John Cleese", "Terry Gilliam", "Eric Idle", "Terry Jones"]]]

 

step1(使用数据偏移量举行列表内数据的精准查找):

  

1 print(movies[4][1][3])  

输出结果为:

www.4688.com 2

 

step2(使用一层print()对总体列表举行输出):

  

1 print(movies)

输出结果为:

www.4688.com 3

 

 

step3(使用print()加上一层for循环对全部列表举行输出):

  

1   for i in movies: 
2       print(i)

输出结果为:

www.4688.com 4

 

step4(使用print()加上两层for循环加上一个if else对总体列表举办输出):

  

1 for i in movies:
2     if isinstance(i,list):
3         for j in i:
4             print(j)
5     else:
6         print(i)

输出结果为:

www.4688.com 5

 

step5(使用print()加上三层for循环加上多少个if else对全部列表举行输出):

  

 1 for i in movies:
 2     if isinstance(i,list):
 3         for j in i:
 4             if isinstance(j,list):
 5                 for k in j:
 6                     print(k)
 7             else:
 8                 print(j)
 9     else:
10         print(i)

输出结果为:

www.4688.com 6

 

step6(多层嵌套实在是太劳苦了,试试构造函数然后递归,祭出前几天的重场戏print_lol()):

 1 首先定义函数:
 2 def print_lol(the_list):
 3     for i in the_list:
 4         if isinstance(i,list):
 5             print_lol(i)
 6         else:
 7             print(i)
 8 
 9 然后使用print_lol()来对movies列表进行输出,即print_lol(movies)
10 输出结果为:

www.4688.com 7

   

  后日突击太晚了,有点累了,那么就将有关print_lol()函数不断趋于完美的经过的思辨放在明日的博客中,要着力加油,同时晚安好梦。

 

 
刚初始用C++做界面的时候,根本不了解怎么用简陋的MFC控件做出相比赏心悦目的界面,后来就开端逐渐接触到BCG
 Xtreme ToolkitPro
v15.0.1,Skin++,等界面库,以及一些网友自己写的界面库,起首对于C++软件界面美化有了一点点的感受。不敢藏私,希望和部分新手朋友们大饱眼福交换。

 

    一.  开源C++界面库

  www.4688.com 8

1.RingSdk

   
Ringsdk是CSDN上一个长辈自己写的界面库,这多少个界面库很容易实现QQ2009的界面效果。链接见 

  http://blog.csdn.net/ringphone/article/details/2911244 
 貌似Ringsdk和MFC不能举办相互,但是RingSdk其中有成千上万的图形处理的代码都万分有参考价值。

 

2.redui的官方网站http://www.redui.org 已经打不开了。官方QQ群是 40729296 

CSDN地址是 
http://blog.csdn.net/jameshooo/article/details/6677272

这是合法的申明

REDUI,又名REDirectUI,全称是Rendering Engine for
DirectUI,是一款基于XML描述的 DirectUI
渲染引擎,能将“控件”的交互和渲染过程分解成多种独立的元素,包括布局、视觉效果、样式、UI自动化、滤镜、脚本、事件、3D场景、3D模型、通用动画等。通过这么些元素的排列组合,可以展现出各样不同效能的控件,甚至能在XML中直接自定义控件类型。协助2D/3D无缝融合。
• REDUI帮助GDI/GDI+/DirectDraw/D3D等渲染情势,并有支撑OPENGL/ES的希望

 

3.Duilib
那些就相比较大名鼎鼎了,不用多说了呢。包括魅族网盘在内的许多规范集团都在用这些界面库。我用Duilib做了一个袖珍的界面。贴出来献丑一个。

www.4688.com 9

 

4.WGI-1.0.7-Demo-Project-for-windows
。。额。。时间太长,忘记了这多少个代码是怎么样,姑且先忽略它。

 

5.cj60lib 以此玩过Gh0st3.6木马的人都如数家珍,是一款对MFC举办拓展的界面库

6.金山界面库 这多少个就不赘述了,可以直接上金山的论坛找源代码和材料

7.skinTK_V0.20 一款类似于Skin++的开源界面库

8.FreeCL_Skin2.3 一款不错的控件库 扩充了常用的MFC控件 。
 那个是FreeCL_Skin提供的一个功用实例。

www.4688.com 10

 

9.GuiLib1.5 一个老外写的界面库
没有用过,没有调查,就从不发言权。大家自行百度。

 

10.基于3D的界面库 MangoGUI_V0.1.5

 

MangoGUI是猫仔在DXUT基础上修改得来的一个开源GUI系统。

眼下的话基本上继承了DXUT里面大部分的职能和改革了动用办法,让DX学习爱好者更便于去行使GUI系统。

假如你也是一位对GUI有兴趣的同班,很是欢迎您一同来到场到MangoGUI的设计当中来!

笔者博客

http://m9551.blog.sohu.com/

 

11.基于Skia的directui库metalbone

代码托管地址

http://code.google.com/p/metalbone/

法定表达

MetalBone是一个C++
DirectUI库。接口、命名等借鉴Qt,而毫不使用Windows风格。

MetalBone的表征是,使用CSS来定制样式(假如没有CSS的话,则什么也不出示,lol)。近来得以行使Direct2D或GoogleSkia来绘制界面。MetalBone使用的是 WWM协议(基于LGPL)

 

12.SonicUI2011

效能相比较不错的一款皮肤库

作者CSDN地址是 

http://my.csdn.net/akof1314

 

13 基于OpenGl的界面库 beGUI-0.1.3-src

代码托管地址

 http://code.google.com/p/begui/

 

               二 未开源或商业界面库

www.4688.com 11

 

www.4688.com,1.Flash4UI 

 看命名就精晓是将Flash嵌入到UI中。

官方网站是  http://www.flash4ui.com/

效用图片

www.4688.com 12

 

2.bolt 迅雷7界面引擎

迅雷界面引擎,这么些用过迅雷下载和迅雷看看的就有体会了,界面的确是做的不胜的赞。而且流畅,CPU占用和内存各类都很棒。选用了剧本交互的措施,脚本语言选择了Lua.可惜的是迅雷只绽放了接口SDK给个人运用。

法定网址 http://bolt.xunlei.com/

 

3.clayui

百度宏观表达  
clayui是一个应用纯C++编写的界面框架,能够很有益于的移植到各个系统上。现在支持的序列包括Android,windows,wince,Linux。clayui的表征是能兑现各类2D,3D动画,一些WPF,FLEX才能落实的界面效果,通过clayui可以很有益的落实。
clayui的底部渲染协理纯软件渲染,d3d,opengl
es硬件加速渲染,您可以按照我的需求接纳适宜的渲染形式,使你界面的用户体验达到最佳效益

效果

www.4688.com 13

4.DSkinLite

合法网址  http://www.uieasy.cn/dskinlite/

官方Demo

www.4688.com 14

 

5.libuiDK

合法证实:LibUIDK是国际上最佳的正式开发Windows平台下图形用户界面的开发包,也是国内率先款商业的高等界面开发工具。该开发包基于Microsoft的MFC库。使用此开发工具包可随意把美工制作的精美界面用Visual
C++实现,由于LibUIDK采用所见即所得的法门创制产品界面,所以巨大的增高了产品的支付进度,并大大加强图形用户界面(GUI)的亲和力。LibUIDK仍可以够使你的软件轻松拥有当今风靡的换肤效用,以提升产品的竞争力。

官方网站

http://www.iuishop.com/index.asp

实例

www.4688.com 15

 

  1. SiteUi   SkinSE  都有官方网站。就不连续搬砖的行事了。

 

7.(未开源)迪拜勇进UIPower

本条相比牛逼。一款界面库就是大几百万的。首席营业官阙海忠还亲自录了20集的界面库相关的视频

官方网站 http://www.uipower.com/

这是老阙的录像。

www.4688.com 16

 

8.炫彩界面库

炫彩界面库貌似是私人开发的一个界面库,能够用C++.c#易语言等来支付。炫彩库的作者貌似是吉林大庆人呀。

官方网站 http://www.xcgui.com/

9.魔方界面库

官方网站 http://www.muilib.com/

MuiLib(Magic UI
Library)Windows高级界面开发库是在国内首家免费开源的DuiLib界面开发库基础上经过针对性的恢弘而上扬兴起的,他继承了DuiLib中度自由灵活的性状,并收到了其它界面库的部分亮点,针对Windows层窗口按像素透明技术而重要优化后形成的一个两全其美界面开发库,是一个采用纯C++调用Windows
API的开发库,无任何另外第三方依赖框架,您可以运用其提供的各样高级控件来创立更加炫酷的用户界面

 

10 XtremeToolkit

由Codejock
公司出品的一款界面库。应用也是相比较宽泛的。在2013版的大灰狼远程操控中就使用了这款界面库。

 

11.Sharpui

代码托管地址  https://github.com/china520/sharpui

夏普(Sharp)ui是高居现在盛行的DUI思想的一套界面库,可以方便实现半透明和各个界面效果,拔取纯c++实现,分为引擎和控件四个部分,这六个部分选择动态库的款式提供,引擎部分处理了风波、资源、渲染、控制逻辑,同时提供了各个应用范围控件的实现基类,包括:Visual、Element、FrameworkElement、Control、ContentControl、Window、Panel、Popup,这些类包装了基础控件的贯彻细则,所有用户实现的控件都不可以不继续自这些类,对于需要表现的控件必须连续至FrameworkElement。
控件部分提供的享有控件均采取DUI格局实现、分层绘制,实现各类常用的布局控件,可灵活实现界面的机关布局;Sharpui本身持有数据结构接纳原生实现,内存自动管理,不依靠于std的其他容器,使得库的应用越来越独立、编译更加简便易行,使用VS任意一个版本编译都可以用在任何版本里,不需要担心由于std版本原因此爆发编译问题。

 

 

上述都是自己在干活和私家业余时间收集积累的开源或商业界面库,这么些界面库各有各的特点和主导,也有两样的换肤思想,倘若要用在档次中依旧要拓展适度的增删整改。

出于个人能力水平见识有限,也有些大神的著述没有被选定其中。表示遗憾。

 

 

 

/**************************************************Witch_Soya***********************************************************/

/**************************************************2013年9月3日15:55:18***********************************************/

 

http://blog.csdn.net/witch\_soya/article/details/10982451

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website