python是面向对象的语言,在Python中,几乎一切都是对象。
面向对象
所谓对象,是一个非常基本的概念,我们可以把它理解为一种具有属性和行为(函数)的东西。任何一个对象都属于某种类型。
面向对象的编程过程,包括这样五个动作:
- 设计类型
- 组织对象
- 访问对象属性
- 修改对象属性
- 执行对象方法
任何一个事物,都可以用面向对象的语言表达。
我们用一个小程序来举例:
它的窗口,属于窗口类型(对象与类型的关系)。窗口上有三个文本标签,一个文本输入框,和一个按钮,这三者,都是窗口的一部分(对象与对象的关系)。文本标签有显示内容,显示内容是文本标签的属性(对象的属性),而具体的文本,属于字符串类型(实例与类型关系)。按钮按下,会产生一个试猜动作,这是一种行为(对象的行为)。
窗口以及所有的组件(三个文本标签,一个文本输入框,和一个按钮)怎样把它们组织成一个完整的界面,则是组织对象的工作。根据文本输入框里输入的内容进行试猜,这里有一个访问对象属性的动作。根据猜的结果,修改下面两个文本输入框的内容,这是修改对象属性的动作。试猜的过程是用输入的结果与预先随机生成并记录的一个数字相比较,这个行为的设计,就是设计类型的动作(设计对象包括设计对象的属性和行为两部分)。窗口的运行,是执行了窗口对象方法;试猜功能的实现,是执行了试猜对象的方法。
python语言
用python语言做开发,就是用python语言的语法来进行这些对象操作的过程。
python语言有六种不同的语句:
- 导入语句
- 定义类型的语句
- 定义函数的语句(函数是类型的行为)
- 分支判断语句
- 循环语句
- 函数调用语句
最简单的例子
让我们先看一个最简单的GUI程序:
from tkinter import *
root = Tk()
root.mainloop()
一个最简单的GUI程序,只有三句话。当然它的功能非常简单,只是创建并打开一个空白窗口。
我们逐一来看每一条语句,第一句是导入语句:
from tkinter import *
它的功能相当于我们写文章时的“参考资料”,编程比写文章更加严格,每个词,每句话,都得有来源、有依据。开发一个稍微复杂一点的程序,这个参考资料是必不可少的。
第二句是函数调用语句:
root = Tk()
它的功能是执行创建了一个Tk类型(就是主窗口类型)的实例对象,名叫root
第三句仍然是函数调用语句:
root.mainloop()
它的功能是执行了root对象的一个函数(这个函数的功能是显示主窗口)。
小结
本节课讲了面向对象的基本概念和python编程的基本概念,在例子中,我们看到了一个最简单的GUI程序。希望大家熟悉对象和类型、属性与行为的基本概念,并对面向对象编程的五个基本动作和python的六种基本语句建立起概念,我们在后面的学习中会反复用到。
本节作业
1、编程中,每个词的拼法,甚至大小写,都必须有所依据。
本节代码中,Tk是来自tkinter的类型(主窗口),mainloop是Tk类型的方法(函数)。
尝试把Tk改为tk或TK,看看有什么样的提示。尝试修改mainloop这个名字,看看有什么样的提示。
2、对象名root(根窗口)是我们自己取的名字,这个名字可以改。
尝试把root改为其他名字,比如top(顶层窗口),main(主窗口),win(窗口),看看程序是否能运行。
注意,root出现在了两个地方,如果只改一处,或者两处修改的不一致,都是不能正确运行的,看看会有什么样的提示。