python中Tkinter打不开窗口

Python016

python中Tkinter打不开窗口,第1张

如果你安装了tkinter,那么出现这种情况是因为你打错了!!!应该是这样,如图:

在输入完 tk = Tk() 就会出现了     无语~

这位小老弟,我建议你买一本Python的教程书,不要跟网上的乱学!绝大部分不靠谱!

如果你想修改长和宽的话需要把你输入的 c 改成 canvas

你应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix

如何选择版本:北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先进的linux开发人员中用debian的最多,其次是redhat,从全球linux各应用领域市场份额来看无疑redhat是最多的,此外还有很多出名的发行版本,不再列举。

对于初学linux的人来说,我建议是使用redhat,原因如下:

1)现在很多书都是以redhat为例讲的,为了与书本协调一致

2)周围的人都用redhat,交流比较方便

3)redhat应用范围广,有典型性和代表性

4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上而应集中精力学习最有用的东西。

【注】现在觉得RH很死板,AS,ES等用在服务器上或许不错,Personal desktop用mandrake,debian,suse都不错,笔者现在用Mandrake,因为她长得漂亮:)

如果你并不打算深入学习linux,而是有诸如适应北京市政府办公平台迁移到linux上这种需要,那么中软,红旗等中文linux是不错的选择

我强烈建议:自己亲自动手把linux装到你的硬盘上,你必须学会独立安装linux系统的技能,对于现在的版本来说,其实跟装WinXP一样简单

从此现在开始,请不要以windows的工作方式来考虑问题,应该尝试挖掘linux身上的“天才unix”的气质。

三.进阶

掌握至少50个以上的常用命令

理解shell管道"|",文件流重定向">"及追加">>"等

熟悉Gnome/KDE等X-windows桌面环境操作

掌握.tgz.rpm.biz等软件包的常用安装方法

学习添加外设,安装设备驱动程序(比如modem)

熟悉Grub/Lilo引导器及简单的修复操作

熟悉系统固有目录的名称及公用

学会用mount命令访问其他文件系统

了解vi,gcc,gdb等常用编辑器,编译器,调试器

学习linux环境下的简单组网

建议:买一本不需要太厚的linux教材,大致可以满足要求(现在的书越来越多了,还带很多图,我当时可没这么多书)

四.高级应用

澄清一些概念:linux的普通操作与真正的系统管理不能相提并论,后者需要很多知识

1.英语

即使你不学linux,我也强烈建议你学好英文[U.S.english]。因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装。你必须能无障碍的阅读大量的英文技术文档在搜索引擎找到的英文网站和网页中熟练的检索最好能有用英文直接交流的能力,摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距。

2.shell[sed/awk]

shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.bat但shell比.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的c用shell几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上

这也是CS中的一个重要思想。此外,shell可以实现工作自动化,这个概念也比较重要sed,awk用来处理文本,历来很常用。

3.Perl/PHP

漂亮的脚本, CGI的首选,比ASP好,应用面很广

4.C\C++

C、C++是linux/unix的核心语言,系统代码都是C写的

5.ASM

系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要。//走核心路线的话,c\c++,asm最重要

6.Java,Python,Tcl,XML

五、系统管理篇

在熟悉linux的基础上还需要掌握至少一种unix。我首推Solaris,其次是FreeBSD比如运营级系统一般是Solaris+Oracle/DB2之类的学习apache、ssh、sendmail/Qmail、proftp/vsftp、Samba、Squid、MySQL/PostgreSQL/Oracle、Bind等各种应用服务器的构架及电子商务的应用熟悉TCP/IP协议族,学习诸如apache+php+proftp+mysql+quota的实现以及大型局域网,分布式集群等各种企业级应用解决方案熟悉多用户管理,数据库管理,文件系统,逻辑存储管理,日志分析,备份与灾难数据修复系统补丁,内核升级,以及在此基础上的防火墙构架等以保障系统安全在内的各种系统管理技能。

我觉得,如果在此基础上再掌握路由/交换设备便是一个不错的系统管理员

各种基于linux的解决方案可参考相关书籍和文献,必要时用google或各大linux站点站内搜索引擎寻找最新文档,以避免错误和漏洞有几本技术大全和技术内幕我认为都是这方面不错的书

六、深入学习linux

我个人理解的读linux内核需要的基础:在此之前,希望先把应用层的东西学一下,那样会比较好理解

1.C

如果学过潭浩强的大学教科书(除了编几个数学模型好像什么也做不了的那种),建议再看一下《The C Programming Language》Second Edition这本圣经(如果想学缓冲区溢出,这点C的功力可能是不够的,还有<C陷阱与缺陷>,<C专家编程>,<C\C++深层探索>,反正经典书看多了是没有坏处的)

2.asm (AT&T语法,保护模式)

保护模式下的比较复杂,基本上每本讲内核的书都会有介绍有80x86 Intel语法的基础就行,

有兴趣可以看看Intel的官方网站

3.数据结构(离散数学)

计算机专业的核心课程,重要性我就不说了

4.操作系统原理

看懂这个再去读linux吧

5.微机原理/组成原理(数字电路)

底层直接和硬件打交道,所以这个也要

6.了解linux/unix

我想至少你要会操作吧,了解unix的API

7.软件工程/编译原理

这方面的经典书去www.china-pub.com可以搜到很多我觉得APUE这种书不适合初学者,还是先看看UPE

从 Unix 到 Linux 这一段历史

为什么大家常常会说, Linux 是很稳定的一套操作系统呢?这是因为, Linux 他有个老前辈,那就是 Unix 家族啰!有这个前辈的提携,让 Linux 这个小老弟很快的就成为一套稳定而优良的操作系统啦!所以,底下我们来谈一谈 Unix 到 Linux 的这一段历史吧!

早在 Linux 出现之前的二十年 ( 大约在 1970 年代 ), 就有一个相当稳定而成熟的操作系统存在了!那就是 Linux 的老大哥『 Unix 』是也!怎么这么说呢?!他们这两个家伙有什么关系呀?这里就给他说一说啰!众所皆知的, Linux 的核心是由 Linus Torvalds 在 1991 年的时候给他开发出来的,并且丢到网络上提供大家下载,后来大家觉得这个小东西 ( Linux Kernel ) 相当的小而精巧,所以慢慢的就有相当多的朋友投入这个小东西的研究领域里面去了!但是为什么这的小东西这么棒呢?!然而又为什么大家都可以免费的下载这个东西呢?!嗯!等鸟哥慢慢的唬xx....喔不!听我慢慢的道来!

一个没有完成的梦想: Bell, MIT 与 GE 的『 Multics 』系统

早期的计算机并不像现在的个人计算机一般,他可不是一般人碰的到的玩意儿,除非是军事或者是高科技用途才有可能接触到这类的 Computer !而如前面所言,有计算机硬件还需要操作系统的配合才能够发挥计算机的效能,不过,在那个年代,由于计算机算是『奢侈品』,喔~应该说是『贵重物品』,所以,可能一间学校就只有一部大型主机当然,那个年代所谓的大型主机仍然无法提供适度的运算能力的。不过,既然只有一部大型主机,然而有许许多多的教师、学生要想要来使用,怎么办呢?为了解决这个问题,在 1960 年代初期,麻省理工学院 ( MIT ) 发展了所谓的『兼容分时系统 ( Compatible Time-Sharing System, CTSS )』,就字面上的意义来看,他主要让大型主机可以提供多个终端机联机进入主机使用主机的资源, ( 附带一提,当时的终端机 ( Terminal ) 本身并没有软件或者可供使用的资源,这些终端机要能使用,一定必需要联机登入主机之后,才能够使用主机的资源来工作!) 当时可以让约 30 位使用者联机使用主机。而为了让这个分时系统更加的强大,所以,在 1965 年前后由贝尔研究室 ( Bell )、 麻省理工学院 ( MIT ) 及奇异电器公司 ( GE ) 开始来共同开发一个名为 Multics 的大型计画,目标是想让大型主机可以联机 300 位以上的使用者。不过,在奋斗了四年之后,该计画仍然宣告不治...喔!是失败啦!(注: Multics 有复杂、多数的意思。)

一个小型档案系统的产生:1969 年 Ken Thompson 的小型 file server system

在复杂的 Multics 系统的计画失败后,贝尔研究室当然就退出该计画。就在这个计画解散之后,曾经参与 Muitics 的贝尔研究室的成员 Ken Thompson 由于自己工作上的需求,需要一套档案存取的小型操作系统,便在 1969 年的时候以 DEC 公司 ( Digital Equipment Corporation ) 的计算机 PDP-7 为硬件基准,设计了一个适合自己工作环境的小型档案系统,其中也含有他自行开发的一些小工具。那个系统就是最早期的 Unix 的源头!当初 Ken 设计这个档案系统时,主要是为了自己的存取方便所设计的简单 OS ,因此将原有的 Multics 系统大幅度的简化,不过,在当时还并没有 Unix 这个名词的出现!

Unix 的正式诞生:1973 年 Ritchie 等人以 C 语言写出第一个正式 Unix 核心

由于 Thompson 写的那个操作系统实在太好用了,所以在 Bell 研究室内部广为流传,并且数度经过改版。到了 1973 年, Bell 研究室的 Dennis Ritchie 等人为了让这个系统的执行效能更佳化,所以使用编译效能更好的 C 语言将原有的 1969 年的那个系统之核心大幅度的改写过,并且确定该操作系统名称为 Unix,呵呵!那就是最早的 Unix 操作系统啰!不过,由于这个操作系统是由这一群工程师所开发完成的,而且使用者也大多是这方面的工程师,因此造成了后来 Unix 系统接口较难被一般使用者接受的情况 @_@ (注: 相对于 Multics ,Unix 具有单一的意思!)

重要的 Unix 分支: 1977 年 BSD 的诞生

在 Unix 早期的发展中,有一件相当重要的事情,那就是 BSD 的诞生!由于 C 语言是一种高级语言,他可以被应用在不同的硬件架构上面,而 Unix 本身就是 C 语言写成的!在 Unix 发表之后, 柏克莱大学 ( Berkeley ) 的教授对于这个操作系统相当的有兴趣,在经过取得 Unix 的原始码,并且几经修改之后,终于在 1977 年发表了第一代的 Berkeley Software Distribution ( BSD ) 。这个 BSD 是 Unix 的一个分支,他的发展对于 Unix 有相当大的影响,例如后来的 Sun 公司就是使用 BSD 发展的核心进行自己商业的 Unix 版本的发展的!

一个人学了3年java终于能做项目了,拿到了20w的年薪;他有一个弟弟,学了3个月php能做项目了,年薪20w。

有一天,弟弟看到哥哥在认真地写代码,哥哥说:老弟,看我的个人博客,写了2周了,马上就可以用了,等我弄好了也给你弄一个。弟弟:巧了,我刚才花了2分钟弄好了一个,就差配置了;哥哥叹了声气,弟弟心想:以前听别人说php是最好的语言,现在我有点觉得有点道理。看起来两种语言的付出与收获不一样,额,怎么说,语言特性不同,php适用于web,而Java可在许多方面大展身手。

Php以快速、便捷著名,在工作中的某些时候,php可能为自己免去了很多麻烦、节省了很多时间的时候想要夸奖一下她。试问所有的程序员:怎么夸奖呢?

会说:哇,你好帅,你真漂亮吗?不会,不同的程序员会说:“java真好”、“c语言真厉害”、“python真优雅”、“php真方便”……

喜爱程度直接加深到最高,怎么表达呢?大家都会这么说:“java是最好的语言”、“c是最好的语言”、“php是最好的语言”……

可为什么只有“php是最好的语言”受到了大家的注意、成为了别人的笑柄呢?答案只有一个:因为说的人太多了~

这又体现出一种程序员幸福度,下面这张图展示了程序员爆粗口的频繁度:

Php程序员因为表达对php的喜爱而被程序员阵营看做是“异类二货”,变成这样就像是国家带领人民发展,人民有钱了到国外旅游见到国际友人说:“我们国家领导真不错,生活越来越好了”,本以为国际友人会为自己感到高兴,结果他们说:“傻逼,二货,井底之蛙,以为自己多牛x ……”

如果你是phper,要注意别再向陌生人说“php是世界上最好的语言了”,见到嘲讽的主题帖也不用进去反驳,别因少数人的言论影响自己应有的‘幸福感’,抱着娱乐的心态也可以进去逛逛,因为有些人的论点真的会让你想要放声大笑。

Php为什么方便:

搭建博客论坛只需2分钟?

变量不用定义就能直接用?

变量类型自动转换?

各大云服务厂商都支持?

全球大小公司都在用?

挣钱==方便~

彩蛋:突然发现支持中文编程